https://github.com/xbpeng/DeepTerrainRL
Raw File
Tip revision: ed82e2ebe5f14fa875cc3d0a2180c64980408e8f authored by Glen on 19 October 2016, 17:49:36 UTC
Update README.md
Tip revision: ed82e2e
CharController.h
#pragma once

#include "Controller.h"
#include "anim/Motion.h"

class cCharController : public cController
{
public:
	virtual ~cCharController();

	virtual void Reset();
	virtual void Update(double time_step);
	virtual int GetState() const;
	virtual double GetPhase() const;
	virtual void SetPhase(double phase);
	virtual int GetNumStates() const;
	virtual double CalcNormPhase() const;

	virtual void TransitionState(int state);
	virtual void TransitionState(int state, double phase);
	virtual bool IsNewCycle() const;

	virtual void CommandAction(int action_id);
	virtual void CommandRandAction();
	virtual int GetDefaultAction() const;
	virtual void SetDefaultAction(int action_id);
	virtual int GetNumActions() const;
	virtual int GetCurrActionID() const;

	virtual void EnableExp(bool enable);
	virtual void SetExpRate(double rate);
	virtual void SetExpTemp(double temp);
	virtual void SetExpBaseActionRate(double rate);
	virtual bool EnabledExplore() const;
	virtual double GetExpRate() const;
	virtual double GetExpTemp() const;
	virtual double GetExpBaseActionRate() const;

	virtual double GetViewDist() const;
	virtual void SetViewDist(double dist);

	virtual void BuildNormPose(Eigen::VectorXd& pose) const;

	virtual void BuildFromMotion(int ctrl_params_idx, const cMotion& motion);
	virtual void BuildCtrlOptParams(int ctrl_params_idx, Eigen::VectorXd& out_params) const;
	virtual void SetCtrlOptParams(int ctrl_params_idx, const Eigen::VectorXd& params);
	virtual void BuildActionOptParams(int action_id, Eigen::VectorXd& out_params) const;

	virtual int GetNumGroundSamples() const;
	virtual tVector GetGroundSample(int s) const;
	virtual tVector GetGroundSampleOrigin() const;

protected:
	int mState;
	double mPhase;

	bool mEnableExp;
	double mExpRate;
	double mExpTemp;
	double mExpBaseActionRate;

	double mViewDist;

	cCharController();

#if defined(ENABLE_DEBUG_VISUALIZATION)
public:
	virtual void GetVisCharacterFeatures(Eigen::VectorXd& out_features) const;
	virtual void GetVisTerrainFeatures(Eigen::VectorXd& out_features) const;
	virtual void GetVisActionFeatures(Eigen::VectorXd& out_features) const;
	virtual void GetVisActionValues(Eigen::VectorXd& out_vals) const;
#endif
};
back to top