VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
localObjectCreateInformation.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 #include "vrfutil/rwUUID.h"
11 #include "vlpi/entityIdentifier.h"
12 #include "matrix/vlVector.h"
13 #include "matrix/vlVector.h"
14 #include "vlpi/disEnums.h"
15 
16 #include <vector>
17 #include <list>
18 
20 class DtLocalObject;
21 class DtAdminContent;
23 
25 typedef bool(*DtVrfObjectUserInitFcn)(DtLocalObject* vrfObject, void* usr);
26 
27 namespace makVrf
28 {
29  class DtExternalCurrentFrameState;
30 }
31 
36 {
37 public:
40 
43 
46 
50 
53 
54  void setUUID(const DtUUID&);
55  const DtUUID& uuid() const;
56 
57  void setOverlay(const DtString&);
58  const DtString& overlay() const;
59 
60  void setObjectType(const DtObjectType&);
61  const DtObjectType& objectType() const;
62 
64  void setPublishFlag(int);
65  void setPublishObject(bool);
66  bool publishObject() const ;
67  int publishFlag() const;
68 
69  void setEntityIdentifier(const DtEntityIdentifier&);
70  const DtEntityIdentifier& entityIdentifier() const;
71 
72  void setLabel(const DtString&);
73  const DtString& label() const;
74 
75  void setExtendedLabels(const std::map<int, DtString>&);
76  const std::map<int, DtString>& extendedLabels() const;
77 
79  void setPosition(const DtVector& geocLocation);
80 
82  DtVector position() const;
83  DtVector endPosition() const;
84 
85  const std::vector<DtVector>& vertices() const;
86  std::vector<DtVector>& vertices();
87 
89  void setVertices(const DtList&);
90  void setVertices(const std::vector<DtVector>&);
91  void addVertex(const DtVector&);
92 
93  const DtTaitBryan& orientation() const;
94  void setOrientation(const DtTaitBryan&);
95 
98  void setColor(int);
99  int color() const;
100  bool colorSet() const;
101  void clearColor();
103 
106  void setWorldVelocity(const DtVector&);
107  const DtVector& worldVelocity() const;
108  bool worldVelocitySet() const;
109  void clearWorldVelocity();
110 
111  void setWorldOrientation(const DtTaitBryan&);
112  const DtTaitBryan& worldOrientation() const;
113  bool worldOrientationSet() const;
114  void clearWorldOrientation();
116 
117  void setAmClampedToGround(bool);
118  bool amClampedToGround() const;
119 
121  void setHeading(double rad);
122  double heading() const;
123 
125  void setPitch(double rad);
126  double pitch() const;
127 
129  void setRoll(double rad);
130  double roll() const;
131 
132  void setObjectName(const DtString&);
133  const DtString& objectName() const;
134 
136  void setObjectNamePrefix(const DtString&);
137  const DtString& objectNamePrefix() const;
138 
139  void setForceType(DtForceType);
140  DtForceType forceType() const;
141 
144  void setClampToGround(bool);
145  bool clampToGround() const;
146 
148  void setProjected(bool);
149  bool projected() const;
150 
152  void setClosedFigure(bool);
153  bool closedFigure() const;
154 
156  void setAppearance(unsigned int);
157  unsigned int appearance() const;
158 
160  void setConnectToRadioNetwork(bool b);
161  bool connectToRadioNetwork() const;
162 
165  void setAddToOrbat(bool);
166  bool addToOrbat() const;
167 
169  void setCreateSubObjects(bool b);
170  bool createSubObjects() const;
171 
173  void setOrganized(bool);
174  bool organized() const;
175 
178  void setUserCallback(DtVrfObjectUserInitFcn, void*);
179  DtVrfObjectUserInitFcn callbackFunction() const;
180  void* callbackData() const;
181 
183  void setRequestId(unsigned long);
184  unsigned long requestId() const;
185 
188  void setStartingFormation(const DtString&);
189  const DtString& startingFormation() const;
190 
191  void setAggregateCreationMode(int);
192  int aggregateCreationMode() const;
194 
196  const std::map<std::string, std::string>& extendedData() const;
197  std::map<std::string, std::string>& extenedData();
198  void setExtendedData(const std::map<std::string, std::string>&);
199  void setExtendedData(const std::map<DtString, DtString>&);
200  void setExtendedData( const DtString& keyword, const DtString& data );
201 
204  const DtString& userData() const;
205  void setUserData(const DtString&);
206 
208  void setSuperior(const DtUUID&);
209  const DtUUID& superior() const;
210 
212  const std::list<DtAdminContent*>& initialAdminContent() const;
213 
215  std::list<DtAdminContent*>& initialAdminContent();
216 
217  void setInitialAdminContent(const std::list<DtAdminContent*>& adminContent);
218  void addInitialAdminContent(DtAdminContent* adminContent);
219  void clearInitialAdminContent();
220 
222  const std::list<DtSimInterfaceContent*>& initialInterfaceContent() const;
223 
225  std::list<DtSimInterfaceContent*>& initialInterfaceContent();
226 
227  void setInitialInterfaceContent(const std::list<DtSimInterfaceContent*>& adminContent);
228  void addInitialInterfaceContent(DtSimInterfaceContent* adminContent);
229  void clearInitialInterfaceContent();
230 
233  void addSubordinates(const std::vector<DtUUID>&);
234  void addSubordinate(const DtUUID&);
235  void renmoveSubordinate(const DtUUID&);
236  void clearSubordinates();
237  const std::vector<DtUUID>& subordinates() const;
238 
240  virtual bool isValid() const;
241 
242 protected:
244  void validateUUID();
245 
246 protected:
253  std::map<int, DtString> myExtendedLabels;
259 
262 
265 
267  DtTaitBryan myOrientation;
268 
270  std::vector<DtVector> myVertices;
271 
274 
276  DtForceType myForceType;
277 
279  DtEntityIdentifier myEntityIdentifier;
280 
283 
286 
287  unsigned int myAppearance;
289 
290  unsigned long myRequestId;
291 
292  std::map<std::string, std::string> myExtendedData;
293 
294  std::list<DtAdminContent*> myAdminContent;
295  std::list<DtSimInterfaceContent*> myInterfaceContent;
296 
298 
302 
304  DtTaitBryan myWorldOrientation;
306 
308  std::vector<DtUUID> mySubordinates;
309 
310  int myColor;
312 };
std::vector< DtVector > myVertices
The vertices (geocentric) used to create this object.
Definition: localObjectCreateInformation.h:270
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
bool myConnectToRadioNetwork
Definition: localObjectCreateInformation.h:288
The DtLocalObjectCreateInformation class is a subset of the information used in the DtIfCreateVrfObje...
Definition: localObjectCreateInformation.h:35
#define DT_DLL_vrfmsgs
This file is used to determine how to build.
Definition: vrfmsgsDefines.h:28
DtTaitBryan myWorldOrientation
If this is specified, use this instead of the supplied orientation.
Definition: localObjectCreateInformation.h:304
DtString myStartingFormation
Definition: localObjectCreateInformation.h:260
DtString myUserData
Definition: localObjectCreateInformation.h:257
std::list< DtAdminContent * > myAdminContent
Definition: localObjectCreateInformation.h:294
bool myClosedFigure
Default is false.
Definition: localObjectCreateInformation.h:285
DtUUID mySuperior
Definition: localObjectCreateInformation.h:297
std::map< int, DtString > myExtendedLabels
Definition: localObjectCreateInformation.h:253
bool(* DtVrfObjectUserInitFcn)(DtLocalObject *vrfObject, void *usr)
User action function definition for createAndInitVrfObject()
Definition: localObjectCreateInformation.h:25
Contains the DtUUID class declaration.
unsigned long myRequestId
Definition: localObjectCreateInformation.h:290
Definition: objectType.h:27
void * myUserInitData
Definition: localObjectCreateInformation.h:264
DtVector myWorldVelocity
World velocity to be set in the local object (only used if set)
Definition: localObjectCreateInformation.h:300
unsigned int myAppearance
Definition: localObjectCreateInformation.h:287
int myAggregateCreationMode
Definition: localObjectCreateInformation.h:261
bool myCreateSubObjects
Definition: localObjectCreateInformation.h:255
bool myOrganized
Definition: localObjectCreateInformation.h:256
int myColor
Definition: localObjectCreateInformation.h:310
DtString myObjectName
Definition: localObjectCreateInformation.h:250
std::vector< DtUUID > mySubordinates
Takes the UUIDs supplied, and, if the subordinates exist, adds them to the newly created object...
Definition: localObjectCreateInformation.h:308
DtString myOverlay
Definition: localObjectCreateInformation.h:252
bool myClampToGround
Definition: localObjectCreateInformation.h:258
int myPublishFlag
Whether or not to publish this item on the network. Default is true.
Definition: localObjectCreateInformation.h:273
bool myProjected
Default is true.
Definition: localObjectCreateInformation.h:282
bool myWorldVelocitySet
Definition: localObjectCreateInformation.h:301
bool myWorldOrientationSet
Definition: localObjectCreateInformation.h:305
DtAdminContent.
Definition: adminContent.h:23
DtUUID myUUID
Definition: localObjectCreateInformation.h:247
DtString myObjectNamePrefix
Definition: localObjectCreateInformation.h:251
Definition: simInterfaceContent.h:45
bool myColorSet
Definition: localObjectCreateInformation.h:311
std::list< DtSimInterfaceContent * > myInterfaceContent
Definition: localObjectCreateInformation.h:295
DtString myLabel
Definition: localObjectCreateInformation.h:249
std::map< std::string, std::string > myExtendedData
Definition: localObjectCreateInformation.h:292
DtObjectType myObjectType
Definition: localObjectCreateInformation.h:248
DtEntityIdentifier myEntityIdentifier
VR-Link specific – the entity identifier to use as a seed.
Definition: localObjectCreateInformation.h:279
DtVrfObjectUserInitFcn myUserInitFunction
Definition: localObjectCreateInformation.h:263
DtTaitBryan myOrientation
The topographic orientation to set for this object.
Definition: localObjectCreateInformation.h:267
DtForceType myForceType
Default is DtForceOther.
Definition: localObjectCreateInformation.h:276
bool myAddToOrbat
Definition: localObjectCreateInformation.h:254
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:77
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)