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(
float lodRange);
161 virtual void setWaterlineOriginOffset(
float offset );
164 virtual void addWake();
167 virtual DtWakeModelAgent* wake();
171 virtual void addTidalStreamWake();
175 virtual void addTidalStreamWake(
double wakeLength,
176 double draft,
double maxWaveAmplitude);
180 virtual void addTidalStreamWake(
const std::string& modelDefinitionName );
183 virtual void removeTidalStreamWake();
187 virtual void setTidalStreamWakeLod(
double distance );
193 virtual void setTidalStreamWakeCurrent(
double speed,
203 virtual void setArticulatedModelDefinition(
const std::string& modelName);
206 virtual const std::string& articulatedModelDefinition()
const;
209 virtual void setModelScalingEnabled(
bool enabled);
212 virtual void setPartOrientation(
int partNumber,
213 const DtTaitBryan& orientation,
const DtVector& angularVelocity);
216 virtual void setPartTranslation(
int partNumber,
220 virtual void setPartVisibility(
int partNumber,
bool onOff);
223 virtual void setSwitchState(
int switchToSet,
int value );
226 virtual DtArticulatedModelAgent* articulatedModelAgent();
236 void slot_globalBuoyancyChanged(
bool enabled );
238 void createWaterClampingUpdater();
239 void destroyWaterClampingUpdater();