VR-Forces 4.1.1 Class Documentation
ifCrtVrfObj.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: ifCrtVrfObj.h,v $ $Revision: 1.24 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtIfCreateVrfObject_H_
13 #define DtIfCreateVrfObject_H_
14 
16 #include <vlutil/vlString.h>
17 #include <vrfExtProtocol/objType.h>
18 #include <vlpi/disEnums.h>
19 #include <vlutil/vlList.h>
20 #include <vlpi/appearance.h>
21 #include <vlpi/simulationAddress.h>
22 #include "vrfmsgs/vrfmsgsDefines.h"
23 #include "vrftasks/adminContent.h"
24 #include <vector>
25 #include <list>
26 
86 {
87 public:
88 
91 
93  virtual ~DtIfCreateVrfObject();
94 
97 
100 
102  virtual DtSimInterfaceContent * clone() const;
103 
106  virtual int type() const;
107 
110  virtual unsigned long requestId() const;
111  virtual void setRequestId(unsigned long requestId);
112 
115  virtual void setVrfProcessAddress(const DtSimulationAddress & address);
116  virtual const DtSimulationAddress & vrfProcessAddress() const;
117 
121  virtual void setObjectName(const DtString & objectName);
122  virtual const DtString & objectName() const;
123 
125  virtual void setObjectType(const DtObjectType & objectType);
126  virtual const DtObjectType & objectType() const;
127 
129  virtual void setForceType(const DtForceType forceType);
130  virtual DtForceType forceType() const;
131 
133  virtual void setObjectLabel(const DtString & objectLabel);
134  virtual const DtString & objectLabel() const;
135 
137  virtual const DtVector & position() const;
138  virtual void setPosition(const DtVector & position);
139 
141  virtual DtReal heading() const;
142  virtual void setHeading(DtReal heading);
143 
147  virtual const std::vector<DtVector>& vertexList() const;
150  virtual const DtList& vertices() const;
152  virtual void addVertex(const DtVector & vertex);
153 
156  virtual bool projection() const;
157  virtual void setProjection(bool projection);
158 
162  virtual bool closedFigure() const;
163  virtual void setClosedFigure(bool closedFigure);
164 
166  virtual const DtAppearance& appearance();
167  virtual void setAppearance(const DtAppearance& appearance);
168 
174  virtual bool createSubObjects() const;
175  virtual void setCreateSubObjects(bool createSubObjects);
176 
183  virtual bool addToOrganization() const;
184  virtual void setAddToOrganization(bool addToOrg);
185 
189  virtual bool clampToGround() const;
190  virtual void setClampToGround(bool clamp);
191 
195 
196  virtual DtString initialFormation() const;
197  virtual void setInitialFormation(const DtString& formation);
199 
202 
203  virtual bool publishObject() const;
204  virtual void setPublishObject(bool);
206 
210  virtual DtAggregateState initialAggregateState() const;
211  virtual void setInitialAggregateState(DtAggregateState aggregateState);
212 
214  virtual std::list<DtAdminContent*>* initialAdminContent();
215  virtual void setInitialAdminContent(std::list<DtAdminContent*> adminContent);
216  virtual void addInitialAdminContent(DtAdminContent* adminContent);
217 
219  virtual std::list<DtSimInterfaceContent*>* initialInterfaceContent();
220  virtual void setInitialInterfaceContent(std::list<DtSimInterfaceContent*> adminContent);
221  virtual void addInitialInterfaceContent(DtSimInterfaceContent* adminContent);
222 
225  void setStartPosition(const DtVector& position);
226  const DtVector& startPosition() const;
227  void setEndPosition(const DtVector& position);
228  const DtVector& endPosition() const;
229  void setName(const DtString & name);
230  const DtString & name() const;
231 
232 
233  virtual void setUserData( const DtString& userData );
234  virtual DtString userData() const;
235 
236 
237  virtual int netRepSize() const;
238  virtual bool setFromNet(const char* contentBuffer,
239  unsigned contentSize);
240  virtual bool setToNet();
241 
242  virtual void printDataToString(DtString& str);
243 
244  static DtSimInterfaceContent* creator();
245 
246 protected:
249 
252  void copyList(const DtList & fromList);
253 
255  void emptyList();
256 
257 protected:
258 
259  DtU32 myRequestId;
260  DtSimulationAddress myVrfProcessAddress;
263  DtForceType myForceType;
265  DtReal myHeading;
268  std::vector<DtVector> myVertexList;
270  mutable DtList myVertices;
271  DtAppearance myAppearance;
278  std::list<DtAdminContent*> myAdminContent;
279  std::list<DtSimInterfaceContent*> myInterfaceContent;
281 };
282 
284 {
285  setPosition(position);
286 }
287 
289 {
290  return position();
291 }
292 
293 inline void DtIfCreateVrfObject::setEndPosition(const DtVector& position)
294 {
295  addVertex(position);
296 }
297 
299 {
300  if (myVertices.count() > 0)
301  {
302  return *(DtVector*)myVertices.last()->data();
303  }
304 
305  else
306  {
307  return DtVector::zero();
308  }
309 }
310 
311 inline void DtIfCreateVrfObject::setName(const DtString & name)
312 {
313  setObjectName(name);
314 }
315 
316 inline const DtString& DtIfCreateVrfObject::name() const
317 {
318  return objectName();
319 }
320 
321 #endif

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)