21 #include <tbb/spin_rw_mutex.h>
31 #ifdef DtObjectDebugger_Enable
58 virtual DtLocation3D getLocation3dAllSubordinates(
bool bIncludeDestroyedSubordinates)
const;
61 virtual double getSpeed()
const;
64 virtual std::string getUUID()
const;
80 virtual std::list<std::string> getFormationNames();
83 virtual std::list<int> getFormationPromotionOrder(
const std::string& formationName);
86 virtual std::list<std::string> formationSubFormations(
87 const std::string& formationName);
91 virtual double getHeightAboveTerrain(
bool& available)
const;
98 bool & dataAvailable)
const;
107 virtual bool isPointInside(
const DtLocation3D &point)
const;
110 virtual bool independentlyTasked()
const;
117 bool &dataAvailable)
const;
120 virtual std::string getEntityType()
const;
124 virtual bool isAggregate()
const;
128 virtual bool isPseudoAggregate()
const;
132 virtual std::string getEchelonLevel()
const;
135 virtual std::string getForceType()
const;
138 virtual int getForceEnumeration()
const;
145 virtual std::string getDamageState()
const;
148 virtual unsigned getLifeformPosture()
const;
151 virtual unsigned getAppearance()
const;
154 virtual bool isDestroyed()
const;
157 virtual bool isFirePowerKilled()
const;
160 virtual bool isMobilityKilled()
const;
163 virtual bool isSensorKilled()
const;
166 virtual bool isInvisible()
const;
169 virtual bool isEmbarked()
const;
179 virtual std::list<DtScriptVrfObject> getEmbarkedObjects(
void)
const;
186 virtual std::list<DtScriptVrfObject> getSubordinates(
void)
const;
189 virtual std::list<DtScriptVrfObject> getVrfSubordinates(
bool isVrf)
const;
195 virtual double recalculatePhysicalFootprintFromSubordinates(
const std::list<DtScriptVrfObject>&)
const;
202 virtual double getPartPitch(
int)
const;
203 virtual double getPartPitchIncludingParent(
int,
bool includeParent =
false)
const;
204 virtual double getPartHeading(
int)
const;
205 virtual double getPartHeadingIncludingParent(
int,
bool includeParent =
false)
const;
206 virtual double getPartTranslationForward(
int)
const;
207 virtual double getPartTranslationRight(
int)
const;
208 virtual double getPartTranslationUp(
int)
const;
214 virtual std::list<DtScriptVrfObject> getAllSubordinates(
void)
const;
216 virtual std::list<DtScriptVrfObject> getAllVrfSubordinates(
bool isVrf)
const;
218 virtual std::list<DtScriptVrfObject> getCapableSubordinates(
void)
const;
219 virtual std::list<DtScriptVrfObject> getCapableVrfSubordinates(
bool isVrf)
const;
222 virtual bool isVrfSimulated()
const;
224 virtual std::list<DtLocation3D> getLocations3D(
void)
const;
226 virtual std::string getName()
const;
227 virtual std::string getLabel()
const;
228 virtual std::string getExtendedLabel(
int)
const;
230 virtual int getAirTurbulence()
const;
232 virtual std::string getGlobalId()
const;
233 virtual std::string getObjectId()
const;
235 virtual double getHeading()
const;
236 virtual double getPitch()
const;
237 virtual double getRoll()
const;
239 virtual double getDraft()
const;
242 void terrainSurfaceDebug();
248 bool isDeleted()
const;
249 virtual bool isValid()
const;
252 virtual bool isLocal()
const;
264 virtual std::string getNbcDamage(
int& dmgPerSec,
int& moppLvl)
const;
267 virtual std::string getNbcAgent()
const;
270 virtual bool isBreached()
const;
273 virtual std::string getExtendedData(
const std::string& key)
const;
284 const DtLocation3D& point2,
bool& hasIntersection)
const;
287 virtual bool isActive()
const;
294 virtual bool hasStateProperty(
const std::string& propertyName);
295 virtual bool hasParameterProperty(
const std::string& propertyName);
299 virtual std::string getDiGuyHandItem()
const;
304 virtual bool isAnimationAvailable(
const std::string& animationName)
const;
307 virtual bool isAppearanceAvailable(
const std::string& appearanceName)
const;
310 virtual bool isHandItemAvailable(
const std::string& handItemName)
const;
313 virtual bool isHeadAvailable(
const std::string& headName)
const;
316 virtual bool isGestureAvailable(
const std::string& gestureName)
const;
319 virtual double animationDuration(
const std::string& animationName)
const;
322 virtual double animationSpeed(
const std::string& animationName)
const;
326 virtual double getAnimationTransitionInfo(
const std::string& fromAnimation,
const std::string& toAnimation,
351 void testValid()
const;
354 bool testAggregateSimObjectValid()
const;
387 #ifdef DtObjectDebugger_Enable
400 void setHeading(
const double heading);
401 void setPitch(
const double heading);
403 virtual void setLabel(
const std::string&);
404 virtual void setExtendedLabel(
int,
const std::string&);
405 virtual void setNavigationEnabled(
bool);
411 virtual std::list<std::string> getResourceNames(
void)
const;
420 virtual double getResourceAmounts(
const std::string& resourceName,
double* fullAmount)
const;
423 virtual void depleteResource(
const std::string& resourceName,
double amount);
426 virtual void replenishResource(
const std::string& resourceName,
double amount);
429 virtual int getNotifyLevel()
const;
432 virtual std::string getCurrentFormationName();
439 virtual std::string getMunitionType(
const std::string& resourceName);
444 virtual bool addResource(
const std::string& resourceType,
const std::string& resourceName,
445 double currentAmount,
double fullAmount);
449 virtual void updateStateAndParameterProperties();
452 virtual void removeResource(
const std::string& resourceName);
455 virtual double getOrderedSpeed()
const;
458 virtual bool isUnderFire()
const;
463 virtual int suppressionLevel()
const;
466 virtual std::string nonLethalDamageEffect()
const;
470 virtual std::list<DtScriptVrfObject> getObservedHostileContacts(
void);
476 virtual std::list<DtScriptVrfObject> getAllHostileContacts(
void);
481 virtual std::list<DtScriptVrfObject> getAllContacts(
void);
490 virtual bool registerDetonationInterest(
double range,
491 const std::string& munitionType);
495 virtual bool registerFireInterest(
double range,
496 const std::string& munitionType);
502 virtual bool getLastDetonation(std::string& munitionType,
DtLocation3D& location);
508 virtual bool getLastFire(std::string& munitionType,
DtLocation3D& location);
512 virtual void setDestroyed(
bool destroyed);
515 virtual std::string getRulesOfEngagement();
518 virtual void setRulesOfEngagement(
const std::string& rule);
521 virtual std::list<std::string> embeddedEntityNames();
525 virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
529 virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
539 virtual std::string embeddedEntityStatus(std::string eeName);
559 virtual void changeAttachment(
const std::string& parentUUID );
562 virtual void setExtendedData(
const std::string& key,
const std::string& val);
568 virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(
const std::string& systemName);
571 virtual std::list<std::string> getSystemNames();
575 virtual std::string getSystemCategory(
const std::string& systemName);
592 virtual bool getNavigationEnabled()
const;
600 virtual void clearAssignedTransport()
const;
631 static bool processFire(
const DtFireContext& fireContext,
void* usr);
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
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:643
virtual bool isValid() const
DtPlatformSimObjectFacade myPlatformSimObjectFacade
Definition: scriptVrfObject.h:373
std::string myLastDetonationMunition
The munition type of the last detonation.
Definition: scriptVrfObject.h:637
Definition: asciiSerializable.h:34
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:265
Default on in debug, off in release.
Definition: objectCounter.h:31
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:369
Description: Readable, Writable uuid string. Use this class in order to convert from object marking t...
Definition: rwUUID.h:428
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...
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:368
DtLocalObject * myLocalObject
Definition: scriptVrfObject.h:651
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
const DtSimulationServices * mySimulationServices
Definition: scriptVrfObject.h:367
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:89
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:385
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:649
virtual std::list< DtScriptVrfObject > getAllVrfSubordinates(bool isVrf) const
static DtScriptVrfObject nullObject()
Returns a null object.
Definition: scriptVrfObject.h:357
DtAggregateSimObjectFacade * myAggregateSimObjectFacade
Convenience classes that can be used if the object is of the given type.
Definition: scriptVrfObject.h:372
DtLocation3D myLastFireLocation
The location of the last fire.
Definition: scriptVrfObject.h:646
DtRwUUID myUUID
Definition: scriptVrfObject.h:366
DtLocation3D myLastDetonationLocation
The location of the last detonation.
Definition: scriptVrfObject.h:640
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
DtSimObjectReference vrfObject() const
For use by C++ side methods. Call testValid() to try and fill in object pointer (if does not exist) o...
Definition: scriptVrfObject.h:348
Definition: scriptVrfObject.h:29
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22