VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptVrfObject.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 
10 #include "vrfobjcore/vrfObject.h"
11 #include <vrfutil/rwUUID.h>
12 #include <vrfutil/scriptGeometry.h>
13 #include <string>
15 #include <vrfutil/objectCounter.h>
16 #include "vrfcore/simManager.h"
17 #include <stdexcept>
18 #include <vrfutil/rwUUID.h>
19 
22 
24  : public DtAsciiSerializable
25  , public DtObjectDebugger<DtScriptVrfObject>
26 {
27 public:
28  DtScriptVrfObject(const DtUUID& name, DtVrfObject* const vrfObject);
29  DtScriptVrfObject(const DtUUID& name, DtSimManager* simManager,
30  DtVrfObject* const vrfObject);
32 
33  DtScriptVrfObject& operator=(const DtScriptVrfObject &orig);
34 
36 
37  bool operator==(const DtScriptVrfObject& orig);
38 
41 
43  virtual DtLocation3D getLocation3D() const;
44 
46  virtual double getSpeed() const;
47 
49  virtual std::string getUUID() const;
50 
57  virtual DtVector3D getDirection3D() const;
58 
61  virtual DtVector3D getVelocity3D() const;
63 
66  virtual double getHeightAboveTerrain(bool& available) const;
67 
72  virtual bool hasLosToObject(const DtScriptVrfObject &target,
73  bool & dataAvailable) const;
74 
79  virtual void changeAttachment(const std::string& parentUUID ) const;
80 
88  virtual bool isPointInside(const DtLocation3D &point) const;
89 
91  virtual bool independentlyTasked() const;
92 
97  virtual bool hasLosToLocation(DtLocation3D &targetLoc,
98  bool &dataAvailable) const;
99 
101  virtual std::string getEntityType() const;
102 
105  virtual bool isAggregate() const;
106 
109  virtual bool isPseudoAggregate() const;
110 
113  virtual std::string getEchelonLevel() const;
114 
116  virtual std::string getForceType() const;
117 
119  virtual int getForceEnumeration() const;
120 
123  virtual void setNavigationEnabled(bool);
124  virtual bool getNavigationEnabled() const;
126 
132  virtual std::string getDamageState() const;
133 
135  virtual unsigned getLifeformPosture() const;
136 
138  virtual unsigned getAppearance() const;
139 
141  virtual bool isDestroyed() const;
142 
144  virtual bool isFirePowerKilled() const;
145 
147  virtual bool isMobilityKilled() const;
148 
150  virtual bool isSensorKilled() const;
151 
153  virtual bool isInvisible() const;
154 
156  virtual bool isEmbarked() const;
157 
159  virtual void attachToParent(DtScriptVrfObject&) const;
160 
163  virtual bool isOnTopOf(DtScriptVrfObject&) const;
164  virtual bool isOnTopOfWithDistance(DtScriptVrfObject&, double) const;
165 
167  virtual DtScriptVrfObject getEmbarkedOn() const;
168 
169  virtual std::list<DtScriptVrfObject> getEmbarkedObjects(void)const;
170 
171  virtual DtVectorOffset3D getOffsetFromParent() const;
172 
173  virtual DtVectorOffset3D getOffsetOfLocation(const DtLocation3D& location) const;
174 
176  virtual std::list<DtScriptVrfObject> getSubordinates(void) const;
177 
179  virtual std::list<DtScriptVrfObject> getVrfSubordinates(bool isVrf) const;
180 
182  virtual DtScriptVrfObject getSuperior() const;
183 
185  virtual double recalculatePhysicalFootprintFromSubordinates(const std::list<DtScriptVrfObject>&) const;
186 
190  virtual DtVectorOffset3D getPartParentPosition(int) const;
191  virtual DtLocation3D getPartWorldPosition(int) const;
192  virtual double getPartPitch(int) const;
193  virtual double getPartPitchIncludingParent(int, bool includeParent = false) const;
194  virtual double getPartHeading(int) const;
195  virtual double getPartHeadingIncludingParent(int, bool includeParent = false) const;
197 
201  virtual std::list<DtScriptVrfObject> getAllSubordinates(void) const;
202 
203  virtual std::list<DtScriptVrfObject> getAllVrfSubordinates(bool isVrf) const;
204 
205  virtual std::list<DtScriptVrfObject> getCapableSubordinates(void) const;
206  virtual std::list<DtScriptVrfObject> getCapableVrfSubordinates(bool isVrf) const;
207 
209  virtual bool isVrfSimulated() const;
210 
211  virtual std::list<DtLocation3D> getLocations3D(void)const;
212 
213  virtual std::string getName() const;
214  virtual std::string getLabel() const;
215  virtual void setLabel(const std::string&);
216  virtual std::string getExtendedLabel(int) const;
217  virtual void setExtendedLabel(int, const std::string&);
218  virtual std::string getGlobalId() const;
219  virtual std::string getObjectId() const;
220 
221  virtual double getHeading() const;
222  virtual double getPitch() const;
223  virtual double getRoll() const;
224 
225  virtual double getDraft() const;
226 
228  void terrainSurfaceDebug();
229 
231  void deleteObject();
232 
234  bool isDeleted() const;
235  virtual bool isValid() const;
236 
238  virtual bool isLocal() const;
239 
241  virtual DtVectorOffset3D getBoundingVolume(DtVectorOffset3D& offset) const;
242 
245  virtual std::string getNbcDamage(int& dmgPerSec, int& moppLvl) const;
246 
248  virtual std::string getNbcAgent() const;
249 
251  virtual bool isBreached() const;
252 
254  virtual std::string getExtendedData(const std::string& key) const;
255 
258  virtual DtLocation3D getClosestPointToLocation2D(const DtLocation3D& location,
259  double& distance) const;
260 
264  virtual DtLocation3D getIntersectionPointWithLine2D(const DtLocation3D& point1,
265  const DtLocation3D& point2, bool& hasIntersection) const;
266 
268  virtual bool isActive() const;
269 
275  bool hasStateProperty(const std::string& propertyName);
276  bool hasParameterProperty(const std::string& propertyName);
278 
280  virtual std::string getDiGuyHandItem() const;
281 
283 
284  //\return True if the specified DI-Guy animation name is available for this object.
285  virtual bool isAnimationAvailable(const std::string& animationName) const;
286 
287  //\return True if the specified DI-Guy appearance name is available for this object.
288  virtual bool isAppearanceAvailable(const std::string& appearanceName) const;
289 
290  //\return True if the specified DI-Guy hand item name is available for this object.
291  virtual bool isHandItemAvailable(const std::string& handItemName) const;
292 
293  //\return True if the specified DI-Guy head name is available for this object.
294  virtual bool isHeadAvailable(const std::string& headName) const;
295 
296  //\return True if the specified DI-Guy gesture name is available for this object.
297  virtual bool isGestureAvailable(const std::string& gestureName) const;
298 
299  //\return The time of animation to run (in seconds). If not available will return 0
300  virtual double animationDuration(const std::string& animationName) const;
301 
302  //\return The speed of animation. If not available will return 0
303  virtual double animationSpeed(const std::string& animationName) const;
304 
305  //\return The duration of the transition motion from the first animation to the second,
307  virtual double getAnimationTransitionInfo(const std::string& fromAnimation, const std::string& toAnimation,
308  DtVectorOffset3D& deltaPos, double& deltaHeading) const;
309 
311  virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(const std::string& systemName);
312 
314  virtual std::list<std::string> getSystemNames();
315 
317 
319  virtual void setSimManager(DtSimManager* simManager);
320 
321  virtual DtString objectType() const;
322 
325 
328  bool deserialize(const DtString& data);
329 
331  static DtAsciiSerializable* creator();
332 
335  DtVrfObject* vrfObject() const { testValid(); return myObjectDeletionHandle->object(); }
336 
338  void testValid() const;
339 
341  static DtScriptVrfObject nullObject()
342  {
343  return DtScriptVrfObject(DtUUID::nullUUID(), 0);
344  }
345 
346 protected:
350 };
351 
353 
354 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
355 
360  : public DtScriptVrfObject
361  , public DtObjectDebugger<DtScriptOwnshipObject>
362 {
363 public:
364  DtScriptOwnshipObject(const DtUUID& name, DtVrfObject* const vrfObject);
365  DtScriptOwnshipObject(const DtUUID& name, DtSimManager* simManager,
366  DtVrfObject* const vrfobject);
369 
372 
373  void setLocation3D(const DtLocation3D &newloc);
374  void setHeading(const double heading);
375 
376  virtual std::list<std::string> getResourceNames(void)const;
377 
385  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
386 
388  virtual void depleteResource(const std::string& resourceName, double amount);
389 
391  virtual void replenishResource(const std::string& resourceName, double amount);
392 
394  virtual int getNotifyLevel() const;
395 
398  virtual std::string getMunitionType(const std::string& resourceName);
399 
403  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
404  double currentAmount, double fullAmount);
405 
408  virtual void updateStateAndParameterProperties();
409 
411  virtual void removeResource(const std::string& resourceName);
412 
414  virtual bool isUnderFire() const;
415 
419  virtual int suppressionLevel() const;
420 
423  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
424 
429  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
430 
434  virtual std::list<DtScriptVrfObject> getAllContacts(void);
435 
438  virtual bool registerDetonationInterest(double range,
439  const std::string& munitionType);
440 
445  virtual bool getLastDetonation(std::string& munitionType, DtLocation3D& location);
446 
449  virtual void setDestroyed(bool destroyed);
450 
452  virtual std::string getRulesOfEngagement();
453 
455  virtual void setRulesOfEngagement(const std::string& rule);
456 
458  virtual std::list<std::string> embeddedEntityNames();
459 
462  virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
463 
466  virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
467 
471  virtual DtScriptVrfObject simObjectByEmbeddedEntityName(std::string eeName);
472 
476  virtual std::string embeddedEntityStatus(std::string eeName);
477 
489  virtual double normalizedSensorSignature(const DtScriptVrfObject & targetEntity,
490  std::string domain);
491 
493  virtual void setExtendedData(const std::string& key, const std::string& val);
494 
496  virtual bool canFireAt(const DtLocation3D& location);
497 
500 
501 protected:
502 
505  static bool processDetonation(const DtDetonationContext& detonationContext, void* usr);
506  bool processDetonation(const DtDetonationContext& detonationContext);
508 
511 
514 
516  std::map<std::string, DtScriptComponentSystem*> myScriptComponentSystems;
517 };
518 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)