headdecision.h

来自「IRAN mesard_2d 2005源代码」· C头文件 代码 · 共 98 行

H
98
字号
/* *  Copyright 2002-2005, Mersad Team, Allameh Helli High School (NODET). * *  This program is free software, you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *  GNU Library General Public License for more details. * *  This file is created by: Ahmad Boorghany * *  Released on Monday 1 August 2005, 10 Mordad 1384 by Mersad RoboCup Team. *  For more information please read README file.*/#ifndef __HEAD_DECISION_H#define __HEAD_DECISION_H#include <WorldModel.h>#define TURN_NECK_RESOLUTION 5enum TurnNeckMode {	TNM_NONE = 0,	TNM_AUTO_PLAY_ON = 1,	TNM_LOOK_NORMALLY = 2,	TNM_LOOK_CAREFULLY = 3,	TNM_LOOK_NORMALLY_TO_BALL = 4,	TNM_LOOK_CAREFULLY_TO_BALL = 5,	TNM_LOOK_CAREFULLY_TO_OPP_GOALIE = 6};struct HeadDecisionForm{	TurnNeckMode tnMode;	void reset();};class Command;class AdvancedAgent;class HeadDecision{protected:	float viewPartWeights[VIEW_PARTS_NUM];	unsigned viewPartObjectsNums[VIEW_PARTS_NUM];	Body nextBody;	Ball nextBall;	Command *turnNeckCommand;	Command *changeViewCommand;	// Weighting rates	float haveBallRate;	float havePlayerRate;	float objectsNumRate;	// Giving vars	const AdvancedAgent *owner;	const WorldModel *worldModel;	void decideForLookCarefullyToBall();	void decideForLookCarefullyToOppGoalie(TurnNeckMode &tnMode);	void decideForTurnNeckCommand(float nextViewAngle);	void decideForLookNormallyToBall(float nextViewAngle, TurnNeckMode &tnMode);	void logVariables();	void updateViewPartObjectsNum();	void setWeightsForLookNormally();	void setWeightsForLookCarefully();	float getViewPartWeight(unsigned viewPartNum);public:	HeadDecision(const AdvancedAgent *owner);	~HeadDecision();	void resetInfo();	void decide(const Command *bodyCycleCommand,			const HeadDecisionForm &headForm);	void updateAfterSee();	void updateAfterSenseBody();	Command *getTurnNeckCommand();	Command *getChangeViewCommand();};#endif // __HEAD_DECISION_H

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?