VR-Forces 4.3 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/scriptGeometry.h>
12 #include <string>
14 #include "vrfutil/objectCounter.h"
15 #include "vrfcore/simManager.h"
16 #include <stdexcept>
17 
20 
22  : public DtAsciiSerializable
23  , public DtObjectDebugger<DtScriptVrfObject>
24 {
25 public:
26  DtScriptVrfObject(const DtString& name, DtVrfObject* const vrfObject);
27  DtScriptVrfObject(const DtString& name, DtSimManager* simManager,
28  DtVrfObject* const vrfObject);
30 
31  DtScriptVrfObject& operator=(const DtScriptVrfObject &orig);
32 
34 
35  bool operator==(const DtScriptVrfObject& orig);
36 
39 
41  virtual DtLocation3D getLocation3D() const;
42 
44  virtual double getSpeed() const;
45 
52  virtual DtVector3D getDirection3D() const;
53 
56  virtual DtVector3D getVelocity3D() const;
58 
61  virtual double getHeightAboveTerrain() const;
62 
67  virtual bool hasLosToObject(const DtScriptVrfObject &target,
68  bool & dataAvailable) const;
69 
77  virtual bool isPointInside(const DtLocation3D &point) const;
78 
83  virtual bool hasLosToLocation(DtLocation3D &targetLoc,
84  bool &dataAvailable) const;
85 
87  virtual std::string getEntityType() const;
88 
91  virtual bool isAggregate() const;
92 
95  virtual bool isPseudoAggregate() const;
96 
99  virtual std::string getEchelonLevel() const;
100 
102  virtual std::string getForceType() const;
103 
105  virtual int getForceEnumeration() const;
106 
112  virtual std::string getDamageState() const;
113 
115  virtual unsigned getLifeformPosture() const;
116 
118  virtual unsigned getAppearance() const;
119 
121  virtual bool isDestroyed() const;
122 
124  virtual bool isEmbarked() const;
125 
126  virtual DtScriptVrfObject getEmbarkedOn() const;
127 
128  virtual std::list<DtScriptVrfObject> getEmbarkedObjects(void)const;
129 
131  virtual std::list<DtScriptVrfObject> getSubordinates(void) const;
132 
136  virtual std::list<DtScriptVrfObject> getAllSubordinates(void) const;
137 
138  virtual std::list<DtScriptVrfObject> getCapableSubordinates(void) const;
139 
140  virtual std::list<DtLocation3D> getLocations3D(void)const;
141 
142  virtual std::string getName() const;
143  virtual std::string getLabel() const;
144  virtual void setLabel(const std::string&);
145  virtual std::string getExtendedLabel(int) const;
146  virtual void setExtendedLabel(int, const std::string&);
147  virtual std::string getGlobalId() const;
148  virtual std::string getObjectId() const;
149 
150  virtual double getHeading() const;
151 
152  virtual double getDraft() const;
153 
155  void terrainSurfaceDebug();
156 
158  void deleteObject();
159 
161  bool isDeleted() const;
162  virtual bool isValid() const;
163 
165  virtual bool isLocal() const;
166 
168  virtual DtVectorOffset3D getBoundingVolume(DtVectorOffset3D& offset) const;
169 
172  virtual std::string getNbcDamage(int& dmgPerSec, int& moppLvl) const;
173 
175  virtual std::string getNbcAgent() const;
176 
178  virtual bool isBreached() const;
179 
182  virtual DtLocation3D getClosestPointToLocation2D(const DtLocation3D& location,
183  double& distance) const;
184 
188  virtual DtLocation3D getIntersectionPointWithLine2D(const DtLocation3D& point1,
189  const DtLocation3D& point2, bool& hasIntersection) const;
190 
196  bool hasStateProperty(const std::string& propertyName);
197  bool hasParameterProperty(const std::string& propertyName);
199 
202 
204  virtual void setSimManager(DtSimManager* simManager);
205 
206  virtual DtString objectType() const;
207 
210 
213  bool deserialize(const DtString& data);
214 
216  static DtAsciiSerializable* creator();
217 
219  DtVrfObject* vrfObject() const {return myObjectDeletionHandle->object();}
220 
222  void testValid() const;
223 
224 protected:
228 };
229 
231 
232 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
233 
238  : public DtScriptVrfObject
239  , public DtObjectDebugger<DtScriptOwnshipObject>
240 {
241 public:
242  DtScriptOwnshipObject(const DtString& name, DtVrfObject* const vrfObject);
243  DtScriptOwnshipObject(const DtString& name, DtSimManager* simManager,
244  DtVrfObject* const vrfobject);
247 
250 
251  void setLocation3D(const DtLocation3D &newloc);
252  void setHeading(const double heading);
253 
254  virtual std::list<std::string> getResourceNames(void)const;
255 
263  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
264 
266  virtual void depleteResource(const std::string& resourceName, double amount);
267 
269  virtual void replenishResource(const std::string& resourceName, double amount);
270 
273  virtual std::string getMunitionType(const std::string& resourceName);
274 
278  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
279  double currentAmount, double fullAmount);
280 
283  virtual void updateStateAndParameterProperties();
284 
286  virtual void removeResource(const std::string& resourceName);
287 
289  virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(const std::string& systemName);
290 
292  virtual std::list<std::string> getSystemNames();
293 
295  virtual bool isUnderFire() const;
296 
300  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
301 
307  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
308 
313  virtual std::list<DtScriptVrfObject> getAllContacts(void);
314 
318  virtual bool registerDetonationInterest(double range,
319  const std::string& munitionType);
320 
326  virtual bool getLastDetonation(std::string& munitionType, DtLocation3D& location);
327 
331  virtual void setDestroyed(bool destroyed);
332 
335  virtual std::string getRulesOfEngagement();
336 
339  virtual void setRulesOfEngagement(const std::string& rule);
340 
343  virtual std::list<std::string> embeddedEntityNames();
344 
348  virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
349 
353  virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
354 
359  virtual DtScriptVrfObject simObjectByEmbeddedEntityName(std::string eeName);
360 
365  virtual std::string embeddedEntityStatus(std::string eeName);
366 
369 
370 protected:
371 
374  static bool processDetonation(const DtDetonationContext& detonationContext, void* usr);
375  bool processDetonation(const DtDetonationContext& detonationContext);
377 
380 
383 
385  std::map<std::string, DtScriptComponentSystem*> myScriptComponentSystems;
386 };
387 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)