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 bool isActive()
const;
308 virtual bool hasStateProperty(
const std::string& propertyName);
309 virtual bool hasParameterProperty(
const std::string& propertyName);
313 virtual std::string getDiGuyHandItem()
const;
318 virtual bool isAnimationAvailable(
const std::string& animationName)
const;
321 virtual bool isAppearanceAvailable(
const std::string& appearanceName)
const;
324 virtual bool isHandItemAvailable(
const std::string& handItemName)
const;
327 virtual bool isHeadAvailable(
const std::string& headName)
const;
330 virtual bool isGestureAvailable(
const std::string& gestureName)
const;
333 virtual double animationDuration(
const std::string& animationName)
const;
336 virtual double animationSpeed(
const std::string& animationName)
const;
340 virtual double getAnimationTransitionInfo(
const std::string& fromAnimation,
const std::string& toAnimation,
365 void testValid()
const;
368 bool testAggregateSimObjectValid()
const;
404 #ifdef DtObjectDebugger_Enable
417 void setHeading(
const double heading);
418 void setPitch(
const double heading);
420 virtual void setLabel(
const std::string&);
421 virtual void setExtendedLabel(
int,
const std::string&);
422 virtual void setNavigationEnabled(
bool);
428 virtual std::list<std::string> getResourceNames(
void)
const;
437 virtual double getResourceAmounts(
const std::string& resourceName,
double* fullAmount)
const;
440 virtual void depleteResource(
const std::string& resourceName,
double amount);
443 virtual void replenishResource(
const std::string& resourceName,
double amount);
446 virtual int getNotifyLevel()
const;
449 virtual std::string getCurrentFormationName();
456 virtual std::string getMunitionType(
const std::string& resourceName);
461 virtual bool addResource(
const std::string& resourceType,
const std::string& resourceName,
462 double currentAmount,
double fullAmount);
466 virtual void updateStateAndParameterProperties();
469 virtual void removeResource(
const std::string& resourceName);
472 virtual double getOrderedSpeed()
const;
475 virtual bool isUnderFire()
const;
480 virtual int suppressionLevel()
const;
483 virtual std::string nonLethalDamageEffect()
const;
487 virtual std::list<DtScriptVrfObject> getObservedHostileContacts(
void);
493 virtual std::list<DtScriptVrfObject> getAllHostileContacts(
void);
498 virtual std::list<DtScriptVrfObject> getAllContacts(
void);
510 virtual bool registerDetonationInterest(
double range,
511 const std::string& munitionType);
514 virtual void setOperationInProgress(
int,
bool b);
518 virtual bool registerFireInterest(
double range,
519 const std::string& munitionType);
525 virtual bool getLastDetonation(std::string& munitionType,
DtLocation3D& location);
528 virtual void clearLastDetonation();
541 virtual bool getLastFire(std::string& munitionType,
DtLocation3D& location);
545 virtual void setDestroyed(
bool destroyed);
548 virtual std::string getRulesOfEngagement();
551 virtual void setRulesOfEngagement(
const std::string& rule);
554 virtual bool isTargetAllowedByRulesOfEngagement(
const DtScriptVrfObject& targetObj);
560 virtual std::list<std::string> embeddedEntityNames();
564 virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
568 virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
578 virtual std::string embeddedEntityStatus(std::string eeName);
598 virtual void changeAttachment(
const std::string& parentUUID );
601 virtual void setExtendedData(
const std::string& key,
const std::string& val);
607 virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(
const std::string& systemName);
610 virtual std::list<std::string> getSystemNames();
614 virtual std::string getSystemCategory(
const std::string& systemName);
617 virtual bool isCapableOfTask(std::string taskName);
634 virtual bool getNavigationEnabled()
const;
642 virtual void clearAssignedTransport()
const;
672 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:681
virtual bool isValid() const
DtPlatformSimObjectFacade myPlatformSimObjectFacade
Definition: scriptVrfObject.h:387
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:362
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:383
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:382
DtLocalObject * myLocalObject
Definition: scriptVrfObject.h:689
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:390
const DtSimulationServices * mySimulationServices
Definition: scriptVrfObject.h:381
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:94
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:402
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:687
DtScriptDetonation myLastDetonation
Store information from last detonation in here.
Definition: scriptVrfObject.h:678
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:371
DtAggregateSimObjectFacade * myAggregateSimObjectFacade
Convenience classes that can be used if the object is of the given type.
Definition: scriptVrfObject.h:386
DtLocation3D myLastFireLocation
The location of the last fire.
Definition: scriptVrfObject.h:684
DtRwUUID myUUID
Definition: scriptVrfObject.h:380
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