14 #include <osg/ref_ptr>
15 #include <osg/Geometry>
17 #include <matrix/topoCoord.h>
22 class diguyCharacterGuide;
31 class DtParticleSystemModelAgent;
32 class DtSceneObjectAgent;
33 class DtDiGuyScenario;
56 virtual void setModelDefinition(
const std::string& modelDefinition);
59 virtual void addToScene(
const DtUniqueID& sceneObjectId,
int modelSet,
63 virtual void removeFromScene();
66 virtual void setPosition(
int vtx,
const DtVector& position );
69 virtual void setOrientation(
int vtx,
const DtTaitBryan& orientation );
73 virtual std::string className()
const;
78 virtual void setCharacterModel(
const std::string& characterType);
83 virtual void setEnableAnimationSmoothing(
bool);
86 virtual bool enableAnimationSmoothing()
const;
90 virtual void setDefaultAppearance(
const std::string& appearanceName);
91 virtual void setAppearance(
const std::string& appearanceName);
92 virtual void setHeadAppearance(
const std::string& appearanceName);
93 virtual void setItemAppearance(
const std::string& appearanceName);
96 virtual void setFlamesPresent(
bool val);
97 virtual void setEnginePlume(
bool val);
98 virtual void setEngineSmoke(
bool val);
99 virtual void setTrailState(
bool val);
101 virtual void beginAppearanceEffect(
const std::string& effect,
const std::string& overrideLink,
102 float overrideScale,
const DtVector& overrideOffset,
float overrideDuration );
103 virtual void endAppearanceEffect(
int instant,
const std::string& effect,
const std::string& overrideLink);
105 virtual void executeGesture(
const std::string& gestureName,
int reps,
106 float overallDuration,
float channelAWeight);
107 virtual void endGesture(
const std::string& gestureName,
float rampDown);
110 virtual void setDesiredAction(
const std::string& action,
float speed);
113 virtual void forceAction(
const std::string& action,
float speed,
int autoChooseTransitionBehavior);
116 virtual void forceTemporaryAction(
const std::string& action,
double duration);
119 virtual void setSpeed(
float speed);
122 virtual bool weaponDeployed()
const;
125 virtual void setWeaponDeployed(
bool deployed);
129 void setFullUpdateNeeded(
bool updated);
132 bool fullUpdateNeeded()
const;
136 virtual void die(
const std::string& deathAction);
139 virtual void revive(
const std::string& aliveAction);
142 virtual void setPaused(
bool paused);
148 diguyCharacter* character();
151 virtual void setPosture(
int posture);
156 bool autoGenerateActions()
const;
161 bool autoGenerateActionSpeed()
const;
165 virtual void setModelScalingEnabled(
bool b );
167 virtual void setIsSupportModel(
bool isSupport);
172 virtual void setEmbarked(
bool embarkedState );
173 virtual bool embarked()
const;
175 virtual void setScale(
const DtVector & scale);
176 virtual void setPartOrientation(
int partNumber,
177 const DtTaitBryan& orientation,
const DtVector& rotationalVelocity);
180 void setGuide(diguyCharacterGuide * guide){myGuide = guide;}
184 void setUpTopoConversion(
const DtVector& location );
185 void topoOrientationFor(
186 const DtVector& location,
const DtVector & velocity,
const DtTaitBryan& orientation,
187 DtVector &outVelocity, DtTaitBryan & outOrientation );
195 virtual void setSceneObjectIdOnCollisionBoxes();
243 #ifdef VISUALIZE_DIGUY_VELOCITY
244 osg::ref_ptr<osg::Geometry> myDesiredPositionLine;
245 osg::ref_ptr<osg::Geometry> myDesiredVelocityLine;
246 osg::ref_ptr<osg::Geometry> myVelocityLine;
247 osg::ref_ptr<osg::Geometry> myCordSys;
248 osg::ref_ptr<osg::Geometry> myCurrentDesiredPositionLine;
249 osg::ref_ptr<osg::Geode> myVizualizers;
250 osg::ref_ptr<osg::MatrixTransform> myVizualizersTransform;