52 virtual void addAnimationChange(
int row,
int change,
const DtVector& vector,
const DtTaitBryan& orientation,
double timeDelta);
54 virtual DtlObjPtr getData(DtlObjPtr args,
const DtFilename& searchPath,
61 const DtString& rwName = DtString::nullString(),
66 const DtString& rwName = DtString::nullString(),
77 virtual void setTimeScale(
double d);
78 virtual double timeScale()
const;
84 virtual void setReferencePoint(
const DtVector&);
85 virtual DtVector referencePoint()
const;
91 virtual void setReferenceOrientation(
const DtTaitBryan&);
92 virtual DtTaitBryan referenceOrientation()
const;
99 virtual void setReferenceObject(
const DtString&);
100 virtual const DtString& referenceObject()
const;
106 virtual void setMoveOutHeading(
double);
107 virtual double moveOutHeading()
const;
112 virtual void setScriptedMovementFile(
const DtString&);
113 virtual const DtString& scriptedMovementFile()
const;
122 virtual void setClampType(
int);
123 virtual int clampType()
const;
133 virtual void setCompletionRule(
int);
134 virtual int completionRule()
const;
140 virtual void setFileConfiguration(
const DtString&);
141 virtual const DtString& fileConfiguration()
const;
146 virtual double calculateOrientation(
int frame,
double dt, DtTaitBryan&,
DtVector& rotationalVelocity)
const;
149 virtual DtVector calculateLocation(
int frame)
const;
153 virtual void calculateSpeed(
int frame,
double dt,
DtVector& velocity,
DtVector& acceleration)
const;
156 virtual DtVector targetPosition()
const;
159 virtual DtVector localReferencePosition()
const;
162 virtual DtTaitBryan targetOrientation()
const;
168 virtual DtVector bodyOffsetVector(
int frame)
const;
171 virtual DtTaitBryan orientationOffset(
int frame)
const;
175 virtual DtVector groundClampHighFidelity(
const DtVector& location,
double heading, DtTaitBryan& newLocalOrienationTb)
const;
178 virtual DtVector velocityForFrame(
int frame,
double dt)
const;
181 virtual DtVector calculateRotationalVelocity(
int frame,
double dt)
const;
184 virtual DtVector calculateRotationalVelocity(
const DtTaitBryan& currentFrame,
int frame,
double dt)
const;
190 virtual DtTaitBryan orientationForFrame(
int frame,
double& heading)
const;
193 virtual bool canBeAnimated()
const;
197 virtual int animationRow(
double,
int frameHint = 0)
const;
200 virtual int animationRows()
const;
203 virtual double deltaTimeForFrame(
int frame)
const;
206 virtual void resetAnimationVariables();
209 virtual void reset();
212 virtual void setupForAnimation();
215 virtual double simulationTime(
int)
const;
218 virtual void setFrameTime(
double);
222 virtual double frameTime()
const;
225 virtual void setAnimationFrame(
int);
226 virtual int animationFrame()
const;
229 virtual void setNeedsSetup(
bool);
230 virtual bool needsSetup()
const;
234 virtual bool simulate(
double simulateFor,
DtVector& newLocation, DtTaitBryan& newOrientation,
238 virtual void setElapsedAnimationTime(
double);
239 virtual double elapsedAnimationTime()
const;
243 virtual void setTransitionSpeed(
double);
244 virtual double transitionSpeed()
const;
251 virtual int setObjectOffsetLocation(
int row,
const DtVector&);
255 virtual int setObjectOffsetOrientation(
int row,
const DtTaitBryan&);
258 virtual void setTimeDeltaFromPreviousRow(
int forRow,
double timeDelta);
264 virtual int addAnimationRow(
double deltaTime,
double lateral,
double range,
double altitude,
265 double headingOffset = 0,
double pitchOffset = 0,
double rollOffset = 0);
268 virtual void removeRow(
int);
277 virtual int frameToTravelSpeed(
int base,
double speed)
const;
280 virtual double dT()
const;
283 virtual double lastSimulationTime()
const;
286 virtual bool isFinished()
const;
291 static void objectAboutToBeRemovedCallback(
DtVrfObject*
object,
void* usr);
292 virtual void processObjectAboutToBeRemoved(
DtVrfObject*);
294 static void objectAddedCallback(
DtVrfObject*
object,
void* usr);
295 virtual void processObjectAddedCallback(
DtVrfObject*);
298 virtual void putSelf(FILE *fp,
int indentLevel,
bool writeUnspecified,
299 const DtFilename& path);
302 virtual void getSelf(DtlObjPtr args,
const DtFilename& searchPath,
306 virtual void initializeReferenceObject();
309 virtual int nextFrameToMaintainSpeed(
int frame,
double speed)
const;
312 virtual void deadReckon(
double overTime,
DtVector& newWorldLocation, DtTaitBryan& newLocalOrientation,
DtVector& newVelocity)
const;
339 vector(orig.vector), orientation(orig.orientation), timeDelta(orig.timeDelta) {};