![]() |
VR-Forces 4.8 Class Documentation
|
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application. More...

Public Types | |
| enum | ChangeFlag { MarkingText = 1, ForceType, ObjectLabel, OverlayParent, ObjectType, SubordinateOfForceLevel } |
| typedef std::list < DtLuaScriptInterfaceExtension::CreatorUserPair > | ScriptInterfaceExtensions |
| typedef std::pair < DtVrfObjectCallbackFunction, void * > | DtVrfObjectCallbackDataPair |
| Definitions of container types used in the postInitFromParameters callback mechanism. More... | |
| typedef std::pair< const DtVrfObject *, DtVrfObjectCallbackDataPair > | DtVrfObjectCallbackDataPair2 |
Public Types inherited from DtReaderWriter | |
| typedef std::vector < DtSymbolString > | aliasContainer |
| typedef std::vector < DtSymbolString >::iterator | aliasIter |
| typedef std::vector < DtSymbolString > ::const_iterator | aliasConstIter |
| typedef std::vector< DtFilename > | SearchPaths |
| typedef std::pair < DtSymbolString, DtString > | DtVariableNameType |
| typedef DtReaderWriterFactory *(* | DtReaderWriterFactoryCreatorFcn )() |
Public Member Functions | |
| DtVrfObject (const DtObjectType &objectType, DtVrfObjectManager *vrfObjectManager, bool createLocalObject=true, bool publishLocalObject=true, const DtEntityIdentifier &objectIdentifier=DtEntityIdentifier::nullId(), const DtGlobalObjectDesignator *globalId=0, DtReflectedObject *reflectedObject=0, const DtString &objectName=DtString::nullString(), const DtString &objectLabel=DtString::nullString(), DtForceType forceType=DtForceOther, const DtList *vertices=0, const DtTaitBryan *orientation=0, bool projection=false, bool closedFigure=false, const DtAppearance &appearance=DtAppearance::nullAppearance(), const DtString &readerWriterName="vrf-object", DtReaderWriterRegistry *parentRegistry=0, const DtUUID &uuid=DtUUID::nullUUID(), bool connectToRadioNetowrk=true) | |
| virtual | ~DtVrfObject () |
| destructor More... | |
| virtual bool | create (bool createNetworkInterface=true) |
| Virtual construction - must be called before any other member functions are called. More... | |
| virtual bool | finalizeObjectCreation () |
| Called to create the network interface (if not already created) and finalize other object creation. More... | |
| virtual void | finalizeObjectRead () |
| Called after the object has been read from a saved scenario. More... | |
| virtual void | setSimulationCapable (bool) |
| Get/set whether or not this object is simulation capable. More... | |
| virtual bool | simulationCapable () const |
| virtual void | prepareForReinitialization () |
| Prepares this object for reinitialization. More... | |
| virtual void | canBeHandedOff () |
| For remote objects that are awaiting the reflected object to be removed, this is called when the reflected object is removed. More... | |
| virtual void | createCommunicationsInterface () |
| Allows an external process to invoke creation of a communications interface, if myCommunicationInterface is NULL. More... | |
| virtual void | createCommunicationsInterface (const DtRadioDescriptorList &descList) |
| Allows an external process to invoke creation of a communications interface, if myCommunicationInterface is NULL, and pass a radio descriptor list. More... | |
| virtual void | createSetDataManager () |
| Allows an external process to invoke creation of a DtSetDataManager, if mySetDataManager is NULL. More... | |
| virtual int | vrfSessionId () const |
| Return the session id of this object. More... | |
| virtual bool | init () |
| Initialization - must be called after create() and before any other member functions are called. More... | |
| virtual void | tick () |
| Called by create(). More... | |
| virtual void | startTick () |
| virtual void | tickComponents () |
| virtual void | endTick () |
| virtual void | tickPublisherOnly () |
| Ticks only the publisher (net interface) More... | |
| virtual bool | hasGuiKeyword (const DtString &) const |
| Returns true if the gui keywords contain the particular keyword specified (the gui keywords are specified in the .entity object) More... | |
| virtual bool | createRepository (DtVrfObjectParameters *parameterEntry) |
| Override createRepository() to check if repository created in base class version is a DtSimVrfObjectBaseStateRepository (or a derived type). More... | |
| virtual bool | createTaskManager () |
| virtual bool | createScriptInterfaceHandler () |
| virtual bool | createComponentManager () |
| virtual bool | createVrfObjectPlanManager () |
| Creates myVrfObjectPlanManager based on the type specified in mySubComponentTypes. More... | |
| virtual bool | createRadio () |
| virtual bool | createNavigationInterfaceManager () |
| virtual bool | initializeComponentManager () |
| Initialize component manager that has been created. Only call once! More... | |
| virtual void | setNavigationEnabled (bool) |
| Accessors for navigation enabled. More... | |
| virtual bool | navigationEnabled () const |
| virtual void | addToPotentialLuaScripts (int) |
| Durning object reload from sccenario, controllers can add to this variable, such that when the read is done, an amount of scripts can be preallocated in the lua script manager based on the total number of objects. More... | |
| virtual int | potentialLuaScripts () const |
| virtual int | scenarioRunId () const |
| The id of the scenario being run (if set). Retrieved from the sim manager. More... | |
| virtual double | timeOfDay () const |
| Gets the current time of day from the environment manager. More... | |
| virtual double | dateAndTimeOfDay () const |
| Gets the current date and time of day from the environment manager. More... | |
| virtual DtSharedVrfObjectReference | sharedReference () |
| Returns the shared object reference to this object. Looks it up in object manager. More... | |
| virtual DtSharedVrfObjectReference | sharedReference () const |
| virtual double | illumination () const |
| How illuminated this object is. More... | |
| virtual double | expectedIllumination (double dateAndTimeOfDay) const |
| How illuminated we expect this object to be at the given time of day if it remains at its current location. More... | |
| virtual DtSharedVrfObjectReference | weather () const |
| Returns the weather object last calculated when the illumination was updated. More... | |
| virtual MAKVRinTerra::DtFeatureGeometry | featureGeometry () const |
| Compute DtFeatureGeometry representation of object geometry. More... | |
| virtual void | updateIllumination () const |
| Updates illumination value by providing local position to environment manager to calculate illumination value. More... | |
| virtual void | updateWeather () |
| Updates weather object at the entities location. More... | |
| virtual void | setRangeRingsParametersPublisherTickRange (double d) |
| Sets the tick rate for updating range rings. Default is 5 seconds plus a random value (set in the range ring publisher) More... | |
| virtual void | createAndInitializeRangeRingsParameterPublisher () |
| Creates range ring publisher and sets tick rate to 5 seconds plus a random value (set in the range ring publisher) More... | |
| virtual bool | needsIlluminationUpdate () const |
| Returns true if the entity has moved more than half a degree since (either in lat or lon) the last time the illumination was checked or the calculation time has changed. More... | |
| virtual bool | isOnTopOf (const DtVrfObject *, bool checkSupportPoints=false) const |
| Returns true if the entity is almost on top of the entity specified. More... | |
| virtual bool | isOnTopOf (const DtVrfObject *, double d, bool checkSupportPoints=false) const |
| virtual bool | isSimulationObject () const |
| Returns true if this is an entity or a unit. More... | |
| virtual bool | isEntity () const |
| virtual bool | isUnit () const |
| virtual bool | intersect (const DtChord &, DtVrfChordIntersectionRecord *record=0) const |
| Returns true if this chord intersects this entity. Uses the entities object geometry model. More... | |
| virtual bool | checkAndDisembarkIfEmbarked (const DtVector &localPosition) |
| Check terrain hit, and, if entity is embarked, and there is no terrain hit on parent, disembark. Will only check if embarked. More... | |
| virtual bool | checkIfMoveOntoEmbarked (const DtVector &localPosition, DtVrfObject *&hit, const std::list< DtUUID > &additionalIgnore=std::list< DtUUID >()) |
| Check to see if there are any entities at the location given that can be moved onto for embarkation. More... | |
| virtual bool | hasHighFidelityObjectGeometryModel () const |
| Returns true if the object geometry model is high fidelity (loaded from an medf file) More... | |
| virtual bool | isEmbeddedInTerrain () const |
| Returns true if the object has its object geometry model embedded into the terrain. More... | |
| virtual bool | needsWeatherAreaUpdate () const |
| Returns true if the entity has moved more than half a degree since (either in lat or lon) the last time the illumination was checked or the calculation time has changed for weather. More... | |
| virtual bool | isGlobalPlan () const |
| Returns true if this object represents a global plan. More... | |
| virtual const DtSimManager * | simManager () const |
| Get a pointer to our sim manager. More... | |
| virtual DtSimManager * | simManager () |
| virtual DtSimTaskManager * | taskManager () const |
| Get pointers to our various types of subcomponents. More... | |
| virtual DtScriptInterfaceHandler * | scriptInterfaceHandler () const |
| virtual DtSimComponentManager * | componentManager () |
| virtual const DtSimComponentManager * | componentManager () const |
| virtual DtVrfObjectPlanManager * | vrfObjectPlanManager () const |
| virtual DtSimRadio * | radio () const |
| virtual DtVrfObjectStateRepository * | vrfState () const |
| virtual DtExtent | extent () const |
| Returns the extent of the vrfObject, if the vrfObject has one. More... | |
| virtual DtExtent | roughExtent () const |
| const DtVrfObjectParameters * | parameterEntry () const |
| Parameters used by this object in it's definition. More... | |
| const DtMovingObjectParameters * | movingObjectParameterEntry () const |
| Moving object parameters used by this object. More... | |
| virtual void | expandExtent (DtExtent &extent) const |
| If the vrfObject has geometry, and thus an extent, then this function expands the specified extent to include the vrfObjects extent. More... | |
| virtual void | sendVrfObjectCreated (unsigned long requestId=0, bool requestCreated=true) |
| Create and send a DtVrfObjectCreated message about ourself. More... | |
| virtual void | setupFromMessageContent (DtIfModifyVrfObject *ifModVrfObject) |
| Setup self from interface messages. More... | |
| virtual void | setIsVrfSimulatedObject (bool b) |
| Returns true if object is being simulated by a VR-Forces-simulated object, false if not. More... | |
| virtual bool | isVrfSimulatedObject () const |
| virtual bool | isVrfSimulated () const |
| virtual bool | isSimulatingComponents () const |
| returns true if object is simulating components VR-Forces components can be attached to non- VR-Forces entities. More... | |
| virtual void | save (std::string &) |
| Saves the object to the given std::string. More... | |
| virtual void | putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=true, const DtFilename &path=DtReaderWriter::appPath()) |
| Override to write out <use-default> string for unspecified parameters. More... | |
| virtual void | getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| Override to do additional setup required when reading older oob, ovl files. More... | |
| virtual bool | validNameLength (const DtString &name) const |
| virtual bool | setMarkingText (const DtString &name, bool rename=true) |
| Override to inform the vrfObjectManager when the name changes. More... | |
| virtual void | addVrfObjectChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| WARNING: These methods are obsolete but have been retained for backward compatibility. More... | |
| virtual void | removeVrfObjectChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| virtual void | addNavigationInterfaceChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| Add/remove callback for when the navigation interface has changed due to navigation being enabled/disabled. More... | |
| virtual void | removeNavigationInterfaceChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| virtual void | addVrfObjectPredicateCallback (DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0) const |
| Add/remove a callback function to be invoked when the DtVrfObject predicate object associated with it returns true(). More... | |
| virtual void | removeVrfObjectPredicateCallback (DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0) const |
| virtual int | predicateCallbackCount () const |
| For testing. More... | |
| virtual void | invokeVrfObjectPredicateCallbacks () |
| Called each tick. More... | |
| virtual void | setCoordinateSystem (const Coordinate_System *coordinateSystem) |
| Sets the coordinate system in mySimState (a DtVrfObjectStateRepository) and in myOvlVertices. More... | |
| virtual const DtVrfObjectManager * | simObjectManager () const |
| virtual DtVrfObjectManager * | simObjectManager () |
| virtual void | setSimObjectManager (DtVrfObjectManager *simObjectManager) |
| virtual bool | createNetInterface () |
| virtual void | setGlobalId (const DtGlobalObjectDesignator &id) |
| Set/get the entity's global Id. More... | |
| virtual const DtGlobalObjectDesignator & | globalId () const |
| virtual const DtString & | globalIdString () const |
| Produces the same result as globalId().string(), but the result is cached for faster access in the future. More... | |
| virtual bool | baseSetMarkingText (const DtString &name) |
| Set/get the name of the object. More... | |
| virtual const DtString & | markingText () const |
| virtual const DtString & | objectName () const |
| Deprecated as of 4.4 Used for backwards compatibility only. More... | |
| virtual void | addNameAlias (const DtString &name) |
| Adds a new string which can be used to reference this object by name. More... | |
| virtual void | unregisterAliases () |
| Unregisters all aliases with object manager and removes the aliases from the local alias list. More... | |
| virtual void | setUUID (const DtUUID &) |
| Sets the UUID of this object. Use only if you know the repercussions of setting it! More... | |
| virtual const DtUUID & | uuid () const |
| Returns the UUID of this object. More... | |
| virtual const DtString & | objectLabel () const |
| Set/get the label of the object. More... | |
| virtual void | setObjectLabel (const DtString &objectLabel) |
| virtual DtForceType | forceType () const |
| Set/get force type. More... | |
| virtual void | setForceType (DtForceType f) |
| virtual void | setIsSubordinateOfForceLevel (bool) |
| Get/set whether or not this item is a subordinate of force level. If changes a change callback will be made. More... | |
| virtual bool | isSubordinateOfForceLevel () const |
| virtual const DtString & | overlayParent () const |
| Set/get the overlay parent of the object. More... | |
| virtual void | setOverlayParent (const DtString &overlayParent) |
| virtual DtStateRepository * | netState () |
| VR-Link network state repository. More... | |
| virtual const DtStateRepository * | netState () const |
| virtual DtSimObjectNetInterface * | netInterface () |
| VR-Forces network interface. More... | |
| virtual const DtSimObjectNetInterface * | netInterface () const |
| virtual void | setNetInterface (DtSimObjectNetInterface *netInterface) |
| virtual void | setObjectIdentifier (const DtEntityIdentifier &objectId) |
| Set/get the object identifier (DIS/RPR site:host:entity). More... | |
| virtual const DtEntityIdentifier & | objectIdentifier () const |
| virtual const DtString & | objectIdentifierString () const |
| Produces the same result as objectIdentifier().string(), but the result is cached for faster access in the future. More... | |
| virtual bool | isLocal () const |
| Returns true if object is local (has the same simulation address as the manager), false if not. More... | |
| virtual DtString | type () const |
| set by factory on creation More... | |
| virtual DtString | objectClassType () const |
| virtual void | setObjectClassType (const DtString &objectClassType) |
| same as type() More... | |
| virtual void | clearVerticesChangedCallbacks () |
| Clear out vertices changed callback list. More... | |
| virtual void | clearRelativeVerticesChangedCallbacks () |
| Clear out relative vertices changed callback list. More... | |
| virtual void | clearPredicateCallbacks () |
| Clear out object predicate callback list. More... | |
| virtual DtSimObjectStateRepository * | simState () |
| virtual const DtSimObjectStateRepository * | simState () const |
| virtual void | setSimState (DtVrfObjectStateRepository *simState) |
| void | setEntityType (const DtEntityType &entityType) |
| const DtEntityType & | entityType () const |
| void | setDestroyed (bool destroyed) |
| bool | isDestroyed () const |
| virtual void | place (const DtVector &location, bool *dataAvailable=0, bool requireAllData=false) |
| place entity at 'location', on the ground, keeping its current heading More... | |
| virtual void | place (const DtReal heading, bool *dataAvailable=0, bool requireAllData=false) |
| give entity the specified 'heading', but stay at its current location More... | |
| virtual void | place (const DtVector &location, const DtReal heading, bool *dataAvailable=0, bool requireAllData=false) |
| place entity at specified 'location' and 'heading' on the ground More... | |
| const DtString & | echelonIdString () const |
| virtual DtSharedVrfObjectReference | leadEntity () const |
| virtual DtSharedVrfObjectReference | firstSubordinate () const |
| virtual DtSharedVrfObjectReference | lastSubordinate () const |
| virtual DtSharedVrfObjectReference | firstHealthySubordinate () const |
| Returns first healthy subordinate if it exists, 0 if not. More... | |
| virtual void | echelonIdChanged () |
| virtual const DtObjectId & | objectId () const |
| virtual const DtObjectType & | objectType () const |
| virtual bool | isEmbarked () const |
| virtual DtVector | locationRelativeTo (const DtVector &, const DtVrfObject *relativeTo) const |
| Given the local position vector, return a location that is relative to this entity given that position (in parent coordinates) More... | |
| virtual DtVector | velocityRelativeTo (const DtVector &, const DtVrfObject *relativeTo) const |
| Given the local velocity vector, return a velocity that is relative to this entity given that velocity (in parent coordinates) More... | |
| virtual DtVector | accelerationRelativeTo (const DtVector &, const DtVrfObject *relativeTo) const |
| Given the local acceleration vector, return an acceleration that is relative to this entity given that acceleration (in parent coordinates) More... | |
| virtual DtTaitBryan | orientationRelativeTo (const DtTaitBryan &, const DtVrfObject *relativeTo) const |
| Given the local orientation vector, return an orientation that is relative to this entity given that orientation (in parent coordinates) More... | |
| virtual DtSharedVrfObjectReference | embarkedOn () const |
| virtual bool | isEmbarkedOn (const DtUUID &parent) const |
| DtAttachedTerrain * | terrainAttachedTo () |
| const DtAttachedTerrain * | terrainAttachedTo () const |
| virtual const DtPhysicalWorld * | physicalWorld () const |
| virtual DtPhysicalWorld * | physicalWorld () |
| void | setAboutToBeRemoved (bool) |
| Set to true when object is about to be removed. More... | |
| bool | aboutToBeRemoved () const |
| virtual DtSetDataManager * | setDataManager () |
| virtual const DtSetDataManager * | setDataManager () const |
| virtual DtVrfObjectCommunicationInterface * | communicationInterface () |
| virtual const DtVrfObjectCommunicationInterface * | communicationInterface () const |
| const DtVrfObjectNavInterface * | navInterface () const |
| DtVrfObjectNavInterface * | navInterface () |
| virtual DtVrfObjectTerrainPreloadManager * | terrainPreloadManager () |
| DtVrfObjectSubComponentTypes * | vrfSubComponentTypes () const |
| For use in virtual construction. More... | |
| virtual void | duplicateVrfSubComponentTypes () |
| Duplicates the sub component type. More... | |
| virtual void | restoreDuplicatedVrfSubComponentTypes () |
| Restores (if duplicated) to parameter default for sub component types. More... | |
| virtual bool | hasPlan () const |
| virtual bool | executingPlan () const |
| virtual bool | isCurrentlyTasked () const |
| virtual bool | isEllipsoid () const |
| Returns true if this object is an ellipsoid object. More... | |
| virtual DtU8 | getNextEmitterSystemId () |
| virtual void | addScriptExtension (DtLuaScriptInterfaceExtension::CreatorFcn extension, void *usr) |
| Add a lua script extension for this entity only. More... | |
| virtual void | removeScriptExtension (DtLuaScriptInterfaceExtension::CreatorFcn extension, void *usr) |
| Remove a lua script extension that was previously added. More... | |
| virtual const ScriptInterfaceExtensions & | scriptExtensions () const |
| virtual void | regenerateUUIDForImport () |
| Regenerates the existing UUID and maps it to be updated for import. More... | |
| virtual std::string | archiveState () |
| Returned the current state of the object (as if putSelf were called) More... | |
| virtual void | addedToObjectManager () |
| Called right after this object is added to the object manager. More... | |
| virtual DtVrfUnderwaterAcoustics * | underwaterAcoustics () |
| Accesses acoustics publisher. Use to set sonar or propulstion noise. More... | |
| virtual DtVrfObjectDeletionHandle | objectDeletionHandle () const |
| virtual void | updateTerrainEmbeddedGeometry (bool force=false) |
| Updates geometry embedded into terrain (if configured) with current info. More... | |
| virtual void | addVerticesChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| Adds/removes a callback to be invoked whenever an object's local vertices change. More... | |
| virtual void | removeVerticesChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| virtual void | addObjectDataChangedCallback (DtVrfObjectDataChangeCallbackList::DtCallbackFunctionType, void *) const |
| Adds/removes callbacks for when values in the object have changed. More... | |
| virtual void | removeObjectDataChangedCallback (DtVrfObjectDataChangeCallbackList::DtCallbackFunctionType, void *) const |
| virtual void | invokeObjectDataChangedCallbacks (ChangeFlag) |
| virtual void | addRelativeVerticesChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| Adds/removes a callback to be invoked whenever an object's relative vertices change. More... | |
| virtual void | removeRelativeVerticesChangedCallback (DtVrfObjectCallbackFunction function, void *userData) const |
| virtual void | setPublishObject (bool publishObject) |
| Set/get flag indicating whether or not object should be published. More... | |
| virtual bool | publishObject () const |
| virtual DtOutputStream & | objectConsoleDebug (const DtString &channel="") const |
| virtual DtOutputStream & | objectConsoleVerbose (const DtString &channel="") const |
| virtual DtOutputStream & | objectConsoleInfo (const DtString &channel="") const |
| virtual DtOutputStream & | objectConsoleWarn (const DtString &channel="") const |
| virtual DtOutputStream & | objectConsoleError (const DtString &channel="") const |
| virtual DtObjectConsole * | objectConsole () |
| Returns a pointer to the object console member of this object. More... | |
| virtual const DtObjectConsole * | objectConsole () const |
| virtual void | addPostInitFromParamsCallback (DtVrfObjectCallbackFunction fcn, void *usr) const |
| Add/remove callback function to be invoked immediately following the point at which the newly created object gets initialized from its parameter entry. More... | |
| virtual void | removePostInitFromParamsCallback (DtVrfObjectCallbackFunction fcn, void *usr) const |
| virtual bool | convertToRemoteObject (DtString &error) |
| Converts this object from a local object (if it is a local object) to an expected remote object. More... | |
| virtual bool | convertToLocalObject (DtString &error, const std::string &archivedState="") |
| This object will be converted from a remote object to a locally simulated object. More... | |
| bool | awaitingHandoffCompletion () const |
| virtual void | completeHandoff (DtReflectedObject *) |
| Completes the handoff from the VR-Link perspective. More... | |
| virtual bool | prepareForHandoff () |
| virtual void | addHandoffCallbackFunction (DtVrfObjectHandoffCallbackList::DtCallbackFunctionType, void *) const |
| virtual void | removeHandoffCallbackFunction (DtVrfObjectHandoffCallbackList::DtCallbackFunctionType, void *) const |
| virtual void | invokeObjectHandoffCallbacks (DtVrfObjectHandoffData::HandoffFlag) |
| virtual void | addObjectAboutToBeRemovedCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| Callback that is invoked when the entity is about to be removed from the simulation. More... | |
| virtual void | removeObjectAboutToBeRemovedCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| virtual void | invokeVrfObjectAboutToBeRemovedCallbacks () |
| virtual void | addObjectModifiedViaMessageCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| Callback that is triggered when the object is modified via a VRF modify message. More... | |
| virtual void | removeObjectModifiedViaMessageCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| virtual void | invokeObjectModifiedViaMessageCallback () |
| virtual void | addNewSensorContactCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| Callback that is invoked when the entity detects a new sensor contact or when a sensor contact's CID level is increased. More... | |
| virtual void | removeNewSensorContactCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| virtual void | invokeNewSensorContactCallbacks () |
| virtual void | addSetLocationCompleteCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| Callback that is invoked when a set location request is completed. More... | |
| virtual void | removeSetLocationCompleteCallback (DtVrfObjectCallbackList::DtCallbackFunctionType fcn, void *usr) const |
| virtual void | invokeSetLocationCompleteCallbacks () |
Public Member Functions inherited from DtReaderWriter | |
| DtReaderWriter () | |
| default constructor More... | |
| DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| real constructor Setting the readonly flag prevents object from writing itself to the stream. More... | |
| DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false) | |
| DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| pseudo-copy constructor More... | |
| DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL) | |
| DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL) | |
| copy constructor More... | |
| const DtReaderWriter & | operator= (const DtReaderWriter &orig) |
| assignment operator More... | |
| bool | operator== (const DtReaderWriter &) const |
| Equivalence operator. More... | |
| bool | operator!= (const DtReaderWriter &rhs) |
| virtual | ~DtReaderWriter () |
| destructor More... | |
| virtual void | postPutSelf () |
| Called after either version of put self (file or environment). Default is no-op. More... | |
| virtual void | prePutSelf () |
| Called before either version of put self (file or environment). Default is no-op. More... | |
| virtual void | postGetSelf () |
| Called after either version of getSelf (mtl or environment). Default is no-op. More... | |
| virtual void | preGetSelf () |
| Called before either version of get self (file or environment). Default is no-op. More... | |
| virtual void | writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename()) |
| Called from putSelf, calls myRegistry.putSelf which in turn calls putSelf on each reader/writer in the registry. More... | |
| virtual DtSymbolString | name () const |
| Accessor for name of this readable/writable object. More... | |
| virtual void | addAlias (const DtSymbolString &alias) |
| Add an alias as an alternative name for this object. More... | |
| virtual void | addAlias (const DtString &alias) |
| virtual bool | hasAlias (const DtSymbolString &alias) |
| virtual const aliasContainer & | aliases () const |
| virtual void | setReadonly (bool flag) |
| Set read-only flag. More... | |
| bool | isReadonly () const |
| virtual void | reset () |
| For those reader/writer items that support it, resets the reader/writer value to original state Default is no-op. More... | |
| virtual int | alignment () const |
| For those items that are sent over the network via HLA, this will give the network alignment. More... | |
| virtual bool | variableIsBound () const |
| virtual void | unbindVariable () |
| Sets the myVariableIsBound flag to false. More... | |
| virtual void | setName (const DtString &) |
| Set the name of the object. More... | |
| virtual const char * | readerWriterType () const |
| Used to supply a string type that this reader writer type is. More... | |
| virtual const char * | xmlType () const |
| virtual DtString | prettyPrint () const |
| Routine to return a human readable form of the reader/writer variable. More... | |
| std::string | debugText () const |
| virtual void | bindVariables (DtVariableBindingsList variableBindings) |
| Runs a variable binding pass on this reader writer and any of its children. More... | |
| virtual std::list < DtVariableNameType > | unboundVariables () const |
| bool | invalid () const |
| virtual bool | hasChild (const DtReaderWriter *p) const |
| Returns true if this variable has a child p in it's chain. More... | |
| virtual bool | hasVariableReference () const |
| Returns true if this item or any item in the registry (recursive) is a variable reference. More... | |
| virtual void | bindLocalVariables (const DtVariableBindingsList &variableBindings) |
| Checks to see if this RW object is a variable reference that can be bound using the provided bindings. More... | |
| virtual void | recordUpdateTime () const |
| Can be implemented in subclasses to stamp the time when updated. More... | |
| virtual bool | wasUpdatedSince (DtTime t) const |
| Can be implemented in subclasses to return true if an update occurred after the specified time. More... | |
| virtual bool | changedSinceLastChecked () |
| Returns true if this objects value has changed since the last time this function was called. More... | |
| virtual bool | peekChangedSinceLastChecked () const |
| Returns the value that changedSinceLastChecked would return but does not reset the internal flag. More... | |
| virtual void | putData (std::string &fp, int indentLevel=0) |
| Deriving class overrides these to get/put class specific data. More... | |
| virtual DtlObjPtr | getData (DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) |
| virtual void | setValueSpecified (bool specified, bool recurse=false) |
| The specified flags are used for optional values. More... | |
| virtual bool | valueSpecified () const |
| virtual bool | isVariableReference () const |
| Specifies whether or not this reader writer is really a variable that is specified elsewhere. More... | |
| virtual void | setIsVariableReference (bool value) |
| virtual void | clearAllVariableReferenceFlags () |
| Clears out all variable reference flags from all readerwriter items in registry recursively. More... | |
| virtual DtSymbolString | variableName () const |
| The variable name, if this object is a variable reference. More... | |
| virtual void | setVariableName (const DtSymbolString variableName) |
| virtual const DtReaderWriter * | defaultRWValue () const |
| The default value to use if the reader/writer object is a variable and that variable is not specified. More... | |
| virtual DtReaderWriter * | defaultRWValue () |
| virtual void | setDefaultRWValue (DtReaderWriter *) |
| Previous default value, if exists, will be removed and replaced with a clone of the supplied variable. More... | |
| virtual bool | checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) |
| Give the stream, if the stream contains a default value then set it here. More... | |
| const DtReaderWriterRegistry & | registry () const |
| Collection of child DtReaderWriter nodes owned by this object. More... | |
| DtReaderWriterRegistry & | registry () |
| virtual DtPropertyInterface * | property () |
| virtual const DtPropertyInterface * | property () const |
| virtual DtString | toXml () const |
| virtual DtRwVariableBindings * | generateVariableBindings () const |
| Iterates over the registry (recursively) and returns a variable bindings object that contains all the variables that are contained in this read/writer class. More... | |
| virtual bool | toXml (const DtFilename &) const |
| Writes contents of xml result to the given filename. More... | |
| virtual bool | fromXml (const DtString &) |
| Restores object from given xml string. Returns true if valid. More... | |
| virtual bool | fromXmlFile (const DtFilename &) |
| Restores object from given xml file. More... | |
| virtual void | putSelf (DtEnvironmentSP, DtEnvValueSP parent) const |
| virtual void | putData (DtEnvironmentSP, DtEnvValueSP value) const |
| Override to add attributes of actual data. More... | |
| virtual void | putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const |
| Called when the item is a variable reference. More... | |
| virtual void | getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| virtual void | getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList()) |
| Gets data from the environment value. More... | |
| virtual void | unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings) |
| Called when the xml reader tries to parse an unknown reader/writer item. Default is a no-op. More... | |
| virtual void | getVariableReference (DtEnvironmentSP, DtEnvValueSP value) |
| Called when the item is a variable reference. More... | |
Static Public Member Functions | |
| static void | enableSingleObjectMode () |
| Puts VRF in "single object mode" which limits it to simulating only a single local entity or lifeform object. More... | |
| static bool | singleObjectModeActive () |
| static void | addSimObjectCreatorFcn (const DtString &type, DtSimObjectCreatorFcn fcn) |
| static DtSimObjectFactory * | factory () |
| a DtSimObjectFactory is allocated by the DtSimCreator, and this pointer is set. More... | |
| static void | setFactory (DtSimObjectFactory *factory) |
| static void | setDefaultNotifyLevel (DtNotifyLevelType level) |
| Sets the notify level for all object consoles. More... | |
| static DtNotifyLevelType | defaultNotifyLevel () |
| static DtVrfObject * | creator (const DtObjectType &objectType, DtVrfObjectManager *simObjectManager, bool createLocalObject=true, bool publishLocalObject=true, const DtEntityIdentifier &objectIdentifier=DtEntityIdentifier::nullId(), const DtGlobalObjectDesignator *globalId=0, DtReflectedObject *reflectedObject=0, const DtString &objectName=DtString::nullString(), const DtString &objectLabel=DtString::nullString(), DtForceType forceType=DtForceOther, const DtList *vertices=0, const DtTaitBryan *orientation=0, bool projection=false, bool closedFigure=false, const DtAppearance &appearance=DtAppearance::nullAppearance(), const DtString &readerWriterName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0, const DtUUID &uuid=DtUUID::nullUUID(), bool connectToRadioNetowrk=true) |
| Returns a newly created DtVrfObject. More... | |
| static DtVrfObject * | createObject (const DtObjectType &objectType, DtVrfObjectManager *vrfObjectManager, const DtString &classType, bool createLocalObject=true, bool publishLocalObject=true, const DtEntityIdentifier &objectIdentifier=DtEntityIdentifier::nullId(), const DtGlobalObjectDesignator *globalId=0, DtReflectedObject *reflectedObject=0, const DtString &objectName=DtString::nullString(), const DtString &objectLabel=DtString::nullString(), DtForceType forceType=DtForceOther, const DtList *vertices=0, const DtTaitBryan *orientation=0, bool projection=false, bool closedFigure=false, const DtAppearance &appearance=DtAppearance::nullAppearance(), const DtString &readerWriterName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0, const DtUUID &initialUUID=DtUUID::nullUUID(), bool connectToRadioNetowrk=true) |
| Create and initialize a new sim object, using the factory. More... | |
| static DtVrfObject * | createObject (const DtObjectType &objectType, DtVrfObjectManager *vrfObjectManager, const DtString &classType, bool createLocalObject=true, bool publishLocalObject=true, const DtEntityIdentifier &objectIdentifier=DtEntityIdentifier::nullId(), const DtGlobalObjectDesignator *globalId=0, DtReflectedObject *reflectedObject=0, const DtString &objectName=DtString::nullString(), const DtString &objectLabel=DtString::nullString(), DtForceType forceType=DtForceOther, const DtVector &location=DtVector::zero(), const DtTaitBryan *orientation=0, bool projection=false, bool closedFigure=false, const DtAppearance &appearance=DtAppearance::nullAppearance(), const DtString &readerWriterName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0, const DtUUID &uuid=DtUUID::nullUUID(), bool connectToRadioNetowrk=true) |
| Create and initialize a new sim object, using the factory. More... | |
| static DtVrfObject * | createAndInit (DtVrfObjectManager *vrfObjectManager, DtlObjPtr mtlStream) |
| Create and initialize a new sim object from a mtl stream. More... | |
| static DtVrfObject * | createAndInitForSimulationObjectGroup (DtVrfObjectManager *vrfObjectManager, DtlObjPtr mtlStream, int flags, int force, const DtVector &geocentricOffsetLocation, double offsetRotation=0.) |
| Create and initialize a new sim object from a mtl stream as created as part of a simulation object group. More... | |
| static void | verticesChangedCallback (const DtVrfObject *obj, DtVrfObjectPredicateEvaluator *predicateEval, void *userData) |
| Invokes all vertices-changed callbacks that have registered with the object. More... | |
| static void | relativeVerticesChangedCallback (const DtVrfObject *obj, DtVrfObjectPredicateEvaluator *predicateEval, void *userData) |
| Invokes all relative-vertices-changed callbacks. More... | |
| static void | postInitFromParamsCallback (DtVrfObjectStateRepository &stateRepository, void *usr) |
| Callback function registered with object's state repository. More... | |
Static Public Member Functions inherited from DtReaderWriter | |
| static void | putIndent (std::string &fp, int indentLevel) |
| static const DtVariableBindingsList & | nullVariableReference () |
| static void | setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData) |
| static void | setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData) |
| static void | setPutIndent (bool) |
| static bool | putIndent () |
| static const char * | theXmlType () |
| The type that is used when archiving to an XML stream. More... | |
| static const DtFilename & | appPath () |
| Gets the current working directory. More... | |
| static void | setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn) |
| Sets the function to create the DtReaderWriterFactory. More... | |
| static void | createReaderWriterFactory () |
| static void | cleanupFactory () |
| static DtReaderWriterFactory * | factory () |
| static void | setOutputStream (DtOutputStream *stream) |
| static DtOutputStream & | outputStream () |
| static DtReaderWriter * | createFromXmlFile (const DtFilename &, bool createAsProperty=false) |
| Given a filename, returns a newly created reader/writer object from the object found within. More... | |
| static DtReaderWriter * | createFromXml (const DtString &, bool createAsProperty=false) |
| Given a xml string, returns a newly created reader/writer object from the object found within. More... | |
| static DtReaderWriter * | createFromEnvironment (DtEnvironmentSP, bool createAsProperty=false) |
| Given a xml environment, returns a newly created reader/writer object from the object found within. More... | |
| static DtString | getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root) |
| Gets the named attribute from a DtEnvValueSP. More... | |
Static Public Member Functions inherited from DtObjectDebugger< DtVrfObject > | |
| static DtObjectCounter::CounterType | ObjectCount () |
| static const DtObjectContainer * | ObjectContainer () |
Protected Member Functions | |
| DtVrfObject () | |
| Abstract base classes should not be constructed. More... | |
| DtVrfObject (const DtVrfObject &orig) | |
| copy constructor More... | |
| DtVrfObject & | operator= (const DtVrfObject &orig) |
| assignment operator More... | |
| virtual bool | initializeNetInterface () |
| Initializes network interface (either from init() if created or finalizeObjectCreation()) More... | |
| virtual void | setupStateRepository () |
| Called by init() after state repository's init() has been called. More... | |
| virtual bool | setupNetInterface () |
| Called by init() after net interface's init() has been called. More... | |
| void | emptyVertexList () |
| Non virtual utility function - called in destructor. More... | |
| void | copyVertexList (const DtList &orig) |
| Non-virtual utility function called in constructor. More... | |
| virtual void | validateObjectType () |
| Validates the object type to make sure there are no -1s in the object type. More... | |
| virtual void | processPostInitFromParamsCallback (DtVrfObjectCallbackFunction fcn, void *usr) const |
| Invokes callback added through a call to addPostInitFromParamsCallback. More... | |
| virtual void | initializeCommunicationInterfaceCallbacks () |
| Adds admin content callback registration. More... | |
| virtual void | processSetOverlayLayerTask (const DtVrfObjectMessage *msg) |
| virtual void | updateBoundingVolumeBasedOnPosture () |
| Based on the entities current posture, update bounding geometry based on whether or not the entity is standing, prone or kneeling. More... | |
| virtual DtExtent | computeExtent () const |
| Compute the extent, not lazy. More... | |
| virtual void | initializeObjectGeometryModel () |
| Initializes object geometry for this model. More... | |
| virtual void | cleanupItemsNeededForHandoff () |
| Cleans up all the items that need to be removed in response to an authority handoff. More... | |
| virtual bool | recreateItemsNeededForHandoff () |
| Recreates all the items that were cleaned up as part of handoff process. This will create and initialize the objects. More... | |
Protected Member Functions inherited from DtReaderWriter | |
| virtual void | bindToRwAsVariable (const DtReaderWriter *rw) |
| Copies values from the specified DtReaderWriter. More... | |
Protected Member Functions inherited from DtObjectDebugger< DtVrfObject > | |
| DtObjectDebugger () | |
| DtObjectDebugger (const DtObjectDebugger &) | |
| ~DtObjectDebugger () | |
Static Protected Member Functions | |
| static void | setOverlayLayerTaskCallback (const DtVrfObjectMessage *msg, void *usr) |
Static Protected Attributes | |
| static DtSimObjectFactory * | theFactory |
| static int | theDefaultNotifyLevel |
Static Protected Attributes inherited from DtReaderWriter | |
| static DtString | theUnspecifiedValue |
| static DtGetSelfCallbackInfo | thePostGetSelfCallback |
| static DtPutSelfCallbackInfo | thePrePutSelfCallback |
| static const DtVariableBindingsList | theEmptyVariableBindingsList |
| static bool | theCreatorFcnSet |
| static DtReaderWriterFactory * | theFactory |
| static DtReaderWriterFactoryCreatorFcn | theFactoryCreatorFcn |
| static bool | thePutIndent |
| static DtOutputStream * | theOutputStream |
| virtual void | processReadDRThresholdSettings (const DtSettingsObject *settings) |
| static void | readDRThresholdSettingsCallback (const DtSettingsObject *settings, void *usr) |
| Callback function registered with the DtVrfSimSettings class. More... | |
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
It has the following elements:
Most Back End Examples can be explored for reference.
| typedef std::pair<DtVrfObjectCallbackFunction, void*> DtVrfObject::DtVrfObjectCallbackDataPair |
Definitions of container types used in the postInitFromParameters callback mechanism.
| typedef std::pair<const DtVrfObject*, DtVrfObjectCallbackDataPair> DtVrfObject::DtVrfObjectCallbackDataPair2 |
| typedef std::list<DtLuaScriptInterfaceExtension::CreatorUserPair> DtVrfObject::ScriptInterfaceExtensions |
|
protected |
Abstract base classes should not be constructed.
| DtVrfObject::DtVrfObject | ( | const DtObjectType & | objectType, |
| DtVrfObjectManager * | vrfObjectManager, | ||
| bool | createLocalObject = true, |
||
| bool | publishLocalObject = true, |
||
| const DtEntityIdentifier & | objectIdentifier = DtEntityIdentifier::nullId(), |
||
| const DtGlobalObjectDesignator * | globalId = 0, |
||
| DtReflectedObject * | reflectedObject = 0, |
||
| const DtString & | objectName = DtString::nullString(), |
||
| const DtString & | objectLabel = DtString::nullString(), |
||
| DtForceType | forceType = DtForceOther, |
||
| const DtList * | vertices = 0, |
||
| const DtTaitBryan * | orientation = 0, |
||
| bool | projection = false, |
||
| bool | closedFigure = false, |
||
| const DtAppearance & | appearance = DtAppearance::nullAppearance(), |
||
| const DtString & | readerWriterName = "vrf-object", |
||
| DtReaderWriterRegistry * | parentRegistry = 0, |
||
| const DtUUID & | uuid = DtUUID::nullUUID(), |
||
| bool | connectToRadioNetowrk = true |
||
| ) |
|
virtual |
destructor
|
protected |
copy constructor
|
static |
Puts VRF in "single object mode" which limits it to simulating only a single local entity or lifeform object.
Note: This mode cannot be turned off once it is enabled.
|
static |
Virtual construction - must be called before any other member functions are called.
If createNetworkInterface is false then it will not create the network interface. Do this if you want to make sure all data is present in the object before it is on the network. When it is, call createNetworkInterface
|
virtual |
Called to create the network interface (if not already created) and finalize other object creation.
Will also set is simulationCapable to true. Will only be used if not currently simulation capable
|
virtual |
Called after the object has been read from a saved scenario.
|
virtual |
Get/set whether or not this object is simulation capable.
If not will not be ticked nor considered part of the simulation. Objects that are not simulation capable will be part of a group of imported objects where some of the objects are not yet valid
|
virtual |
|
virtual |
Prepares this object for reinitialization.
This means: 1) Making sure the systems are set to read only so they are not saved as part of the order of battle 2) Restarting the plan (if one) and clearing out the current task (if one and there is a plan)
|
virtual |
For remote objects that are awaiting the reflected object to be removed, this is called when the reflected object is removed.
|
virtual |
Allows an external process to invoke creation of a communications interface, if myCommunicationInterface is NULL.
|
virtual |
Allows an external process to invoke creation of a communications interface, if myCommunicationInterface is NULL, and pass a radio descriptor list.
|
virtual |
Allows an external process to invoke creation of a DtSetDataManager, if mySetDataManager is NULL.
|
virtual |
Return the session id of this object.
This will need to be sure the netState is of a VRF type and it can return the session id
|
virtual |
Initialization - must be called after create() and before any other member functions are called.
|
virtual |
Called by create().
Ticks object's organization manager, task manager, and component manager, and then calls down to base class tick. Calls invokeVrfObjectPredicateCallbacks.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Ticks only the publisher (net interface)
Returns true if the gui keywords contain the particular keyword specified (the gui keywords are specified in the .entity object)
|
virtual |
Override createRepository() to check if repository created in base class version is a DtSimVrfObjectBaseStateRepository (or a derived type).
If it is, returns true, if not Returns false.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Creates myVrfObjectPlanManager based on the type specified in mySubComponentTypes.
|
virtual |
|
virtual |
|
virtual |
Initialize component manager that has been created. Only call once!
|
virtual |
Accessors for navigation enabled.
The actual state is stored in the vrfState(). This will also be changed in the navigation interface (if created). If not created will be set into the interface when it is
|
virtual |
|
virtual |
Durning object reload from sccenario, controllers can add to this variable, such that when the read is done, an amount of scripts can be preallocated in the lua script manager based on the total number of objects.
Note that this value is only valid as of the time of a putSelf on this object
|
virtual |
|
virtual |
The id of the scenario being run (if set). Retrieved from the sim manager.
|
virtual |
Gets the current time of day from the environment manager.
|
virtual |
Gets the current date and time of day from the environment manager.
|
virtual |
Returns the shared object reference to this object. Looks it up in object manager.
|
virtual |
|
virtual |
How illuminated this object is.
Calculated from position and date/time to given sun/moon position. Calculated so often as defined in the moving object parameter
How illuminated we expect this object to be at the given time of day if it remains at its current location.
Calculated from position and date/time to given sun/moon position.
|
virtual |
Returns the weather object last calculated when the illumination was updated.
|
virtual |
Compute DtFeatureGeometry representation of object geometry.
|
virtual |
Updates illumination value by providing local position to environment manager to calculate illumination value.
|
virtual |
Updates weather object at the entities location.
|
virtual |
Sets the tick rate for updating range rings. Default is 5 seconds plus a random value (set in the range ring publisher)
|
virtual |
Creates range ring publisher and sets tick rate to 5 seconds plus a random value (set in the range ring publisher)
|
virtual |
Returns true if the entity has moved more than half a degree since (either in lat or lon) the last time the illumination was checked or the calculation time has changed.
|
virtual |
Returns true if the entity is almost on top of the entity specified.
If no distance is given, the entities half height + .5m is used
|
virtual |
|
virtual |
Returns true if this is an entity or a unit.
|
virtual |
|
virtual |
|
virtual |
Returns true if this chord intersects this entity. Uses the entities object geometry model.
Check terrain hit, and, if entity is embarked, and there is no terrain hit on parent, disembark. Will only check if embarked.
|
virtual |
Check to see if there are any entities at the location given that can be moved onto for embarkation.
If ther are then check to see if they are intersected. Return true if is
|
virtual |
Returns true if the object geometry model is high fidelity (loaded from an medf file)
|
virtual |
Returns true if the object has its object geometry model embedded into the terrain.
|
virtual |
Returns true if the entity has moved more than half a degree since (either in lat or lon) the last time the illumination was checked or the calculation time has changed for weather.
If illumination update is needed this will update weather as well
|
virtual |
Returns true if this object represents a global plan.
|
virtual |
Get a pointer to our sim manager.
|
virtual |
|
virtual |
Get pointers to our various types of subcomponents.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns the extent of the vrfObject, if the vrfObject has one.
If the vrfObject does not have an extent, and uninitialized extent is returned.
Implementation Detail: The extent is determined by transforming the vrfObjects local bounding volume to it's current location/orientation and then fitting an axis-aligned extent around the resulting world bounding volume.
|
virtual |
| const DtVrfObjectParameters* DtVrfObject::parameterEntry | ( | ) | const |
Parameters used by this object in it's definition.
| const DtMovingObjectParameters* DtVrfObject::movingObjectParameterEntry | ( | ) | const |
Moving object parameters used by this object.
Returns null if the parameter entry is of a different type.
|
virtual |
If the vrfObject has geometry, and thus an extent, then this function expands the specified extent to include the vrfObjects extent.
See the DtSsExtentIntersector for more information on why this function is necessary.
|
virtual |
Create and send a DtVrfObjectCreated message about ourself.
requestId is the requestId to be used in the message (request Ids are used to link a DtIfVrfCreated message to a DtCreateVrfObject message).
|
virtual |
Setup self from interface messages.
|
virtual |
Returns true if object is being simulated by a VR-Forces-simulated object, false if not.
|
virtual |
|
inlinevirtual |
|
virtual |
returns true if object is simulating components VR-Forces components can be attached to non- VR-Forces entities.
In that case a call to isLocal() will be false, and a call to isVrfSimulatedObject() might be true. Neither will indicate if the components are being simulated on this back end. Method isSimulatingComponents() will interrogate the component manager. The presence of components in the component manager indicates that this back end is responsible for handling ride-along attachment.
|
virtual |
Saves the object to the given std::string.
|
virtual |
Override to write out <use-default> string for unspecified parameters.
Reimplemented from DtReaderWriter.
|
virtual |
Override to do additional setup required when reading older oob, ovl files.
Reimplemented from DtReaderWriter.
Override to inform the vrfObjectManager when the name changes.
Returns true if successful. Names which are too long may cause a failure, see baseSetMarkingTest(). If the baseSetMarkingTest() fails and rename is true, this function generates the next standard name for the object, calls baseSetMarkingTest with that name and then returns false. If rename is false when the set name fails, the name is left unchanged and the function returns false.
|
virtual |
WARNING: These methods are obsolete but have been retained for backward compatibility.
These methods may be removed in a future release. If you are testing for changes in an object's vertices, then the methods addVerticesChangedCallback and removeVerticesChangedCallback should be used instead. These methods are now equivalent to the {add/remove}VerticesChangedCallback functions. If you need to check for changes to the object other than/in addition to changes to vertices, then define your own DtVrfObjectPredicate function, and register a callback associated with that predicate object using the addVrfObjectPredicateCallback function.
Register/remove a callback function to be invoked when the object changes.
|
virtual |
|
virtual |
Add/remove callback for when the navigation interface has changed due to navigation being enabled/disabled.
|
virtual |
|
virtual |
Adds/removes a callback to be invoked whenever an object's local vertices change.
If an object is attached to another object, this callback will be called for every movement of the parent object. If you desire callbacks invoked only on modification of the geometry, use addRelativeVerticesChangedCallback().
|
virtual |
|
virtual |
Adds/removes callbacks for when values in the object have changed.
This callback does not send the old value but rather just notifies (by flag) the value has changed
|
virtual |
|
virtual |
|
virtual |
Adds/removes a callback to be invoked whenever an object's relative vertices change.
I.e: A route attached to a moving object will have its local vertices changing, but not it's relative vertices.
|
virtual |
|
virtual |
Add/remove a callback function to be invoked when the DtVrfObject predicate object associated with it returns true().
|
virtual |
|
virtual |
For testing.
Returns the number of predicate callbacks registered with this object.
|
virtual |
Called each tick.
Iterates through myPredicateCallbackList, calling the predicate object's isTrue() function. If it time to test the predicate (isTimeToTest()) and the predicate's isTrue() function returns true, it invokes the associated callback function.
|
virtual |
Sets the coordinate system in mySimState (a DtVrfObjectStateRepository) and in myOvlVertices.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Set/get the entity's global Id.
The global Id can be used to uniquely identify an entity across all other applications/federates. Under HLA/RPR, DtGlobalObjectDesignator is typdef'd to a DtString, and under DIS, it is typedef'd to a DtObjectId.
|
virtual |
|
virtual |
Produces the same result as globalId().string(), but the result is cached for faster access in the future.
Set/get the name of the object.
Returns true if the name set was successful. Since there are length restrictions on the name (depending on the type of net interface and protocol being used) name setting may fail.
|
virtual |
|
virtual |
Deprecated as of 4.4 Used for backwards compatibility only.
If using as a means to lookup objects or send messages, use the uuid() method. For printing the actual marking text of the object use the markingText() method.
|
virtual |
Adds a new string which can be used to reference this object by name.
The object will register the alias with the ObjectManager.
|
virtual |
Unregisters all aliases with object manager and removes the aliases from the local alias list.
|
virtual |
Sets the UUID of this object. Use only if you know the repercussions of setting it!
|
virtual |
Returns the UUID of this object.
|
virtual |
Set/get the label of the object.
|
virtual |
|
virtual |
Set/get force type.
|
virtual |
|
virtual |
Get/set whether or not this item is a subordinate of force level. If changes a change callback will be made.
|
virtual |
|
virtual |
Set/get the overlay parent of the object.
|
virtual |
|
virtual |
VR-Link network state repository.
|
virtual |
|
virtual |
VR-Forces network interface.
|
virtual |
|
virtual |
|
virtual |
Set/get the object identifier (DIS/RPR site:host:entity).
|
virtual |
|
virtual |
Produces the same result as objectIdentifier().string(), but the result is cached for faster access in the future.
|
virtual |
Returns true if object is local (has the same simulation address as the manager), false if not.
|
virtual |
Set/get flag indicating whether or not object should be published.
|
virtual |
|
virtual |
set by factory on creation
|
virtual |
|
virtual |
same as type()
|
virtual |
Clear out vertices changed callback list.
Should only be called by the DtVrfObjectManager, upon queuing object for removal and deletion.
|
virtual |
Clear out relative vertices changed callback list.
Should only be called by the DtVrfObjectManager, upon queuing object for removal and deletion.
|
virtual |
Clear out object predicate callback list.
Should only be called by the DtVrfObjectManager, upon queuing object for removal and deletion.
|
static |
|
static |
a DtSimObjectFactory is allocated by the DtSimCreator, and this pointer is set.
The DtSimCreator deletes this pointer when it is deleted. This is done this way because we don't allow static initialization
|
static |
|
virtual |
|
virtual |
|
virtual |
| void DtVrfObject::setEntityType | ( | const DtEntityType & | entityType | ) |
| const DtEntityType& DtVrfObject::entityType | ( | ) | const |
| void DtVrfObject::setDestroyed | ( | bool | destroyed | ) |
| bool DtVrfObject::isDestroyed | ( | ) | const |
|
virtual |
place entity at 'location', on the ground, keeping its current heading
| Input | |
| location | new location for the entity |
| requireAllData | if true and dataAvailable is also specified this call will not make any changes to the entity unless all intersections have terrain data available. |
| Output | |
| dataAvailable | prevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information. |
|
virtual |
give entity the specified 'heading', but stay at its current location
| Input | |
| heading | new heading for the entity |
| requireAllData | if true and dataAvailable is also specified this call will not make any changes to the entity unless all intersections have terrain data available. |
| Output | |
| dataAvailable | prevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information. |
|
virtual |
place entity at specified 'location' and 'heading' on the ground
| Input | |
| location | new location for the entity |
| heading | new heading for the entity |
| requireAllData | if true and dataAvailable is also specified this call will not make any changes to the entity unless all intersections have terrain data available. |
| Output | |
| dataAvailable | prevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information. |
| const DtString& DtVrfObject::echelonIdString | ( | ) | const |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns first healthy subordinate if it exists, 0 if not.
|
inlinevirtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Given the local position vector, return a location that is relative to this entity given that position (in parent coordinates)
|
virtual |
Given the local velocity vector, return a velocity that is relative to this entity given that velocity (in parent coordinates)
|
virtual |
Given the local acceleration vector, return an acceleration that is relative to this entity given that acceleration (in parent coordinates)
|
virtual |
Given the local orientation vector, return an orientation that is relative to this entity given that orientation (in parent coordinates)
|
virtual |
| DtAttachedTerrain* DtVrfObject::terrainAttachedTo | ( | ) |
| const DtAttachedTerrain* DtVrfObject::terrainAttachedTo | ( | ) | const |
|
virtual |
|
virtual |
|
inline |
Set to true when object is about to be removed.
References myAboutToBeRemoved.
|
inline |
References myAboutToBeRemoved.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns a pointer to the object console member of this object.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
| const DtVrfObjectNavInterface* DtVrfObject::navInterface | ( | ) | const |
| DtVrfObjectNavInterface* DtVrfObject::navInterface | ( | ) |
|
virtual |
| DtVrfObjectSubComponentTypes* DtVrfObject::vrfSubComponentTypes | ( | ) | const |
For use in virtual construction.
Casts mySubComponentTypes to derived type.
|
virtual |
Duplicates the sub component type.
Call this if you need to modify the sub compoenent type as changing the default will change all objects that use this sub component type
|
virtual |
Restores (if duplicated) to parameter default for sub component types.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Returns true if this object is an ellipsoid object.
|
virtual |
Add/remove callback function to be invoked immediately following the point at which the newly created object gets initialized from its parameter entry.
The call to add a callback must be called before DtVrfObject::init gets called.
|
virtual |
|
virtual |
|
static |
Sets the notify level for all object consoles.
|
static |
|
virtual |
Add a lua script extension for this entity only.
The creator function passed in will be called every time a lua environment is created for this entity.
|
virtual |
Remove a lua script extension that was previously added.
|
virtual |
|
virtual |
Regenerates the existing UUID and maps it to be updated for import.
If scheduled to be read on load will set a flag to say that it should ignore the next getSelf on this as it has already been reworked
|
virtual |
Returned the current state of the object (as if putSelf were called)
Converts this object from a local object (if it is a local object) to an expected remote object.
These routines are for handing off control of an object from one back-end to another. Note that this should not be confused with the DIS/HLA concept of ownership transfer. This is not that. Also, these calls, since they will delete and recreate the network interface, really only work in DIS to make sure the handoff works correctly. In HLA this will not work due to restrictions on global id reuse Note that this object will not be considered fully remote until it is assigned a VR-Link reflected object from the network. This will either be done because the reflected object already exists or it will come into existence. Note that this call currently only works on entity objects.
|
virtual |
This object will be converted from a remote object to a locally simulated object.
If the archived state is given the controller will be restored from that archived state, however, the entity will take all it's current kinematic state data from the last known reflected object state. Currently only entities can be converted to local objects
| bool DtVrfObject::awaitingHandoffCompletion | ( | ) | const |
These calls are only made as part of a a VR-Link DIS/HLA handoff. These calls do not need to be made for other transport protocols Whether or not this object is waiting for handoff to be complete. Entities that are awaiting handoff completion cannot be ticked, but, they will be known to the system
|
virtual |
Completes the handoff from the VR-Link perspective.
Will only be called when the reflected VR-Link object is discovered for an object that is VR-Link based
|
virtual |
Callback registration and prepare. Callbacks are invoked when certain steps are preformed for the handoff. If the step is Prepare and you do not wish to have the object handed off, change the flag to Abort and the object will be rejected for handoff
|
virtual |
|
virtual |
|
virtual |
|
static |
Returns a newly created DtVrfObject.
This is the function that gets registered with the factory.
|
static |
Create and initialize a new sim object, using the factory.
|
static |
Create and initialize a new sim object, using the factory.
|
static |
Create and initialize a new sim object from a mtl stream.
|
static |
Create and initialize a new sim object from a mtl stream as created as part of a simulation object group.
The offset rotation is the amount to rotate the entire simulation object group around the center of mass (including changing headings). Angle is in radians
|
static |
Invokes all vertices-changed callbacks that have registered with the object.
Updates the predicate's (DtLclVerticesNotEqualPredicate) vertices.
|
static |
Invokes all relative-vertices-changed callbacks.
|
static |
Callback function registered with object's state repository.
Gets called immediately after DtVrfObjectStateRepository::initializeFromParameters gets called. Calls processPostInitFromParamsCallback.
|
static |
Callback function registered with the DtVrfSimSettings class.
Called by DtVrfObject::init().
|
virtual |
|
virtual |
Called right after this object is added to the object manager.
|
virtual |
Callback that is invoked when the entity is about to be removed from the simulation.
|
virtual |
|
virtual |
|
virtual |
Callback that is triggered when the object is modified via a VRF modify message.
|
virtual |
|
virtual |
|
virtual |
Callback that is invoked when the entity detects a new sensor contact or when a sensor contact's CID level is increased.
|
virtual |
|
virtual |
|
virtual |
Callback that is invoked when a set location request is completed.
|
virtual |
|
virtual |
|
virtual |
Accesses acoustics publisher. Use to set sonar or propulstion noise.
|
virtual |
|
virtual |
Updates geometry embedded into terrain (if configured) with current info.
|
protected |
assignment operator
|
protectedvirtual |
Initializes network interface (either from init() if created or finalizeObjectCreation())
|
protectedvirtual |
|
protectedvirtual |
|
protected |
Non virtual utility function - called in destructor.
|
protected |
Non-virtual utility function called in constructor.
|
protectedvirtual |
Validates the object type to make sure there are no -1s in the object type.
If there are, it will change them to 0's
|
protectedvirtual |
Invokes callback added through a call to addPostInitFromParamsCallback.
|
protectedvirtual |
Adds admin content callback registration.
Currently registers for DtSetOverlayLayerAdmin message
|
staticprotected |
|
protectedvirtual |
|
protectedvirtual |
Based on the entities current posture, update bounding geometry based on whether or not the entity is standing, prone or kneeling.
Calls down to human state repository to do the change
|
protectedvirtual |
Compute the extent, not lazy.
|
protectedvirtual |
Initializes object geometry for this model.
|
protectedvirtual |
Cleans up all the items that need to be removed in response to an authority handoff.
|
protectedvirtual |
Recreates all the items that were cleaned up as part of handoff process. This will create and initialize the objects.
|
mutableprotected |
|
mutableprotected |
lazy per-tick cache of extent
|
protected |
|
staticprotected |
|
protected |
|
mutableprotected |
|
protected |
passed in to constructor, held for SR construction
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
isLocal() used to check simulation address against object identifier to see if this was a local object, but myCreateLocalObject should already contain this information
|
protected |
Returns true if this is a vrf simulated object.
Locally set to the same value as passed into constructor for createLocal
|
protected |
Passed into constructor - held only to pass into create() function for virtual construction.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Used in create().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The following member data are backward compatible reading of ovl files No accessors/mutators provided.
They are just used in reading old ovl files.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
List of predicate function callbacks.
Users can register callbacks associated with a DtVrfObjectPredicate object. This class evaluates the isTrue() function associated with each predicate object. When isTrue() returns true, it invokes the callback function that it was registered with.
|
mutableprotected |
|
mutableprotected |
List of DtSimObjectCallbackFunction's, to be invoked when the object's position changes.
|
mutableprotected |
List of functions to call when the navigation interface has changed.
|
mutableprotected |
List of functions to call when some object data has changed.
List of DtSimObjectCallbackFunction's, to be invoked when the object's relative position changes.
|
mutableprotected |
List of callback functions to call when object data has changed.
|
mutableprotected |
List of callbacks that will be invoked at points during object handoff.
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
Set to true if this object is about to be removed from the object manager list.
Referenced by aboutToBeRemoved(), and setAboutToBeRemoved().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
This object will manage range rings from state and parameter data.
|
protected |
|
protected |
|
staticprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
Tracks whether illumination has been calculated this tick or not. Only calculate it once for performance.
|
mutableprotected |
|
mutableprotected |
The weather object retrieved the last time illumination was calculated.
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
The object geometry that this object can use to see if it intersects with a higher level fidelity model.
|
protected |
If the geometry for this object is embedded in the terrain this handle allows control.
|
protected |
|
protected |
|
protected |
|
protected |