VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtCigiBaseEntity.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2014 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCigi/vrvCigi.h>
13 
14 #include <vrvCore/DtUniqueID.h>
16 
17 #include <matrix/geodeticCoord.h>
18 #include <matrix/vlTaitBryan.h>
19 
20 namespace makVrv
21 {
22  class DtAgentManagerInterface;
23  class DtCigiConnection;
24  class DtModelAgent;
25  class DtSceneObjectAgent;
26  class DtGroundClampingUpdaterAgent;
27  class DtDeadReckonUpdaterAgent;
28  class DtEmbarkationUpdaterAgent;
29 
30 
36  {
37  public:
41  DtAgentManagerInterface& sceneInterface, int entityId,
42  int entityType);
43 
45  virtual ~DtCigiBaseEntity();
46 
48  virtual DtUniqueID uniqueId() const;
49 
51  virtual int cigiId() const;
52 
54  virtual void setVisible(bool yesNo);
55 
57  virtual void setDeadReckoningOn(bool onOff);
58 
62  virtual void setPosition(const DtGeodeticCoord& pos, bool force=false);
63 
65  virtual const DtGeodeticCoord& position() const;
66 
68  virtual const DtVector& localPosition() const;
69 
73  virtual void setOrientation(const DtTaitBryan& orientation, bool force=false);
74 
76  virtual const DtTaitBryan& orientation() const;
77 
82  virtual void setLinearRate(const DtVector& rate, bool useWorldCoordinates = true);
83 
88  virtual void setAngularRate(const DtVector& rate, bool useWorldCoordinates = true);
89 
91  virtual void setRelativeTo(DtCigiBaseEntity* parent);
92 
94  virtual void setRelativePosition(const DtVector& pos);
95 
98  virtual void setRelativeOrientation(const DtTaitBryan& orient);
99 
101  virtual void setAlpha(int alpha);
102 
105  virtual int alpha() const;
106 
108  virtual void setInheritAlpha(bool inherit);
109 
111  virtual void slot_alphaChanged(int alpha, DtUniqueID id);
112 
114  virtual void setGroundClampingOn( DtGroundClampingUpdater::GroundClampingMode clampType );
115 
117  boost::signal<void (int, DtUniqueID)> signal_alphaChanged;
118 
119  protected:
121  virtual void startDeadReckoning();
122 
124  virtual void endDeadReckoning();
125 
127  virtual void startEmbarked();
128 
130  virtual void endEmbarked();
131 
133  virtual void startGroundClamping();
134 
136  virtual void endGroundClamping();
137 
138  virtual void buildGroundClampingUpdater();
139 
140  protected:
141  DtSceneObjectAgent* mySceneObject;
142  DtModelAgent* myModel;
143 
144  DtDeadReckonUpdaterAgent* myDeadReckonUpdaterAgent;
145  DtGroundClampingUpdaterAgent* myGroundClampingUpdaterAgent;
146  DtEmbarkationUpdaterAgent* myEmbarkationUpdaterAgent;
147 
151 
152  DtGeodeticCoord myLastPosition;
154 
155  DtTaitBryan myLastOrientation;
157 
160 
163 
166 
168  int myAlpha;
170  };
171 
172 
176  {
177  public:
178 
181  {
182  }
183 
186  {
187  }
188 
190  virtual DtCigiObjectCreator* clone() const = 0;
191 
193  virtual DtCigiBaseEntity* create(DtCigiConnection& connection,
194  DtAgentManagerInterface& sceneInterface, int entityId,
195  int entityType) const = 0;
196 
197  };
198 
199  template <typename CigiObject>
201  {
202  public:
203 
206  {
207  }
208 
211  {
212  }
213 
214  virtual DtCigiObjectCreator* clone() const
215  {
217  }
218 
220  virtual DtCigiBaseEntity* create( DtCigiConnection& connection,
221  DtAgentManagerInterface& sceneInterface, int entityId,
222  int entityType ) const
223  {
224  return new CigiObject (connection, sceneInterface, entityId,
225  entityType );
226  }
227  };
228 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)