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;
297 const DtLocation3D& point2,
bool& hasIntersection )
const;
300 virtual std::string getCallsign()
const;
303 virtual bool isActive()
const;
310 virtual bool hasStateProperty(
const std::string& propertyName);
311 virtual bool hasParameterProperty(
const std::string& propertyName );
315 virtual std::string getDiGuyHandItem()
const;
321 std::string diguyCharacterType()
const;
325 virtual bool isAnimationAvailable(
const std::string& animationName )
const;
329 virtual bool isCompatibleAnimationAvailable(
const std::string& animationName )
const;
334 virtual bool isCharacterAnimationAvailable(
const std::string& animationName,
bool checkCompatible )
const;
337 virtual bool isAppearanceAvailable(
const std::string& appearanceName )
const;
340 virtual bool isHandItemAvailable(
const std::string& handItemName )
const;
343 virtual bool isHeadAvailable(
const std::string& headName )
const;
346 virtual bool isGestureAvailable(
const std::string& gestureName )
const;
349 virtual double animationDuration(
const std::string& animationName )
const;
352 virtual double animationSpeed(
const std::string& animationName )
const;
356 virtual double getAnimationTransitionInfo(
const std::string& fromAnimation,
const std::string& toAnimation,
381 void testValid()
const;
384 bool testAggregateSimObjectValid()
const;
420 #ifdef DtObjectDebugger_Enable
433 void setHeading(
const double heading);
434 void setPitch(
const double heading);
438 virtual std::string getResourceTypeFromResourceName(std::string resourceName);
440 virtual void setLabel(
const std::string&);
441 virtual void setExtendedLabel(
int,
const std::string&);
442 virtual void setNavigationEnabled(
bool);
448 virtual std::list<std::string> getResourceNames(
void)
const;
449 virtual std::list<std::string> getResourceNamesFromBin(
int bin)
const;
458 virtual double getResourceAmounts(
const std::string& resourceName,
double* fullAmount)
const;
459 virtual double getResourceAmountsFromBin(
const std::string& resourceName,
int bin,
double* fullAmount)
const;
462 virtual void depleteResource(
const std::string& resourceName,
double amount);
463 virtual void depleteResourceFromBin(
const std::string& resourceName,
int bin,
double amount);
466 virtual void replenishResource(
const std::string& resourceName,
double amount);
467 virtual void replenishResourceFromBin(
const std::string& resourceName,
int bin,
double amount);
470 virtual int getNotifyLevel()
const;
473 virtual std::string getCurrentFormationName();
480 virtual std::string getMunitionType(
const std::string& resourceName);
485 virtual bool addResource(
const std::string& resourceType,
const std::string& resourceName,
486 double currentAmount,
double fullAmount);
487 virtual bool addResourceToBin(
const std::string& resourceName,
488 double currentAmount,
double fullAmount,
int bin);
492 virtual void updateStateAndParameterProperties();
495 virtual void removeResource(
const std::string& resourceName);
496 virtual void removeResourceFromBin(
const std::string& resourceName,
int bin);
499 virtual double getOrderedSpeed()
const;
502 virtual bool isUnderFire()
const;
507 virtual int suppressionLevel()
const;
510 virtual std::string nonLethalDamageEffect()
const;
516 virtual std::vector<DtScriptVrfObject> getAllHostileContacts(
void)
const;
521 virtual std::list<DtScriptVrfObject> getAllContacts(
void);
537 virtual bool registerDetonationInterest(
double range,
538 const std::string& munitionType);
541 virtual void setOperationInProgress(
int,
bool b);
545 virtual bool registerFireInterest(
double range,
546 const std::string& munitionType);
552 virtual bool getLastDetonation(std::string& munitionType,
DtLocation3D& location);
555 virtual void clearLastDetonation();
568 virtual bool getLastFire(std::string& munitionType,
DtLocation3D& location);
572 virtual void setDestroyed(
bool destroyed);
575 virtual std::string getRulesOfEngagement();
578 virtual void setRulesOfEngagement(
const std::string& rule);
581 virtual bool isTargetAllowedByRulesOfEngagement(
const DtScriptVrfObject& targetObj);
587 virtual std::list<std::string> embeddedEntityNames();
591 virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
595 virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
605 virtual std::string embeddedEntityStatus(std::string eeName);
625 virtual void changeAttachment(
const std::string& parentUUID );
628 virtual void setExtendedData(
const std::string& key,
const std::string& val);
634 virtual std::shared_ptr<DtScriptComponentSystem> lookupSystem(
const std::string& systemName);
637 virtual std::list<std::string> getSystemNames();
641 virtual std::string getSystemCategory(
const std::string& systemName);
644 virtual bool isCapableOfTask(std::string taskName);
661 virtual bool getNavigationEnabled()
const;
669 virtual void clearAssignedTransport()
const;
678 virtual bool hasInternalStateProperty(
const std::string& context,
const std::string& propertyName);
688 virtual bool isValid()
const override;
700 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:709
virtual bool isValid() const
DtPlatformSimObjectFacade myPlatformSimObjectFacade
Definition: scriptVrfObject.h:403
Definition: asciiSerializable.h:40
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
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:378
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:24
DtVrfSimulatedSimObjectFacade myVrfSimulatedSimObjectFacade
Definition: scriptVrfObject.h:399
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:428
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:398
DtLocalObject * myLocalObject
Definition: scriptVrfObject.h:717
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:161
VRF4API_METHOD DtSimObjectReference vrfObject() const
Definition: scriptVrfObject.h:406
const DtSimulationServices * mySimulationServices
Definition: scriptVrfObject.h:397
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
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:418
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:715
DtScriptDetonation myLastDetonation
Store information from last detonation in here.
Definition: scriptVrfObject.h:706
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:23
static DtScriptVrfObject nullObject()
Returns a null object.
Definition: scriptVrfObject.h:387
DtAggregateSimObjectFacade * myAggregateSimObjectFacade
Convenience classes that can be used if the object is of the given type.
Definition: scriptVrfObject.h:402
DtLocation3D myLastFireLocation
The location of the last fire.
Definition: scriptVrfObject.h:712
DtRwUUID myUUID
Definition: scriptVrfObject.h:396
A locally simulated VRF object.
Definition: localObject.h:98
Definition: scriptVrfObject.h:30
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22