VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
164  virtual const std::vector<DtVector>& vertexList() const;
167  virtual const DtList& vertices() const;
169  virtual void addVertex(const DtVector & vertex);
170 
173  virtual bool projection() const;
174  virtual void setProjection(bool projection);
175 
179  virtual bool closedFigure() const;
180  virtual void setClosedFigure(bool closedFigure);
181 
183  virtual const DtAppearance& appearance();
184  virtual void setAppearance(const DtAppearance& appearance);
185 
191  virtual bool createSubObjects() const;
192  virtual void setCreateSubObjects(bool createSubObjects);
193 
200  virtual bool addToOrganization() const;
201  virtual void setAddToOrganization(bool addToOrg);
202 
206  virtual bool clampToGround() const;
207  virtual void setClampToGround(bool clamp);
208 
212 
213  virtual DtString initialFormation() const;
214  virtual void setInitialFormation(const DtString& formation);
216 
219 
220  virtual bool publishObject() const;
221  virtual void setPublishObject(bool);
223 
226 
227  virtual bool connectToRadioNetwork() const;
228  virtual void setConnectToRadioNetwork(bool);
230 
234  virtual DtAggregateState initialAggregateState() const;
235  virtual void setInitialAggregateState(DtAggregateState aggregateState);
236 
238  virtual std::list<DtAdminContent*>* initialAdminContent();
239  virtual void setInitialAdminContent(std::list<DtAdminContent*> adminContent);
240  virtual void addInitialAdminContent(DtAdminContent* adminContent);
241 
243  virtual std::list<DtSimInterfaceContent*>* initialInterfaceContent();
244  virtual void setInitialInterfaceContent(std::list<DtSimInterfaceContent*> adminContent);
245  virtual void addInitialInterfaceContent(DtSimInterfaceContent* adminContent);
246 
249  void setStartPosition(const DtVector& position);
250  const DtVector& startPosition() const;
251  void setEndPosition(const DtVector& position);
252  const DtVector& endPosition() const;
253 
254  virtual void setExtendedData(const std::map<std::string, std::string>&);
255  virtual void setExtendedData(const std::map<DtString, DtString>&);
256  virtual void setExtendedData( const DtString& keyword, const DtString& data );
257  virtual const std::map<std::string, std::string>& extendedData() const;
258 
259  virtual void setUserData( const DtString& userData );
260  virtual DtString userData() const;
261 
262 
263  virtual int netRepSize() const;
264  virtual bool setFromNet(const char* contentBuffer,
265  unsigned contentSize);
266  virtual bool setToNet();
267 
268  virtual void printDataToString(DtString& str);
269 
270  static DtSimInterfaceContent* creator();
271 
272 protected:
275 
278  void copyList(const DtList & fromList);
279 
281  void emptyList();
282 
283 protected:
284 
285  DtU32 myRequestId;
286  DtSimulationAddress myVrfProcessAddress;
290  DtForceType myForceType;
293  std::map<int, DtString> myExtendedLabels;
294  DtReal myHeading;
297  std::vector<DtVector> myVertexList;
299  mutable DtList myVertices;
300  DtAppearance myAppearance;
308  std::list<DtAdminContent*> myAdminContent;
309  std::list<DtSimInterfaceContent*> myInterfaceContent;
311  std::map<std::string, std::string> myExtendedData;
313 };
314 
316 {
317  setPosition(position);
318 }
319 
321 {
322  return position();
323 }
324 
325 inline void DtIfCreateVrfObject::setEndPosition(const DtVector& position)
326 {
327  addVertex(position);
328 }
329 
331 {
332  if (myVertices.count() > 0)
333  {
334  return *(DtVector*)myVertices.last()->data();
335  }
336 
337  else
338  {
339  return DtVector::zero();
340  }
341 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)