15 #include <matrix/vlVector.h>
22 class DtAgentManagerInterface;
23 class DtArticulatedModelAgent;
24 class DtDeadReckonUpdaterAgent;
25 class DtGroundClampingUpdaterAgent;
26 class DtWaterClampingUpdaterAgent;
27 class DtWakeModelAgent;
28 class DtWakeUpdaterAgent;
29 class DtTidalStreamWakeModelAgent;
30 class DtTidalStreamWakeUpdaterAgent;
31 class DtSurfaceClampingUpdaterAgent;
32 class DtSceneObjectAgent;
33 class DtSharedSettingsManager;
46 bool distribute =
false );
52 bool distribute =
false );
63 virtual void setUpdateTypes(
bool deadReckon=
true,
bool groundClamp=
true);
66 virtual void setVisible(
bool visible);
69 virtual bool visible()
const;
75 virtual int modelSet()
const;
78 DtSceneObjectAgent& sceneObjectAgent();
89 virtual void setPosition(
const DtVector& position);
101 virtual void setVelocity(
const DtVector32& velocity);
107 virtual DtVector32 velocity()
const;
110 virtual void setAcceleration(
const DtVector32& acceleration);
116 virtual DtVector32 acceleration()
const;
119 virtual void setOrientation(
const DtTaitBryan& orientation);
122 virtual DtTaitBryan orientation()
const;
125 virtual void setAngularVelocity(
const DtVector32& angularVelocity);
128 virtual DtVector32 angularVelocity()
const;
139 virtual void setDeadReckoningEnabled(
bool position,
bool velocity,
143 virtual void setSmoothingEnabled(
bool enabled);
146 virtual void setSmoothingPeriod(
float period);
150 virtual void setGroundClampingMode(
154 virtual void setWaterClamping(
bool isWaterClamping);
157 virtual void setWaterClampingLod(
double lodRange);
161 virtual void setWaterlineOriginOffset(
float offset );
164 virtual void addWake();
166 virtual void setWakeLODDistance(
double distance );
169 virtual DtWakeModelAgent* wake();
173 virtual void addTidalStreamWake();
177 virtual void addTidalStreamWake(
double wakeLength,
178 double draft,
double maxWaveAmplitude);
182 virtual void addTidalStreamWake(
const std::string& modelDefinitionName );
185 virtual void removeTidalStreamWake();
189 virtual void setTidalStreamWakeLod(
double distance );
195 virtual void setTidalStreamWakeCurrent(
double speed,
205 virtual void setArticulatedModelDefinition(
const std::string& modelName);
208 virtual const std::string& articulatedModelDefinition()
const;
211 virtual void setModelScalingEnabled(
bool enabled);
214 virtual void setPartOrientation(
int partNumber,
215 const DtTaitBryan& orientation,
const DtVector& angularVelocity);
218 virtual void setPartTranslation(
int partNumber,
222 virtual void setPartVisibility(
int partNumber,
bool onOff);
225 virtual void setSwitchState(
int switchToSet,
int value );
228 virtual DtArticulatedModelAgent* articulatedModelAgent();
238 virtual void slot_globalBuoyancyChanged(
bool enabled );
243 virtual void slot_buoyancyDefaultLODDistanceChanged(
double distance );
245 virtual void createWaterClampingUpdater();
246 virtual void destroyWaterClampingUpdater();