📄 strategy.h
字号:
/******************************************************************************\
*
* File: Strategy.h
* Creation date: June 23, 2008 10:30
* Latest update: July 09, 2008 16:39
* Author: ClassBuilder
* XXXX
* Purpose: Declaration of class 'Strategy'
* CB version: ClassBuilder Version 2.9 (PR523)
*
* Modifications: @INSERT_MODIFICATIONS(* )
* July 09, 2008 16:35 Chijinliang
* Deleted method 'GetMaxLeftAngle'
* Deleted method 'GetMaxRightAngle'
* Deleted method 'OnTargetDetected'
* Deleted method 'OnTargetNotDetected'
* Deleted member 'm_targetColor'
* Deleted member 'm_trackColor'
* Deleted method 'Strategy'
* Added member 'm_maxColor'
* Added member 'm_minColor'
* Updated interface of method 'Strategy'
* Updated member 'm_steeringAngle'
* Updated member 'm_maxRightAngle'
* Updated member 'm_maxLeftAngle'
* Updated member 'm_previousColor'
* July 08, 2008 10:25 Chijinliang
* Added method 'Strategy'
* July 05, 2008 20:28 Chijinliang
* Deleted method 'JudgeYY'
* July 05, 2008 14:29 Chijinliang
* Deleted method 'Add'
* Deleted method 'InsertAfter'
* Deleted method 'InsertBefore'
* Deleted member 'm_next'
* Deleted member 'm_previous'
* Deleted member 'm_priority'
* Deleted member 'm_activeTrackType'
* Deleted member 'm_targetSpeed'
* Deleted member 'm_targetSteeringAngle'
* Added method 'GetMarkerDetected'
* Added method 'GetFinished'
* Added method 'Judge'
* Added member 'm_command'
* Added member 'm_finished'
* Added member 'm_markerDetected'
* Updated interface of method 'SetTrackColor'
* Updated interface of method 'SetTargetColor'
* Updated interface of method 'SetPreviousColor'
* Updated interface of method 'JudgeYY'
* Updated interface of method 'Strategy'
* Updated member 'm_currentColor'
* Updated member 'm_trackColor'
* Updated member 'm_targetColor'
* Updated member 'm_previousColor'
* Updated return type of method 'JudgeX'
* June 23, 2008 10:30 Chijinliang
* Added method 'DestructorInclude'
* Added method 'ConstructorInclude'
* Added method 'SetTrackType'
* Added method 'GetTrackType'
* Added method 'SetTrackColor'
* Added method 'GetTrackColor'
* Added method 'SetTargetSteeringAngle'
* Added method 'GetTargetSteeringAngle'
* Added method 'SetTargetSpeed'
* Added method 'GetTargetSpeed'
* Added method 'SetTargetColor'
* Added method 'GetTargetColor'
* Added method 'GetSteeringAngle'
* Added method 'SetPriority'
* Added method 'GetPriority'
* Added method 'SetPreviousColor'
* Added method 'GetPreviousColor'
* Added method 'GetPrevious'
* Added method 'GetNext'
* Added method 'GetMaxRightAngle'
* Added method 'GetMaxLeftAngle'
* Added method 'GetCurrentColor'
* Added method 'OnTargetNotDetected'
* Added method 'OnTargetDetected'
* Added method 'Judge'
* Added method 'InsertBefore'
* Added method 'InsertAfter'
* Added method 'Add'
* Added method '~Strategy'
* Added method 'Strategy'
* Added member 'm_activeTrackType'
* Added member 'm_steeringAngle'
* Added member 'm_currentColor'
* Added member 'm_trackColor'
* Added member 'm_maxRightAngle'
* Added member 'm_maxLeftAngle'
* Added member 'm_targetColor'
* Added member 'm_previousColor'
* Added member 'm_trackType'
* Added member 'm_targetSpeed'
* Added member 'm_targetSteeringAngle'
* Added member 'm_previous'
* Added member 'm_next'
* Added member 'm_priority'
* Updated return type of method 'Judge'
* Updated return type of method 'OnTargetNotDetected'
* Updated return type of method 'OnTargetDetected'
* Updated return type of method 'OnTargetNotDetected'
*
* Copyright 2008, XXXXX
* All rights are reserved. Reproduction in whole or part is prohibited
* without the written consent of the copyright owner.
*
\******************************************************************************/
#ifndef _STRATEGY_H
#define _STRATEGY_H
/* LSB=0.0005deg */
#define TrackAbsSteeringAngle 10000
/*
憱峴嶔棯儀乕僗僋儔僗
*/
class Strategy
{
private:
void ConstructorInclude();
void DestructorInclude();
protected:
TrackType m_trackType;
unsigned int m_previousColor;
int m_maxLeftAngle;
int m_maxRightAngle;
int m_steeringAngle;
bool m_markerDetected;
bool m_finished;
Command m_command;
unsigned int m_minColor;
unsigned int m_maxColor;
int m_maxCount;
int m_minCount;
public:
Strategy(TrackType trackType, unsigned int minColor, unsigned int maxColor);
virtual ~Strategy();
virtual const Command* Judge(unsigned int color, int steeringAngle);
bool GetFinished() const;
bool GetMarkerDetected() const;
TrackType GetTrackType() const;
void SetTrackType(TrackType trackType);
};
#endif // ndef _STRATEGY_H
#ifdef CB_INLINES
#ifndef _STRATEGY_H_INLINES
#define _STRATEGY_H_INLINES
/*
Returns the value of member 'm_finished'.
*/
inline bool Strategy::GetFinished() const
{
return m_finished;
}
/*
Returns the value of member 'm_markerDetected'.
*/
inline bool Strategy::GetMarkerDetected() const
{
return m_markerDetected;
}
/*
Returns the value of member 'm_trackType'.
*/
inline TrackType Strategy::GetTrackType() const
{
return m_trackType;
}
/*
Set the value of member 'm_trackType' to 'trackType'.
*/
inline void Strategy::SetTrackType(TrackType trackType)
{
m_trackType = trackType;
}
#endif // ndef _STRATEGY_H_INLINES
#endif // def CB_INLINES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -