VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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() 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 
126  virtual std::string getDamageState() const;
127 
129  virtual unsigned getLifeformPosture() const;
130 
132  virtual unsigned getAppearance() const;
133 
135  virtual bool isDestroyed() const;
136 
138  virtual bool isInvisible() const;
139 
141  virtual bool isEmbarked() const;
142 
144  virtual void attachToParent(DtScriptVrfObject&) const;
145 
148  virtual bool isOnTopOf(DtScriptVrfObject&) const;
149  virtual bool isOnTopOfWithDistance(DtScriptVrfObject&, double) const;
150 
152  virtual DtScriptVrfObject getEmbarkedOn() const;
153 
154  virtual std::list<DtScriptVrfObject> getEmbarkedObjects(void)const;
155 
156  virtual DtVectorOffset3D getOffsetFromParent() const;
157 
159  virtual std::list<DtScriptVrfObject> getSubordinates(void) const;
160 
162  virtual double recalculatePhysicalFootprintFromSubordinates(const std::list<DtScriptVrfObject>&) const;
163 
167  virtual std::list<DtScriptVrfObject> getAllSubordinates(void) const;
168 
169  virtual std::list<DtScriptVrfObject> getCapableSubordinates(void) const;
170 
171  virtual std::list<DtLocation3D> getLocations3D(void)const;
172 
173  virtual std::string getName() const;
174  virtual std::string getLabel() const;
175  virtual void setLabel(const std::string&);
176  virtual std::string getExtendedLabel(int) const;
177  virtual void setExtendedLabel(int, const std::string&);
178  virtual std::string getGlobalId() const;
179  virtual std::string getObjectId() const;
180 
181  virtual double getHeading() const;
182 
183  virtual double getDraft() const;
184 
186  void terrainSurfaceDebug();
187 
189  void deleteObject();
190 
192  bool isDeleted() const;
193  virtual bool isValid() const;
194 
196  virtual bool isLocal() const;
197 
199  virtual DtVectorOffset3D getBoundingVolume(DtVectorOffset3D& offset) const;
200 
203  virtual std::string getNbcDamage(int& dmgPerSec, int& moppLvl) const;
204 
206  virtual std::string getNbcAgent() const;
207 
209  virtual bool isBreached() const;
210 
212  virtual std::string getExtendedData(const std::string& key) const;
213 
216  virtual DtLocation3D getClosestPointToLocation2D(const DtLocation3D& location,
217  double& distance) const;
218 
222  virtual DtLocation3D getIntersectionPointWithLine2D(const DtLocation3D& point1,
223  const DtLocation3D& point2, bool& hasIntersection) const;
224 
226  virtual bool isActive() const;
227 
233  bool hasStateProperty(const std::string& propertyName);
234  bool hasParameterProperty(const std::string& propertyName);
236 
238  virtual std::string getDiGuyHandItem() const;
239 
241  //\return True if the specified DI-Guy animation name is available for this object.
242  virtual bool isAnimationAvailable(const std::string& animationName) const;
244 
246  virtual void setSimManager(DtSimManager* simManager);
247 
248  virtual DtString objectType() const;
249 
252 
255  bool deserialize(const DtString& data);
256 
258  static DtAsciiSerializable* creator();
259 
262  DtVrfObject* vrfObject() const { testValid(); return myObjectDeletionHandle->object(); }
263 
265  void testValid() const;
266 
267 protected:
271 };
272 
274 
275 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
276 
281  : public DtScriptVrfObject
282  , public DtObjectDebugger<DtScriptOwnshipObject>
283 {
284 public:
285  DtScriptOwnshipObject(const DtUUID& name, DtVrfObject* const vrfObject);
286  DtScriptOwnshipObject(const DtUUID& name, DtSimManager* simManager,
287  DtVrfObject* const vrfobject);
290 
293 
294  void setLocation3D(const DtLocation3D &newloc);
295  void setHeading(const double heading);
296 
297  virtual std::list<std::string> getResourceNames(void)const;
298 
306  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
307 
309  virtual void depleteResource(const std::string& resourceName, double amount);
310 
312  virtual void replenishResource(const std::string& resourceName, double amount);
313 
316  virtual std::string getMunitionType(const std::string& resourceName);
317 
321  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
322  double currentAmount, double fullAmount);
323 
326  virtual void updateStateAndParameterProperties();
327 
329  virtual void removeResource(const std::string& resourceName);
330 
332  virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(const std::string& systemName);
333 
335  virtual std::list<std::string> getSystemNames();
336 
338  virtual bool isUnderFire() const;
339 
343  virtual int suppressionLevel() const;
344 
347  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
348 
353  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
354 
358  virtual std::list<DtScriptVrfObject> getAllContacts(void);
359 
362  virtual bool registerDetonationInterest(double range,
363  const std::string& munitionType);
364 
369  virtual bool getLastDetonation(std::string& munitionType, DtLocation3D& location);
370 
373  virtual void setDestroyed(bool destroyed);
374 
376  virtual std::string getRulesOfEngagement();
377 
379  virtual void setRulesOfEngagement(const std::string& rule);
380 
382  virtual std::list<std::string> embeddedEntityNames();
383 
386  virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
387 
390  virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
391 
395  virtual DtScriptVrfObject simObjectByEmbeddedEntityName(std::string eeName);
396 
400  virtual std::string embeddedEntityStatus(std::string eeName);
401 
413  virtual double normalizedSensorSignature(const DtScriptVrfObject & targetEntity,
414  std::string domain);
415 
417  virtual void setExtendedData(const std::string& key, const std::string& val);
418 
421 
422 protected:
423 
426  static bool processDetonation(const DtDetonationContext& detonationContext, void* usr);
427  bool processDetonation(const DtDetonationContext& detonationContext);
429 
432 
435 
437  std::map<std::string, DtScriptComponentSystem*> myScriptComponentSystems;
438 };
439 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)