VR-Forces 4.3.1 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 
11 #include <vrfExtProtocol/simInterfaceContent.h>
12 #include <vlutil/vlString.h>
13 #include <vrfExtProtocol/objectType.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 
98  DtIfCreateVrfObject& operator=(const DtIfCreateVrfObject& orig);
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 
114  virtual void setVrfProcessAddress(const DtSimulationAddress & address);
115  virtual const DtSimulationAddress & vrfProcessAddress() const;
116 
120  virtual void setObjectName(const DtString & objectName);
121  virtual const DtString & objectName() const;
122 
124  virtual void setObjectType(const DtObjectType & objectType);
125  virtual const DtObjectType & objectType() const;
126 
128  virtual void setForceType(const DtForceType forceType);
129  virtual DtForceType forceType() const;
130 
132  virtual void setObjectLabel(const DtString & objectLabel);
133  virtual const DtString & objectLabel() const;
134 
136  virtual void setExtendedLabels(const std::map<int, DtString>& extendedLabels);
137  virtual const std::map<int, DtString>& extendedLabels() const;
138 
140  virtual void setOverlayParent(const DtString& overlayParent);
141  virtual const DtString& overlayParent() const;
142 
144  virtual const DtVector & position() const;
145  virtual void setPosition(const DtVector & position);
146 
148  virtual DtReal heading() const;
149  virtual void setHeading(DtReal heading);
150 
154  virtual const std::vector<DtVector>& vertexList() const;
157  virtual const DtList& vertices() const;
159  virtual void addVertex(const DtVector & vertex);
160 
163  virtual bool projection() const;
164  virtual void setProjection(bool projection);
165 
169  virtual bool closedFigure() const;
170  virtual void setClosedFigure(bool closedFigure);
171 
173  virtual const DtAppearance& appearance();
174  virtual void setAppearance(const DtAppearance& appearance);
175 
181  virtual bool createSubObjects() const;
182  virtual void setCreateSubObjects(bool createSubObjects);
183 
190  virtual bool addToOrganization() const;
191  virtual void setAddToOrganization(bool addToOrg);
192 
196  virtual bool clampToGround() const;
197  virtual void setClampToGround(bool clamp);
198 
202 
203  virtual DtString initialFormation() const;
204  virtual void setInitialFormation(const DtString& formation);
206 
209 
210  virtual bool publishObject() const;
211  virtual void setPublishObject(bool);
213 
217  virtual DtAggregateState initialAggregateState() const;
218  virtual void setInitialAggregateState(DtAggregateState aggregateState);
219 
221  virtual std::list<DtAdminContent*>* initialAdminContent();
222  virtual void setInitialAdminContent(std::list<DtAdminContent*> adminContent);
223  virtual void addInitialAdminContent(DtAdminContent* adminContent);
224 
226  virtual std::list<DtSimInterfaceContent*>* initialInterfaceContent();
227  virtual void setInitialInterfaceContent(std::list<DtSimInterfaceContent*> adminContent);
228  virtual void addInitialInterfaceContent(DtSimInterfaceContent* adminContent);
229 
232  void setStartPosition(const DtVector& position);
233  const DtVector& startPosition() const;
234  void setEndPosition(const DtVector& position);
235  const DtVector& endPosition() const;
236  void setName(const DtString & name);
237  const DtString & name() const;
238 
239  virtual void setExtendedData(const std::map<std::string, std::string>&);
240  virtual void setExtendedData(const std::map<DtString, DtString>&);
241  virtual const std::map<std::string, std::string>& extendedData() const;
242 
243  virtual void setUserData( const DtString& userData );
244  virtual DtString userData() const;
245 
246 
247  virtual int netRepSize() const;
248  virtual bool setFromNet(const char* contentBuffer,
249  unsigned contentSize);
250  virtual bool setToNet();
251 
252  virtual void printDataToString(DtString& str);
253 
254  static DtSimInterfaceContent* creator();
255 
256 protected:
259 
262  void copyList(const DtList & fromList);
263 
265  void emptyList();
266 
267 protected:
268 
269  DtU32 myRequestId;
270  DtSimulationAddress myVrfProcessAddress;
272  DtObjectType myObjectType;
273  DtForceType myForceType;
275  std::map<int, DtString> myExtendedLabels;
276  DtReal myHeading;
279  std::vector<DtVector> myVertexList;
281  mutable DtList myVertices;
282  DtAppearance myAppearance;
290  std::list<DtAdminContent*> myAdminContent;
291  std::list<DtSimInterfaceContent*> myInterfaceContent;
293  std::map<std::string, std::string> myExtendedData;
294 };
295 
297 {
298  setPosition(position);
299 }
300 
302 {
303  return position();
304 }
305 
306 inline void DtIfCreateVrfObject::setEndPosition(const DtVector& position)
307 {
308  addVertex(position);
309 }
310 
312 {
313  if (myVertices.count() > 0)
314  {
315  return *(DtVector*)myVertices.last()->data();
316  }
317 
318  else
319  {
320  return DtVector::zero();
321  }
322 }
323 
324 inline void DtIfCreateVrfObject::setName(const DtString & name)
325 {
326  setObjectName(name);
327 }
328 
329 inline const DtString& DtIfCreateVrfObject::name() const
330 {
331  return objectName();
332 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)