swh:1:snp:0b6b327d179ef61b5b0cd24239e711840027f756
Tip revision: ed82e2ebe5f14fa875cc3d0a2180c64980408e8f authored by Glen on 19 October 2016, 17:49:36 UTC
Update README.md
Update README.md
Tip revision: ed82e2e
Character.h
#pragma once
#include "KinTree.h"
class cCharacter
{
public:
virtual ~cCharacter();
virtual bool Init(const std::string& char_file);
virtual void Clear();
virtual void Update(double time_step);
virtual void Reset();
virtual int GetNumDof() const;
virtual const Eigen::MatrixXd& GetJointMat() const;
virtual int GetNumJoints() const;
virtual void BuildPose(Eigen::VectorXd& out_pose) const;
virtual void SetPose(const Eigen::VectorXd& pose);
virtual void BuildVel(Eigen::VectorXd& out_state) const;
virtual void SetVel(const Eigen::VectorXd& vel);
virtual void SetPose0(const Eigen::VectorXd& pose);
virtual void SetVel0(const Eigen::VectorXd& vel);
virtual tVector GetRootPos() const;
virtual void GetRootRotation(tVector& out_axis, double& out_theta) const;
virtual int GetRootID() const;
virtual int GetParamOffset(int joint_id) const;
virtual int GetParamSize(int joint_id) const;
virtual tVector CalcJointPos(int joint_id) const;
virtual tVector CalcJointVel(int joint_id) const;
virtual void CalcJointWorldRotation(int joint_id, tVector& out_axis, double& out_theta) const;
virtual void CalcJointRotation(int joint_id, tVector& out_axis, double& out_theta) const;
virtual double CalcJointChainLength(int joint_id);
virtual tMatrix BuildJointWorldTrans(int joint_id) const;
virtual void CalcAABB(tVector& out_min, tVector& out_max) const;
virtual void BuildPose0(Eigen::VectorXd& out_pose) const;
virtual void BuildVel0(Eigen::VectorXd& out_vel) const;
virtual bool WriteState(const std::string& file) const;
virtual bool WriteState(const std::string& file, const tVector& root_offset) const;
virtual bool ReadState(const std::string& file);
protected:
Eigen::MatrixXd mJointMat;
Eigen::VectorXd mPose;
Eigen::VectorXd mVel;
Eigen::VectorXd mPose0;
Eigen::VectorXd mVel0;
cCharacter();
virtual bool LoadSkeleton(const Json::Value& root);
virtual void InitDefaultState();
virtual void RecordDefaultState();
virtual void ResetParams();
virtual bool ParseState(const Json::Value& root, Eigen::VectorXd& out_state) const;
virtual std::string BuildStateJson(const Eigen::VectorXd& pose, const Eigen::VectorXd& vel) const;
};