VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ifCreateVrfObject.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vlutil/vlString.h>
14 #include <vlpi/disEnums.h>
15 #include <vlutil/vlList.h>
16 #include <vlpi/appearance.h>
17 #include <vlpi/simulationAddress.h>
18 #include "vrfmsgs/vrfmsgsDefines.h"
19 #include "vrftasks/adminContent.h"
20 #include <vector>
21 #include <list>
22 
85 {
86 public:
87 
90 
92  virtual ~DtIfCreateVrfObject();
93 
96 
99 
101  virtual DtSimInterfaceContent * clone() const;
102 
105  virtual int type() const;
106 
109  virtual unsigned long requestId() const;
110  virtual void setRequestId(unsigned long requestId);
111 
113  virtual void setUUID(const DtUUID&);
114  virtual const DtUUID& uuid() const;
115 
118  virtual void setVrfProcessAddress(const DtSimulationAddress & address);
119  virtual const DtSimulationAddress & vrfProcessAddress() const;
120 
124  virtual void setMarkingText(const DtString & objectName);
125  virtual const DtString & markingText() const;
126 
130  virtual void setMarkingTextPrefix(const DtString & objectName);
131  virtual const DtString & markingTextPrefix() const;
132 
134  virtual void setObjectType(const DtObjectType & objectType);
135  virtual const DtObjectType & objectType() const;
136 
138  virtual void setForceType(const DtForceType forceType);
139  virtual DtForceType forceType() const;
140 
142  virtual void setObjectLabel(const DtString & objectLabel);
143  virtual const DtString & objectLabel() const;
144 
146  virtual void setExtendedLabels(const std::map<int, DtString>& extendedLabels);
147  virtual const std::map<int, DtString>& extendedLabels() const;
148 
150  virtual void setOverlayParent(const DtString& overlayParent);
151  virtual const DtString& overlayParent() const;
152 
154  virtual const DtVector & position() const;
155  virtual void setPosition(const DtVector & position);
156 
158  virtual DtReal heading() const;
159  virtual void setHeading(DtReal heading);
160 
167  virtual DtReal pitch() const;
168  virtual void setPitch(DtReal pitch);
169  virtual bool isPitchSpecified() const;
170  virtual void clearPitchSpecified();
171 
175  virtual const std::vector<DtVector>& vertexList() const;
178  virtual const DtList& vertices() const;
180  virtual void addVertex(const DtVector & vertex);
181 
184  virtual bool projection() const;
185  virtual void setProjection(bool projection);
186 
190  virtual bool closedFigure() const;
191  virtual void setClosedFigure(bool closedFigure);
192 
194  virtual const DtAppearance& appearance();
195  virtual void setAppearance(const DtAppearance& appearance);
196 
202  virtual bool createSubObjects() const;
203  virtual void setCreateSubObjects(bool createSubObjects);
204 
211  virtual bool addToOrganization() const;
212  virtual void setAddToOrganization(bool addToOrg);
213 
217  virtual bool clampToGround() const;
218  virtual void setClampToGround(bool clamp);
219 
223 
224  virtual DtString initialFormation() const;
225  virtual void setInitialFormation(const DtString& formation);
227 
230 
231  virtual bool publishObject() const;
232  virtual void setPublishObject(bool);
234 
237 
238  virtual bool connectToRadioNetwork() const;
239  virtual void setConnectToRadioNetwork(bool);
241 
245  virtual DtAggregateState initialAggregateState() const;
246  virtual void setInitialAggregateState(DtAggregateState aggregateState);
247 
249  virtual std::list<DtAdminContent*>* initialAdminContent();
250  virtual void setInitialAdminContent(std::list<DtAdminContent*> adminContent);
251  virtual void addInitialAdminContent(DtAdminContent* adminContent);
252 
254  virtual std::list<DtSimInterfaceContent*>* initialInterfaceContent();
255  virtual void setInitialInterfaceContent(std::list<DtSimInterfaceContent*> adminContent);
256  virtual void addInitialInterfaceContent(DtSimInterfaceContent* adminContent);
257 
259  virtual void setAddToOrbat(bool);
260  virtual bool addToOrbat() const;
261 
263  virtual void setSuperior(const DtUUID&);
264  virtual const DtUUID& superior() const;
265 
268  void setStartPosition(const DtVector& position);
269  const DtVector& startPosition() const;
270  void setEndPosition(const DtVector& position);
271  const DtVector& endPosition() const;
272 
273  virtual void setExtendedData(const std::map<std::string, std::string>&);
274  virtual void setExtendedData(const std::map<DtString, DtString>&);
275  virtual void setExtendedData( const DtString& keyword, const DtString& data );
276  virtual const std::map<std::string, std::string>& extendedData() const;
277 
278  virtual void setUserData( const DtString& userData );
279  virtual DtString userData() const;
280 
281 
282  virtual int netRepSize() const;
283  virtual bool setFromNet(const char* contentBuffer,
284  unsigned contentSize);
285  virtual bool setToNet();
286 
287  virtual void printDataToString(DtString& str);
288 
289  static DtSimInterfaceContent* creator();
290 
291 protected:
294 
297  void copyList(const DtList & fromList);
298 
300  void emptyList();
301 
302 protected:
303 
304  DtU32 myRequestId;
305  DtSimulationAddress myVrfProcessAddress;
309  DtForceType myForceType;
312  std::map<int, DtString> myExtendedLabels;
313  DtReal myHeading;
316  std::vector<DtVector> myVertexList;
318  mutable DtList myVertices;
319  DtAppearance myAppearance;
327  std::list<DtAdminContent*> myAdminContent;
328  std::list<DtSimInterfaceContent*> myInterfaceContent;
330  std::map<std::string, std::string> myExtendedData;
334 
335  DtReal myPitch;
337 };
338 
340 {
341  setPosition(position);
342 }
343 
345 {
346  return position();
347 }
348 
349 inline void DtIfCreateVrfObject::setEndPosition(const DtVector& position)
350 {
351  addVertex(position);
352 }
353 
355 {
356  if (myVertices.count() > 0)
357  {
358  return *(DtVector*)myVertices.last()->data();
359  }
360 
361  else
362  {
363  return DtVector::zero();
364  }
365 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)