22 #include <tbb/spin_rw_mutex.h>
32 #ifdef DtObjectDebugger_Enable
62 virtual DtLocation3D getLocation3dAllSubordinates(
bool bIncludeDestroyedSubordinates)
const;
68 virtual double getSpeed()
const;
71 virtual std::string getUUID()
const;
87 virtual std::list<std::string> getFormationNames();
90 virtual std::list<int> getFormationPromotionOrder(
const std::string& formationName);
93 virtual std::list<std::string> formationSubFormations(
94 const std::string& formationName);
98 virtual double getHeightAboveTerrain(
bool& available)
const;
105 bool & dataAvailable)
const;
114 virtual bool isPointInside(
const DtLocation3D &point)
const;
117 virtual bool independentlyTasked()
const;
124 bool &dataAvailable)
const;
127 virtual std::string getEntityType()
const;
131 virtual bool isAggregate()
const;
135 virtual bool isPseudoAggregate()
const;
139 virtual std::string getEchelonLevel()
const;
142 virtual std::string getForceType()
const;
145 virtual int getForceEnumeration()
const;
152 virtual std::string getDamageState()
const;
155 virtual unsigned getLifeformPosture()
const;
158 virtual unsigned getAppearance()
const;
161 virtual bool isDestroyed()
const;
164 virtual bool isFirePowerKilled()
const;
167 virtual bool isMobilityKilled()
const;
170 virtual bool isSensorKilled()
const;
173 virtual bool isInvisible()
const;
176 virtual bool isEmbarked()
const;
186 virtual std::list<DtScriptVrfObject> getEmbarkedObjects(
void)
const;
193 virtual std::list<DtScriptVrfObject> getSubordinates(
void)
const;
196 virtual std::list<DtScriptVrfObject> getVrfSubordinates(
bool isVrf)
const;
202 virtual double getGroundAltitude(
bool& isWater,
bool& dataAvailable);
205 virtual double recalculatePhysicalFootprintFromSubordinates(
const std::list<DtScriptVrfObject>&)
const;
212 virtual double getPartPitch(
int)
const;
213 virtual double getPartPitchIncludingParent(
int,
bool includeParent =
false)
const;
214 virtual double getPartHeading(
int)
const;
215 virtual double getPartHeadingIncludingParent(
int,
bool includeParent =
false)
const;
216 virtual double getPartTranslationForward(
int)
const;
217 virtual double getPartTranslationRight(
int)
const;
218 virtual double getPartTranslationUp(
int)
const;
219 virtual double getPartExtension(
int)
const;
225 virtual std::list<DtScriptVrfObject> getAllSubordinates(
void)
const;
227 virtual std::list<DtScriptVrfObject> getAllVrfSubordinates(
bool isVrf)
const;
229 virtual std::list<DtScriptVrfObject> getCapableSubordinates(
void)
const;
230 virtual std::list<DtScriptVrfObject> getCapableVrfSubordinates(
bool isVrf)
const;
232 virtual std::list<DtScriptVrfObject> getAllCapableSubordinates(
void)
const;
233 virtual std::list<DtScriptVrfObject> getAllCapableVrfSubordinates(
bool isVrf)
const;
236 virtual bool isVrfSimulated()
const;
238 virtual std::list<DtLocation3D> getLocations3D(
void)
const;
240 virtual std::string getName()
const;
241 virtual std::string getLabel()
const;
242 virtual std::string getExtendedLabel(
int)
const;
244 virtual int getAirTurbulence()
const;
246 virtual std::string getGlobalId()
const;
247 virtual std::string getObjectId()
const;
249 virtual double getHeading()
const;
250 virtual double getPitch()
const;
251 virtual double getRoll()
const;
253 virtual double getDraft()
const;
256 void terrainSurfaceDebug();
262 bool isDeleted()
const;
263 virtual bool isValid()
const;
266 virtual bool isLocal()
const;
278 virtual std::string getNbcDamage(
int& dmgPerSec,
int& moppLvl)
const;
281 virtual std::string getNbcAgent()
const;
284 virtual bool isBreached()
const;
287 virtual std::string getExtendedData(
const std::string& key)
const;
298 const DtLocation3D& point2,
bool& hasIntersection)
const;
301 virtual std::string getCallsign()
const;
304 virtual bool isActive()
const;
311 virtual bool hasStateProperty(
const std::string& propertyName);
312 virtual bool hasParameterProperty(
const std::string& propertyName);
316 virtual std::string getDiGuyHandItem()
const;
321 virtual bool isAnimationAvailable(
const std::string& animationName)
const;
324 virtual bool isAppearanceAvailable(
const std::string& appearanceName)
const;
327 virtual bool isHandItemAvailable(
const std::string& handItemName)
const;
330 virtual bool isHeadAvailable(
const std::string& headName)
const;
333 virtual bool isGestureAvailable(
const std::string& gestureName)
const;
336 virtual double animationDuration(
const std::string& animationName)
const;
339 virtual double animationSpeed(
const std::string& animationName)
const;
343 virtual double getAnimationTransitionInfo(
const std::string& fromAnimation,
const std::string& toAnimation,
368 void testValid()
const;
371 bool testAggregateSimObjectValid()
const;
407 #ifdef DtObjectDebugger_Enable
420 void setHeading(
const double heading);
421 void setPitch(
const double heading);
423 virtual void setLabel(
const std::string&);
424 virtual void setExtendedLabel(
int,
const std::string&);
425 virtual void setNavigationEnabled(
bool);
431 virtual std::list<std::string> getResourceNames(
void)
const;
440 virtual double getResourceAmounts(
const std::string& resourceName,
double* fullAmount)
const;
443 virtual void depleteResource(
const std::string& resourceName,
double amount);
446 virtual void replenishResource(
const std::string& resourceName,
double amount);
449 virtual int getNotifyLevel()
const;
452 virtual std::string getCurrentFormationName();
459 virtual std::string getMunitionType(
const std::string& resourceName);
464 virtual bool addResource(
const std::string& resourceType,
const std::string& resourceName,
465 double currentAmount,
double fullAmount);
469 virtual void updateStateAndParameterProperties();
472 virtual void removeResource(
const std::string& resourceName);
475 virtual double getOrderedSpeed()
const;
478 virtual bool isUnderFire()
const;
483 virtual int suppressionLevel()
const;
486 virtual std::string nonLethalDamageEffect()
const;
490 virtual std::list<DtScriptVrfObject> getObservedHostileContacts(
void);
496 virtual std::list<DtScriptVrfObject> getAllHostileContacts(
void);
501 virtual std::list<DtScriptVrfObject> getAllContacts(
void);
513 virtual bool registerDetonationInterest(
double range,
514 const std::string& munitionType);
517 virtual void setOperationInProgress(
int,
bool b);
521 virtual bool registerFireInterest(
double range,
522 const std::string& munitionType);
528 virtual bool getLastDetonation(std::string& munitionType,
DtLocation3D& location);
531 virtual void clearLastDetonation();
544 virtual bool getLastFire(std::string& munitionType,
DtLocation3D& location);
548 virtual void setDestroyed(
bool destroyed);
551 virtual std::string getRulesOfEngagement();
554 virtual void setRulesOfEngagement(
const std::string& rule);
557 virtual bool isTargetAllowedByRulesOfEngagement(
const DtScriptVrfObject& targetObj);
563 virtual std::list<std::string> embeddedEntityNames();
567 virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
571 virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
581 virtual std::string embeddedEntityStatus(std::string eeName);
601 virtual void changeAttachment(
const std::string& parentUUID );
604 virtual void setExtendedData(
const std::string& key,
const std::string& val);
610 virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(
const std::string& systemName);
613 virtual std::list<std::string> getSystemNames();
617 virtual std::string getSystemCategory(
const std::string& systemName);
620 virtual bool isCapableOfTask(std::string taskName);
637 virtual bool getNavigationEnabled()
const;
645 virtual void clearAssignedTransport()
const;
675 static bool processFire(
const DtFireContext& fireContext,
void* usr);
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual bool hasStateProperty(const std::string &propertyName)
Checks to see if the property exists. It is OK to call the get... Lua API functions when the property...
std::string myLastFireMunition
The munition type of the last fire.
Definition: scriptVrfObject.h:684
virtual bool isValid() const
DtPlatformSimObjectFacade myPlatformSimObjectFacade
Definition: scriptVrfObject.h:390
Definition: asciiSerializable.h:38
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
#define DT_DEFINE_OBJECT_DEBUGGER_NAME(type)
Definition: objectCounter.h:31
Default on in debug, off in release.
Definition: objectCounter.h:27
DtSimObjectReference simObjectReference() const
For use by C++ side methods. Call testValid() to try and fill in object pointer (if does not exist) o...
Definition: scriptVrfObject.h:365
DT_DLL_features std::ostream & operator<<(std::ostream &, const DtFeatureTransform &)
std::ostream output.
const DtSimulationServices * simulationServices() const
Simulation services associated with this object.
Contains the DtUUID class declaration.
virtual DtString serialize()=0
The following characters are reserved and cannot be used in serialization: '|', ':'.
The DtFireContext class exists to contain all the relevent information necessary for an entity to pro...
Definition: fireContext.h:23
DtVrfSimulatedSimObjectFacade myVrfSimulatedSimObjectFacade
Definition: scriptVrfObject.h:386
uuid class
Definition: rwUUID.h:26
virtual bool hasParameterProperty(const std::string &propertyName)
Checks to see if the property exists. It is OK to call the get... Lua API functions when the property...
This class is a wrapper for a DtScriptDetonation for use by scripts. It derives from DtAsciiSerializa...
Definition: scriptDetonation.h:18
VectorOffset3D is a direction vector that is relative to some direction specified by a Vector3D...
Definition: scriptGeometry.h:424
static const DtUUID & nullUUID()
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
virtual DtScriptVrfObject getEmbarkedOn() const
Parent this object is embarked on.
The DtDetonationContext contains all the information necessary for processing a Detonation Interactio...
Definition: detonationContext.h:23
DtSimObjectReference mySimObjectReference
Definition: scriptVrfObject.h:385
DtLocalObject * myLocalObject
Definition: scriptVrfObject.h:692
virtual DtString objectType() const =0
Should return the string name of this object. The object name should not be part of the serialization...
DtVector3D is a vector in earth-relative coordinates, e.g. east-north or heading-range. Its direction in space depends on where on the earth it is attached (like topocentric coordinates).
Definition: scriptGeometry.h:157
VRF4API_METHOD DtSimObjectReference vrfObject() const
Definition: scriptVrfObject.h:393
const DtSimulationServices * mySimulationServices
Definition: scriptVrfObject.h:384
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
virtual bool isEmbarked() const
Returns whether or not this item is embarked on any other item.
The "this" version is the own-ship object. It is separated to allow special functions for the ownshi...
Definition: scriptVrfObject.h:405
This class is a wrapper for a DtCompSystem for use by scripts. It derives from DtAsciiSerializable so...
Definition: scriptComponentSystem.h:18
voidpf uLong offset
Definition: ioapi.h:42
std::map< std::string, DtScriptComponentSystem * > myScriptComponentSystems
List of systems which we have previously looked up, by name.
Definition: scriptVrfObject.h:690
DtScriptDetonation myLastDetonation
Store information from last detonation in here.
Definition: scriptVrfObject.h:681
virtual std::list< DtScriptVrfObject > getAllVrfSubordinates(bool isVrf) const
#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
static DtScriptVrfObject nullObject()
Returns a null object.
Definition: scriptVrfObject.h:374
DtAggregateSimObjectFacade * myAggregateSimObjectFacade
Convenience classes that can be used if the object is of the given type.
Definition: scriptVrfObject.h:389
DtLocation3D myLastFireLocation
The location of the last fire.
Definition: scriptVrfObject.h:687
DtRwUUID myUUID
Definition: scriptVrfObject.h:383
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
Definition: scriptVrfObject.h:30
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22