VR-Forces Development_Version 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 
82  virtual bool isPointInside(const DtLocation3D &point) const;
83 
88  virtual bool hasLosToLocation(DtLocation3D &targetLoc,
89  bool &dataAvailable) const;
90 
92  virtual std::string getEntityType() const;
93 
96  virtual bool isAggregate() const;
97 
100  virtual bool isPseudoAggregate() const;
101 
104  virtual std::string getEchelonLevel() const;
105 
107  virtual std::string getForceType() const;
108 
110  virtual int getForceEnumeration() const;
111 
117  virtual std::string getDamageState() const;
118 
120  virtual unsigned getLifeformPosture() const;
121 
123  virtual unsigned getAppearance() const;
124 
126  virtual bool isDestroyed() const;
127 
129  virtual bool isEmbarked() const;
130 
132  virtual void attachToParent(DtScriptVrfObject&) const;
133 
136  virtual bool isOnTopOf(DtScriptVrfObject&) const;
137  virtual bool isOnTopOfWithDistance(DtScriptVrfObject&, double) const;
138 
140  virtual DtScriptVrfObject getEmbarkedOn() const;
141 
142  virtual std::list<DtScriptVrfObject> getEmbarkedObjects(void)const;
143 
145  virtual std::list<DtScriptVrfObject> getSubordinates(void) const;
146 
150  virtual std::list<DtScriptVrfObject> getAllSubordinates(void) const;
151 
152  virtual std::list<DtScriptVrfObject> getCapableSubordinates(void) const;
153 
154  virtual std::list<DtLocation3D> getLocations3D(void)const;
155 
156  virtual std::string getName() const;
157  virtual std::string getLabel() const;
158  virtual void setLabel(const std::string&);
159  virtual std::string getExtendedLabel(int) const;
160  virtual void setExtendedLabel(int, const std::string&);
161  virtual std::string getGlobalId() const;
162  virtual std::string getObjectId() const;
163 
164  virtual double getHeading() const;
165 
166  virtual double getDraft() const;
167 
169  void terrainSurfaceDebug();
170 
172  void deleteObject();
173 
175  bool isDeleted() const;
176  virtual bool isValid() const;
177 
179  virtual bool isLocal() const;
180 
182  virtual DtVectorOffset3D getBoundingVolume(DtVectorOffset3D& offset) const;
183 
186  virtual std::string getNbcDamage(int& dmgPerSec, int& moppLvl) const;
187 
189  virtual std::string getNbcAgent() const;
190 
192  virtual bool isBreached() const;
193 
196  virtual DtLocation3D getClosestPointToLocation2D(const DtLocation3D& location,
197  double& distance) const;
198 
202  virtual DtLocation3D getIntersectionPointWithLine2D(const DtLocation3D& point1,
203  const DtLocation3D& point2, bool& hasIntersection) const;
204 
206  virtual bool isActive() const;
207 
213  bool hasStateProperty(const std::string& propertyName);
214  bool hasParameterProperty(const std::string& propertyName);
216 
219 
221  virtual void setSimManager(DtSimManager* simManager);
222 
223  virtual DtString objectType() const;
224 
227 
230  bool deserialize(const DtString& data);
231 
233  static DtAsciiSerializable* creator();
234 
237  DtVrfObject* vrfObject() const { testValid(); return myObjectDeletionHandle->object(); }
238 
240  void testValid() const;
241 
242 protected:
246 };
247 
249 
250 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
251 
256  : public DtScriptVrfObject
257  , public DtObjectDebugger<DtScriptOwnshipObject>
258 {
259 public:
260  DtScriptOwnshipObject(const DtUUID& name, DtVrfObject* const vrfObject);
261  DtScriptOwnshipObject(const DtUUID& name, DtSimManager* simManager,
262  DtVrfObject* const vrfobject);
265 
268 
269  void setLocation3D(const DtLocation3D &newloc);
270  void setHeading(const double heading);
271 
272  virtual std::list<std::string> getResourceNames(void)const;
273 
281  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
282 
284  virtual void depleteResource(const std::string& resourceName, double amount);
285 
287  virtual void replenishResource(const std::string& resourceName, double amount);
288 
291  virtual std::string getMunitionType(const std::string& resourceName);
292 
296  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
297  double currentAmount, double fullAmount);
298 
301  virtual void updateStateAndParameterProperties();
302 
304  virtual void removeResource(const std::string& resourceName);
305 
307  virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(const std::string& systemName);
308 
310  virtual std::list<std::string> getSystemNames();
311 
313  virtual bool isUnderFire() const;
314 
318  virtual int suppressionLevel() const;
319 
322  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
323 
328  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
329 
333  virtual std::list<DtScriptVrfObject> getAllContacts(void);
334 
337  virtual bool registerDetonationInterest(double range,
338  const std::string& munitionType);
339 
344  virtual bool getLastDetonation(std::string& munitionType, DtLocation3D& location);
345 
348  virtual void setDestroyed(bool destroyed);
349 
351  virtual std::string getRulesOfEngagement();
352 
354  virtual void setRulesOfEngagement(const std::string& rule);
355 
357  virtual std::list<std::string> embeddedEntityNames();
358 
361  virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
362 
365  virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
366 
370  virtual DtScriptVrfObject simObjectByEmbeddedEntityName(std::string eeName);
371 
375  virtual std::string embeddedEntityStatus(std::string eeName);
376 
388  virtual double normalizedSensorSignature(const DtScriptVrfObject & targetEntity,
389  std::string domain);
390 
393 
394 protected:
395 
398  static bool processDetonation(const DtDetonationContext& detonationContext, void* usr);
399  bool processDetonation(const DtDetonationContext& detonationContext);
401 
404 
407 
409  std::map<std::string, DtScriptComponentSystem*> myScriptComponentSystems;
410 };
411 

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)