18 class DtPatchIdentifier;
54 virtual void tick()
override;
62 virtual const int vrfMovingObjectStateRepositorySubType()
const;
69 virtual bool canPivot()
const;
70 virtual void setCanPivot(
const bool canPivot );
72 virtual DtReal maxPivotSpeed()
const;
73 virtual void setMaxPivotSpeed( DtReal maxPivotSpeed );
78 virtual void setRightSupport(
const DtVector& vec );
82 virtual void setLeftSupport(
const DtVector& vec );
86 virtual void setOtherSupport(
const DtVector& vec );
88 virtual DtReal maxSpeed()
const;
89 virtual void setMaxSpeed(
const DtReal speed );
91 virtual DtReal maxReverseSpeed()
const;
92 virtual void setMaxReverseSpeed(
const DtReal speed );
94 virtual DtReal turningRadius()
const;
95 virtual void setTurningRadius(
const DtReal turningRadius );
97 virtual DtReal maxSlope()
const;
98 virtual void setMaxSlope(
const DtReal slope );
104 virtual DtReal orderedSpeed()
const;
105 virtual void setOrderedSpeed(
const DtReal speed);
109 virtual DtReal orderedSpeedConstrained()
const;
112 virtual void setOrderedHeading(
const DtReal heading);
113 virtual DtReal orderedHeading()
const;
118 virtual DtReal maneuverAggressiveness()
const;
119 virtual void setManeuverAggressiveness(
const DtReal fraction);
132 virtual void setCurrentPitch(
double );
136 virtual DtReal orderedAltitude()
const;
137 virtual void setOrderedAltitude(
const DtReal orderedAltitude );
138 virtual bool orderedAltitudeSpecified()
const;
139 virtual void setOrderedAltitudeSpecified(
bool );
140 virtual bool useOrderedAltitudeForRoutes()
const;
141 virtual void setUseOrderedAltitureForRoutes(
bool c );
143 virtual DtReal maxAcceleration()
const;
144 virtual void setMaxAcceleration(
const DtReal maxAcceleration );
146 virtual DtReal maxStoppingDeceleration()
const;
147 virtual void setMaxStoppingDeceleration(
const DtReal maxStoppingDeceleration );
151 virtual DtReal maxLateralAcceleration()
const;
152 virtual void setMaxLateralAcceleration(
const DtReal maxLateralAcceleration );
154 virtual DtReal fuelEfficiency()
const;
155 virtual void setFuelEfficiency(
const DtReal fuelEfficiency );
158 virtual DtReal inverseStoppingDeceleration()
const;
162 virtual bool haveSupplies()
const;
163 virtual void setHaveSupplies(
const bool doHave );
169 virtual double nextSupplyCheckTime()
const;
170 virtual void setNextSupplyCheckTime(
const double time );
173 virtual bool forward()
const;
174 virtual void setForward(
const bool forward );
177 virtual bool amClampedToGround()
const;
178 virtual void setAmClampedToGround(
const bool clamp );
186 virtual bool usingRailMovement()
const;
187 virtual void setUsingRailMovement(
const bool rails);
196 virtual void clampToGround(
const DtVector& location,
const DtReal heading,
197 bool* dataAvailable = 0,
bool requireAllData =
false );
209 virtual void clampToGround(
const DtVector& location,
const DtReal heading,
210 bool gravityAligned,
bool* dataAvailable = 0,
bool requireAllData =
false );
227 virtual void place(
const DtVector& location,
bool* dataAvailable = 0,
228 bool requireAllData =
false );
239 virtual void place(
const DtReal heading,
bool* dataAvailable = 0,
240 bool requireAllData =
false );
254 virtual void place(
const DtVector& location,
const DtReal heading,
255 bool clampToGroundFlag =
true,
bool* dataAvailable = 0,
256 bool requireAllData =
false );
259 virtual void placeAtAltitude(
const DtVector& location,
const DtReal heading );
262 bool hasHumanComponent()
const;
274 virtual void setDiguyCharacter(
const DtString& animation );
275 virtual DtString diguyCharacter()
const;
280 virtual void setDiguyAnimation(
const DtString& animation );
281 virtual DtString diguyAnimation()
const;
286 virtual void setDiguyUsingAnimationOffset(
bool usingOffset );
287 virtual bool diguyUsingAnimationOffset()
const;
296 virtual DtVector diguyAnimationOffset()
const;
303 virtual void setDiguyTransitionSpeed(
float transitionSpeed );
304 virtual float diguyTransitionSpeed()
const;
309 virtual void setDiguyBodyWeight(
double w );
310 virtual double diguyBodyWeight()
const;
315 virtual void setDiguyAppearance(
const DtString& app );
316 virtual DtString diguyAppearance()
const;
324 virtual void setDiguyHandItem(
const DtString& app );
325 virtual DtString diguyHandItem()
const;
330 virtual void setDiguyHead(
const DtString& app );
337 virtual void setDiguyPrimaryUnitPatch(
const DtPatchIdentifier& patchId );
338 virtual DtPatchIdentifier diguyPrimaryUnitPatch()
const;
339 virtual void setDiguySecondaryUnitPatch(
const DtPatchIdentifier& patchId );
340 virtual DtPatchIdentifier diguySecondaryUnitPatch()
const;
341 virtual void setDiguyRankPatch(
const DtPatchIdentifier& patchId );
342 virtual DtPatchIdentifier diguyRankPatch()
const;
343 virtual void setDiguyCharacterName(
const DtString& name );
344 virtual DtString diguyCharacterName()
const;
360 virtual void determineDiGuyAppearance();
363 virtual void determineVisualMarkingAppearance();
static DtVrfObjectStateRepository * creator(const DtString &name, DtLocalObject *simObject, DtReaderWriterRegistry *parentRegistry)
DtRwReal myMaxAcceleration
Definition: vrfMovingObjectStateRepository.h:384
DtRwBoolean myUsingRailMovement
If true keeps the entity clamped to the route segment it is on, no steering just follows the segment...
Definition: vrfMovingObjectStateRepository.h:391
DtRwReal myTurningRadius
Definition: vrfMovingObjectStateRepository.h:381
DtGroundInteractionPt myOtherSupport
Definition: vrfMovingObjectStateRepository.h:372
Description: This repository holds all information that is common to all the forms of all objects wit...
Definition: vrfMovingObjectStateRepository.h:31
DtRwBoolean myCanPivot
Definition: vrfMovingObjectStateRepository.h:388
DtRwNLengthStringVector is a named, readable/writable vector of strings of arbitrary length...
Definition: rwNLengthStringVector.h:28
DtRwReal myMaxSlope
Definition: vrfMovingObjectStateRepository.h:382
virtual void createLegacyRWData() override
Creates the legacy data used for any pre/put operation. Override this to create your legacy data atta...
boost::signals2::signal< void()> signal_currentPitchChanged
Signal sent when the current pitch has changed for this state rep.
Definition: vrfMovingObjectStateRepository.h:349
DtReal myInverseStoppingDeceleration
Derived quantity (1/myMaxStoppingDeceleration) - no need to make it read-write.
Definition: vrfMovingObjectStateRepository.h:399
DtRwReal myMaxReverseSpeed
Definition: vrfMovingObjectStateRepository.h:380
DtRwBoolean myForward
Definition: vrfMovingObjectStateRepository.h:383
DtRwBoolean myPitchSet
Records if the pitch has been set by the user to respect when clamping to ground or setting at altitu...
Definition: vrfMovingObjectStateRepository.h:405
DtRwInt myActionUrgency
Definition: vrfMovingObjectStateRepository.h:376
Definition: simObjectStateRepository.h:59
Definition: readerWriterRegistry.h:39
DtActionUrgencyLevel
Enumeration for various predefined urgency levels. The urgency levels in this enumeration roughly cor...
Definition: actionUrgencyLevel.h:25
Description: This repository is an internal repository accessible only by local objects. It holds all information that is common to all the forms of all entity/aggregate/control objects within VR-Forces.
Definition: vrfObjectStateRepository.h:91
DtRwReal myOrderedAltitude
Definition: vrfMovingObjectStateRepository.h:377
DtRwReal myMaxLateralAcceleration
Definition: vrfMovingObjectStateRepository.h:386
DtRwBoolean myKeepGroundClampingFlag
Records whether we should keep ground clamping b/c not all terrain was loaded.
Definition: vrfMovingObjectStateRepository.h:402
virtual DtString type() const override
returns DtSimObjectStateRepositoryType
DtString myDIGuyCharacter
Stores the character type string for remote entities.
Definition: vrfMovingObjectStateRepository.h:395
DtRwReal myManeuverAggressiveness
Definition: vrfMovingObjectStateRepository.h:375
DtGroundInteractionPt myLeftSupport
Definition: vrfMovingObjectStateRepository.h:370
DtRwBoolean myUseOrderedAltitudeForRoutes
Definition: vrfMovingObjectStateRepository.h:378
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
VRF4API_METHOD const DtMovingObjectParameters * vrfParameters() const
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header fi...
Definition: vrfMovingObjectStateRepository.h:425
virtual void updateSupportPoints(const DtVector &newPosition, const DtReal newHeading)
reading in a scenario, want to make sure the support points get set up properly. Base class is empty...
Description: Readable, Writable int.
Definition: rwInt.h:25
DtRwReal myMaxSpeed
Definition: vrfMovingObjectStateRepository.h:379
The moving-object-param parameter type is used for objects that are capable of movement, such as individual entities and aggregates. DtMovingObjectParameters; holds all of the configurable parameters for the DtVrfMovingObjectStateRepository class. Parameters include support points, maximum speed, maximum reverse speed, turning radius, maximum slope, ordered speed, maximum acceleration, maximum deceleration, and fuel efficiency. Aggregates are moving objects and have this parameter type. All of the platform-specific parameter types derive from this one. .
Definition: movingObjectParameters.h:32
DtRwReal myNextSupplyCheckTime
Records the next time that supplies should be checked (in general, this isn't done every tick...
Definition: vrfMovingObjectStateRepository.h:413
virtual void restoreFromLegacyRWData() override
virtual void tick()
This method is called each simulation frame, and may include any processing that needs to be done on ...
DtRwBoolean myHaveSupplies
Records whether the entity has appropriate supplies to keep it moving.
Definition: vrfMovingObjectStateRepository.h:408
virtual const int vrfObjectStateRepositorySubType() const
Returns DtVrfObjectStateRepositorySubTypeBase.
virtual void prePutSelf() override
Hook function called immediately prior to putSelf().
virtual void place(const DtVector &location, bool *dataAvailable=nullptr, bool requireAllData=false)
Place entity at 'location', on the ground, keeping its current heading. Since no terrain intersection...
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
DtRwReal myFuelEfficiency
Definition: vrfMovingObjectStateRepository.h:387
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Class Invariant: The DtGroundInteractionPt class must always have a valid DtAttachedTerrain or DtSimM...
Definition: groundInteractionPt.h:28
DtRwReal myOrderedSpeed
Definition: vrfMovingObjectStateRepository.h:374
DtRwReal myMaxStoppingDeceleration
Definition: vrfMovingObjectStateRepository.h:385
virtual void preGetSelf() override
Hook function called immediately prior to getSelf().
const T_SRType * as() const
Convenience function to cast to particular state rep type.
Definition: simObjectStateRepository.h:101
const DtVrfObjectStateRepository & operator=(const DtVrfObjectStateRepository &orig)
Assignment Operator.
virtual void initializeFromParameters()
The DtRwDIGuyCharacterState class is a readable/writable class that can store itself and read itself ...
Definition: rwDIGuyCharacterState.h:37
virtual void reclampToGround()
Will cause the object to be replaced at it's current position and clamped to the terrain.
voidpf uLong offset
Definition: ioapi.h:42
virtual void setToLegacyRWData() override
DtGroundInteractionPt myRightSupport
Definition: vrfMovingObjectStateRepository.h:371
static VRF4API_METHOD DtVrfMovingObjectStateRepository * isVrfMovingObjectStateRepository(DtSimObjectStateRepository *rep)
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header fi...
Definition: vrfMovingObjectStateRepository.h:420
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
DtRwBoolean myClampToGround
Definition: vrfMovingObjectStateRepository.h:389
DtRwReal myMaxPivotSpeed
Definition: vrfMovingObjectStateRepository.h:392
Contains the DtActionUrgencyLevel enumeration declaration.
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86