VR-Forces Development_Version 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 
128  virtual void setObjectType(const DtObjectType & objectType);
129  virtual const DtObjectType & objectType() const;
130 
132  virtual void setForceType(const DtForceType forceType);
133  virtual DtForceType forceType() const;
134 
136  virtual void setObjectLabel(const DtString & objectLabel);
137  virtual const DtString & objectLabel() const;
138 
140  virtual void setExtendedLabels(const std::map<int, DtString>& extendedLabels);
141  virtual const std::map<int, DtString>& extendedLabels() const;
142 
144  virtual void setOverlayParent(const DtString& overlayParent);
145  virtual const DtString& overlayParent() const;
146 
148  virtual const DtVector & position() const;
149  virtual void setPosition(const DtVector & position);
150 
152  virtual DtReal heading() const;
153  virtual void setHeading(DtReal heading);
154 
158  virtual const std::vector<DtVector>& vertexList() const;
161  virtual const DtList& vertices() const;
163  virtual void addVertex(const DtVector & vertex);
164 
167  virtual bool projection() const;
168  virtual void setProjection(bool projection);
169 
173  virtual bool closedFigure() const;
174  virtual void setClosedFigure(bool closedFigure);
175 
177  virtual const DtAppearance& appearance();
178  virtual void setAppearance(const DtAppearance& appearance);
179 
185  virtual bool createSubObjects() const;
186  virtual void setCreateSubObjects(bool createSubObjects);
187 
194  virtual bool addToOrganization() const;
195  virtual void setAddToOrganization(bool addToOrg);
196 
200  virtual bool clampToGround() const;
201  virtual void setClampToGround(bool clamp);
202 
206 
207  virtual DtString initialFormation() const;
208  virtual void setInitialFormation(const DtString& formation);
210 
213 
214  virtual bool publishObject() const;
215  virtual void setPublishObject(bool);
217 
220 
221  virtual bool connectToRadioNetwork() const;
222  virtual void setConnectToRadioNetwork(bool);
224 
228  virtual DtAggregateState initialAggregateState() const;
229  virtual void setInitialAggregateState(DtAggregateState aggregateState);
230 
232  virtual std::list<DtAdminContent*>* initialAdminContent();
233  virtual void setInitialAdminContent(std::list<DtAdminContent*> adminContent);
234  virtual void addInitialAdminContent(DtAdminContent* adminContent);
235 
237  virtual std::list<DtSimInterfaceContent*>* initialInterfaceContent();
238  virtual void setInitialInterfaceContent(std::list<DtSimInterfaceContent*> adminContent);
239  virtual void addInitialInterfaceContent(DtSimInterfaceContent* adminContent);
240 
243  void setStartPosition(const DtVector& position);
244  const DtVector& startPosition() const;
245  void setEndPosition(const DtVector& position);
246  const DtVector& endPosition() const;
247 
248  virtual void setExtendedData(const std::map<std::string, std::string>&);
249  virtual void setExtendedData(const std::map<DtString, DtString>&);
250  virtual void setExtendedData( const DtString& keyword, const DtString& data );
251  virtual const std::map<std::string, std::string>& extendedData() const;
252 
253  virtual void setUserData( const DtString& userData );
254  virtual DtString userData() const;
255 
256 
257  virtual int netRepSize() const;
258  virtual bool setFromNet(const char* contentBuffer,
259  unsigned contentSize);
260  virtual bool setToNet();
261 
262  virtual void printDataToString(DtString& str);
263 
264  static DtSimInterfaceContent* creator();
265 
266 protected:
269 
272  void copyList(const DtList & fromList);
273 
275  void emptyList();
276 
277 protected:
278 
279  DtU32 myRequestId;
280  DtSimulationAddress myVrfProcessAddress;
283  DtForceType myForceType;
286  std::map<int, DtString> myExtendedLabels;
287  DtReal myHeading;
290  std::vector<DtVector> myVertexList;
292  mutable DtList myVertices;
293  DtAppearance myAppearance;
301  std::list<DtAdminContent*> myAdminContent;
302  std::list<DtSimInterfaceContent*> myInterfaceContent;
304  std::map<std::string, std::string> myExtendedData;
306 };
307 
309 {
310  setPosition(position);
311 }
312 
314 {
315  return position();
316 }
317 
318 inline void DtIfCreateVrfObject::setEndPosition(const DtVector& position)
319 {
320  addVertex(position);
321 }
322 
324 {
325  if (myVertices.count() > 0)
326  {
327  return *(DtVector*)myVertices.last()->data();
328  }
329 
330  else
331  {
332  return DtVector::zero();
333  }
334 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)