VR-Forces 4.1.1 Class Documentation
scriptVrfObject.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
8 
9 #include "vrfobjcore/vrfObject.h"
10 #include <vrfutil/scriptGeometry.h>
11 #include <string>
13 #include "vrfcore/simMgr.h"
14 #include <stdexcept>
15 
17 {
18 public:
19  DtScriptVrfObject(const DtString& name, DtVrfObject* const vrfObject);
21 
22  DtScriptVrfObject& operator=(const DtScriptVrfObject &orig);
23 
25 
26  bool operator==(const DtScriptVrfObject& orig);
27 
30 
32  virtual DtLocation3D getLocation3D() const;
33 
35  virtual double getSpeed() const;
36 
43  virtual DtVector3D getDirection3D() const;
44 
47  virtual DtVector3D getVelocity3D() const;
49 
52  virtual double getHeightAboveTerrain() const;
53 
58  virtual bool hasLosToObject(const DtScriptVrfObject &target,
59  bool & dataAvailable) const;
60 
68  virtual bool isPointInside(const DtLocation3D &point) const;
69 
74  virtual bool hasLosToLocation(DtLocation3D &targetLoc,
75  bool &dataAvailable) const;
76 
78  virtual std::string getEntityType() const;
79 
82  virtual bool isAggregate() const;
83 
86  virtual std::string getEchelonLevel() const;
87 
89  virtual std::string getForceType() const;
90 
92  virtual int getForceEnumeration() const;
93 
99  virtual std::string getDamageState() const;
100 
102  virtual bool isDestroyed() const;
103 
105  virtual bool isEmbarked() const;
106 
107  virtual DtScriptVrfObject getEmbarkedOn() const;
108 
109  virtual std::list<DtScriptVrfObject> getEmbarkedObjects(void)const;
110 
113  virtual std::list<DtScriptVrfObject> getSubordinates(void) const;
114 
115  virtual std::list<DtScriptVrfObject> getCapableSubordinates(void) const;
116 
117  virtual std::list<DtLocation3D> getLocations3D(void)const;
118 
119  virtual std::string getName() const;
120 
121  virtual double getHeading() const;
122 
124  void deleteObject();
125 
127  bool isDeleted() const;
128  virtual bool isValid() const;
129 
131  virtual bool isLocal() const;
132 
135 
137  virtual void setSimManager(DtSimManager* simManager);
138 
139  virtual DtString objectType() const;
140 
143 
146  bool deserialize(const DtString& data);
147 
149  static DtAsciiSerializable* creator();
150 
152  DtVrfObject* vrfObject() const {return myObject;}
153 
154 protected:
156  void testValid() const;
157 
159  void addObjectAboutToBeRemovedCallback();
160 
162  void removeObjectAboutToBeRemovedCallback();
163 
164  static void objectAboutToBeRemovedCallback(DtVrfObject*, void* usr);
165  virtual void processObjectAboutToBeRemoved(DtVrfObject*);
166 
167 protected:
170  bool myDeleted;
172 };
173 
174 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
175 
180 {
181 public:
182  DtScriptOwnshipObject(const DtString& name, DtVrfObject* const vrfobject);
185 
188 
189  void setLocation3D(const DtLocation3D &newloc);
190  void setHeading(const double heading);
191 
192  virtual std::list<std::string> getResourceNames(void)const;
193 
201  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
202 
204  virtual void depleteResource(const std::string& resourceName, double amount);
205 
207  virtual void replenishResource(const std::string& resourceName, double amount);
208 
212  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
213  double currentAmount, double fullAmount);
214 
216  virtual void removeResource(const std::string& resourceName);
217 
219  virtual bool isUnderFire() const;
220 
224  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
225 
231  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
232 
237  virtual std::list<DtScriptVrfObject> getAllContacts(void);
238 
241 
242 };
243 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)