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 
218 
220  virtual void setSimManager(DtSimManager* simManager);
221 
222  virtual DtString objectType() const;
223 
226 
229  bool deserialize(const DtString& data);
230 
232  static DtAsciiSerializable* creator();
233 
236  DtVrfObject* vrfObject() const { testValid(); return myObjectDeletionHandle->object(); }
237 
239  void testValid() const;
240 
241 protected:
245 };
246 
248 
249 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
250 
255  : public DtScriptVrfObject
256  , public DtObjectDebugger<DtScriptOwnshipObject>
257 {
258 public:
259  DtScriptOwnshipObject(const DtUUID& name, DtVrfObject* const vrfObject);
260  DtScriptOwnshipObject(const DtUUID& name, DtSimManager* simManager,
261  DtVrfObject* const vrfobject);
264 
267 
268  void setLocation3D(const DtLocation3D &newloc);
269  void setHeading(const double heading);
270 
271  virtual std::list<std::string> getResourceNames(void)const;
272 
280  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
281 
283  virtual void depleteResource(const std::string& resourceName, double amount);
284 
286  virtual void replenishResource(const std::string& resourceName, double amount);
287 
290  virtual std::string getMunitionType(const std::string& resourceName);
291 
295  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
296  double currentAmount, double fullAmount);
297 
300  virtual void updateStateAndParameterProperties();
301 
303  virtual void removeResource(const std::string& resourceName);
304 
306  virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(const std::string& systemName);
307 
309  virtual std::list<std::string> getSystemNames();
310 
312  virtual bool isUnderFire() const;
313 
317  virtual int suppressionLevel() const;
318 
321  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
322 
327  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
328 
332  virtual std::list<DtScriptVrfObject> getAllContacts(void);
333 
336  virtual bool registerDetonationInterest(double range,
337  const std::string& munitionType);
338 
343  virtual bool getLastDetonation(std::string& munitionType, DtLocation3D& location);
344 
347  virtual void setDestroyed(bool destroyed);
348 
350  virtual std::string getRulesOfEngagement();
351 
353  virtual void setRulesOfEngagement(const std::string& rule);
354 
356  virtual std::list<std::string> embeddedEntityNames();
357 
360  virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
361 
364  virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
365 
369  virtual DtScriptVrfObject simObjectByEmbeddedEntityName(std::string eeName);
370 
374  virtual std::string embeddedEntityStatus(std::string eeName);
375 
387  virtual double normalizedSensorSignature(const DtScriptVrfObject & targetEntity,
388  std::string domain);
389 
392 
393 protected:
394 
397  static bool processDetonation(const DtDetonationContext& detonationContext, void* usr);
398  bool processDetonation(const DtDetonationContext& detonationContext);
400 
403 
406 
408  std::map<std::string, DtScriptComponentSystem*> myScriptComponentSystems;
409 };
410 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)