VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 
123  virtual void setNavigationEnabled(bool);
124  virtual bool getNavigationEnabled() const;
126 
132  virtual std::string getDamageState() const;
133 
135  virtual unsigned getLifeformPosture() const;
136 
138  virtual unsigned getAppearance() const;
139 
141  virtual bool isDestroyed() const;
142 
144  virtual bool isInvisible() const;
145 
147  virtual bool isEmbarked() const;
148 
150  virtual void attachToParent(DtScriptVrfObject&) const;
151 
154  virtual bool isOnTopOf(DtScriptVrfObject&) const;
155  virtual bool isOnTopOfWithDistance(DtScriptVrfObject&, double) const;
156 
158  virtual DtScriptVrfObject getEmbarkedOn() const;
159 
160  virtual std::list<DtScriptVrfObject> getEmbarkedObjects(void)const;
161 
162  virtual DtVectorOffset3D getOffsetFromParent() const;
163 
165  virtual std::list<DtScriptVrfObject> getSubordinates(void) const;
166 
168  virtual std::list<DtScriptVrfObject> getVrfSubordinates(bool isVrf) const;
169 
171  virtual double recalculatePhysicalFootprintFromSubordinates(const std::list<DtScriptVrfObject>&) const;
172 
176  virtual DtVectorOffset3D getPartParentPosition(int) const;
177  virtual DtLocation3D getPartWorldPosition(int) const;
178  virtual double getPartPitch(int) const;
179  virtual double getPartPitchIncludingParent(int, bool includeParent = false) const;
180  virtual double getPartHeading(int) const;
181  virtual double getPartHeadingIncludingParent(int, bool includeParent = false) const;
183 
187  virtual std::list<DtScriptVrfObject> getAllSubordinates(void) const;
188 
189  virtual std::list<DtScriptVrfObject> getAllVrfSubordinates(bool isVrf) const;
190 
191  virtual std::list<DtScriptVrfObject> getCapableSubordinates(void) const;
192  virtual std::list<DtScriptVrfObject> getCapableVrfSubordinates(bool isVrf) const;
193 
195  virtual bool isVrfSimulated() const;
196 
197  virtual std::list<DtLocation3D> getLocations3D(void)const;
198 
199  virtual std::string getName() const;
200  virtual std::string getLabel() const;
201  virtual void setLabel(const std::string&);
202  virtual std::string getExtendedLabel(int) const;
203  virtual void setExtendedLabel(int, const std::string&);
204  virtual std::string getGlobalId() const;
205  virtual std::string getObjectId() const;
206 
207  virtual double getHeading() const;
208  virtual double getPitch() const;
209  virtual double getRoll() const;
210 
211  virtual double getDraft() const;
212 
214  void terrainSurfaceDebug();
215 
217  void deleteObject();
218 
220  bool isDeleted() const;
221  virtual bool isValid() const;
222 
224  virtual bool isLocal() const;
225 
227  virtual DtVectorOffset3D getBoundingVolume(DtVectorOffset3D& offset) const;
228 
231  virtual std::string getNbcDamage(int& dmgPerSec, int& moppLvl) const;
232 
234  virtual std::string getNbcAgent() const;
235 
237  virtual bool isBreached() const;
238 
240  virtual std::string getExtendedData(const std::string& key) const;
241 
244  virtual DtLocation3D getClosestPointToLocation2D(const DtLocation3D& location,
245  double& distance) const;
246 
250  virtual DtLocation3D getIntersectionPointWithLine2D(const DtLocation3D& point1,
251  const DtLocation3D& point2, bool& hasIntersection) const;
252 
254  virtual bool isActive() const;
255 
261  bool hasStateProperty(const std::string& propertyName);
262  bool hasParameterProperty(const std::string& propertyName);
264 
266  virtual std::string getDiGuyHandItem() const;
267 
269  //\return True if the specified DI-Guy animation name is available for this object.
270  virtual bool isAnimationAvailable(const std::string& animationName) const;
272 
274  virtual void setSimManager(DtSimManager* simManager);
275 
276  virtual DtString objectType() const;
277 
280 
283  bool deserialize(const DtString& data);
284 
286  static DtAsciiSerializable* creator();
287 
290  DtVrfObject* vrfObject() const { testValid(); return myObjectDeletionHandle->object(); }
291 
293  void testValid() const;
294 
296  static DtScriptVrfObject nullObject()
297  {
298  return DtScriptVrfObject(DtUUID::nullUUID(), 0);
299  }
300 
301 protected:
305 };
306 
308 
309 DT_DLL_vrfobjcore std::ostream& operator<<(std::ostream&, const DtScriptVrfObject&);
310 
315  : public DtScriptVrfObject
316  , public DtObjectDebugger<DtScriptOwnshipObject>
317 {
318 public:
319  DtScriptOwnshipObject(const DtUUID& name, DtVrfObject* const vrfObject);
320  DtScriptOwnshipObject(const DtUUID& name, DtSimManager* simManager,
321  DtVrfObject* const vrfobject);
324 
327 
328  void setLocation3D(const DtLocation3D &newloc);
329  void setHeading(const double heading);
330 
331  virtual std::list<std::string> getResourceNames(void)const;
332 
340  virtual double getResourceAmounts(const std::string& resourceName, double* fullAmount) const;
341 
343  virtual void depleteResource(const std::string& resourceName, double amount);
344 
346  virtual void replenishResource(const std::string& resourceName, double amount);
347 
350  virtual std::string getMunitionType(const std::string& resourceName);
351 
355  virtual bool addResource(const std::string& resourceType, const std::string& resourceName,
356  double currentAmount, double fullAmount);
357 
360  virtual void updateStateAndParameterProperties();
361 
363  virtual void removeResource(const std::string& resourceName);
364 
366  virtual boost::shared_ptr<DtScriptComponentSystem> lookupSystem(const std::string& systemName);
367 
369  virtual std::list<std::string> getSystemNames();
370 
372  virtual bool isUnderFire() const;
373 
377  virtual int suppressionLevel() const;
378 
381  virtual std::list<DtScriptVrfObject> getObservedHostileContacts(void);
382 
387  virtual std::list<DtScriptVrfObject> getAllHostileContacts(void);
388 
392  virtual std::list<DtScriptVrfObject> getAllContacts(void);
393 
396  virtual bool registerDetonationInterest(double range,
397  const std::string& munitionType);
398 
403  virtual bool getLastDetonation(std::string& munitionType, DtLocation3D& location);
404 
407  virtual void setDestroyed(bool destroyed);
408 
410  virtual std::string getRulesOfEngagement();
411 
413  virtual void setRulesOfEngagement(const std::string& rule);
414 
416  virtual std::list<std::string> embeddedEntityNames();
417 
420  virtual std::list<std::string> embeddedEntitiesOfType(std::string typeString);
421 
424  virtual std::list<std::string> embeddedEntitiesCapableOf(std::string taskSetName);
425 
429  virtual DtScriptVrfObject simObjectByEmbeddedEntityName(std::string eeName);
430 
434  virtual std::string embeddedEntityStatus(std::string eeName);
435 
447  virtual double normalizedSensorSignature(const DtScriptVrfObject & targetEntity,
448  std::string domain);
449 
451  virtual void setExtendedData(const std::string& key, const std::string& val);
452 
455 
456 protected:
457 
460  static bool processDetonation(const DtDetonationContext& detonationContext, void* usr);
461  bool processDetonation(const DtDetonationContext& detonationContext);
463 
466 
469 
471  std::map<std::string, DtScriptComponentSystem*> myScriptComponentSystems;
472 };
473 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)