14 #include <osg/ref_ptr>
15 #include <osg/Geometry>
17 #include <matrix/topoCoord.h>
22 class diguyCharacterGuide;
52 virtual void setModelDefinition(
const std::string& modelDefinition);
55 virtual void addToScene(
const DtUniqueID& sceneObjectId,
int modelSet,
59 virtual void removeFromScene();
62 virtual void setPosition(
int vtx,
const DtVector& position );
65 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
69 virtual std::string className()
const;
74 virtual void setCharacterModel(
const std::string& characterType);
79 virtual void setEnableAnimationSmoothing(
bool);
82 virtual bool enableAnimationSmoothing()
const;
86 virtual void setDefaultAppearance(
const std::string& appearanceName);
87 virtual void setAppearance(
const std::string& appearanceName);
88 virtual void setHeadAppearance(
const std::string& appearanceName);
89 virtual void setItemAppearance(
const std::string& appearanceName);
94 virtual void setDesiredAction(
const std::string& action,
float speed);
97 virtual void forceAction(
const std::string& action,
float speed,
int autoChooseTransitionBehavior);
100 virtual void forceTemporaryAction(
const std::string& action,
double duration);
103 virtual void setSpeed(
float speed);
106 virtual bool weaponDeployed()
const;
109 virtual void setWeaponDeployed(
bool deployed);
113 void setFullUpdateNeeded(
bool updated);
116 bool fullUpdateNeeded()
const;
120 virtual void die(
const std::string& deathAction);
123 virtual void revive(
const std::string& aliveAction);
126 virtual void setPaused(
bool paused);
132 diguyCharacter* character();
135 virtual void setPosture(
int posture);
140 bool autoGenerateActions()
const;
145 bool autoGenerateActionSpeed()
const;
149 virtual void setModelScalingEnabled(
bool b );
151 virtual void setSolid(
bool b);
156 virtual void setEmbarked(
bool embarkedState );
157 virtual bool embarked()
const;
159 virtual void setScale(
const DtVector & scale);
160 virtual void setPartOrientation(
int partNumber,
161 const DtTaitBryan& orientation,
const DtVector& rotationalVelocity);
164 void setGuide(diguyCharacterGuide * guide){myGuide = guide;}
168 void setUpTopoConversion(
const DtVector& location );
169 void topoOrientationFor(
170 const DtVector& location,
const DtVector & velocity,
const DtTaitBryan& orientation,
171 DtVector &outVelocity, DtTaitBryan & outOrientation );
177 virtual void setSceneObjectIdOnCollisionBoxes();
219 #ifdef VISUALIZE_DIGUY_VELOCITY
220 osg::ref_ptr<osg::Geometry> myDesiredPositionLine;
221 osg::ref_ptr<osg::Geometry> myDesiredVelocityLine;
222 osg::ref_ptr<osg::Geometry> myVelocityLine;
223 osg::ref_ptr<osg::Geometry> myCordSys;
224 osg::ref_ptr<osg::Geometry> myCurrentDesiredPositionLine;
225 osg::ref_ptr<osg::Geode> myVizualizers;
226 osg::ref_ptr<osg::MatrixTransform> myVizualizersTransform;