VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtEntity3dFacade.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 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtUniqueID.h>
15 #include <string>
16 
17 class DtTaitBryan;
18 class DtVector;
19 
20 namespace makVrv
21 {
22  class DtAgentManagerInterface;
23  class DtArticulatedModelAgent;
24  class DtDeadReckonUpdaterAgent;
25  class DtGroundClampingUpdaterAgent;
26  class DtWaterClampingUpdaterAgent;
27  class DtWakeModelAgent;
28  class DtWakeUpdaterAgent;
29  class DtTidalStreamWakeModelAgent;
30  class DtTidalStreamWakeUpdaterAgent;
31  class DtSurfaceClampingUpdaterAgent;
32  class DtSceneObjectAgent;
33  class DtSharedSettingsManager;
34  class DtBuoyTextureAtlasFileParser;
35 
40  {
41  public:
42 
44  DtEntity3dFacade( DtAgentManagerInterface& sceneInterface,
45  DtSharedSettingsManager& settingsMgr, DtElementID id,
46  bool distribute = false );
47 
48 
50  DtEntity3dFacade( DtAgentManagerInterface& sceneInterface,
51  DtSharedSettingsManager& settingsMgr, DtElementID id, int modelset,
52  bool distribute = false );
53 
55  virtual ~DtEntity3dFacade();
56 
60 
61 
63  virtual void setVisible(bool visible);
64 
66  virtual bool visible() const;
67 
69  virtual DtElementID elementId() const;
70 
72  virtual int modelSet() const;
73 
75  DtSceneObjectAgent& sceneObjectAgent();
76 
78 
81 
82 
86  virtual void setPosition(const DtVector& position);
87 
93  virtual DtVector position() const;
94 
98  virtual void setVelocity(const DtVector& velocity);
99 
104  virtual DtVector velocity() const;
105 
107  virtual void setAcceleration(const DtVector& acceleration);
108 
113  virtual DtVector acceleration() const;
114 
116  virtual void setOrientation(const DtTaitBryan& orientation);
117 
119  virtual DtTaitBryan orientation() const;
120 
122  virtual void setAngularVelocity(const DtVector& angularVelocity);
123 
125  virtual DtVector angularVelocity() const;
126 
128 
132 
133 
136  virtual void setDeadReckoningEnabled(bool position, bool velocity,
137  bool orientation);
138 
140  virtual void setSmoothingEnabled(bool enabled);
141 
143  virtual void setSmoothingPeriod(float period);
144 
147  virtual void setGroundClampingMode(
149 
151  virtual void setWaterClamping(bool isWaterClamping);
152 
154  virtual void setWaterClampingLod(float lodRange);
155 
158  virtual void setWaterlineOriginOffset( float offset );
159 
161  virtual void addWake();
162 
164  virtual DtWakeModelAgent* wake();
165 
168  virtual void addTidalStreamWake();
169 
172  virtual void addTidalStreamWake( double wakeLength,
173  double draft, double maxWaveAmplitude);
174 
177  virtual void addTidalStreamWake( const std::string& modelDefinitionName );
178 
180  virtual void removeTidalStreamWake();
181 
184  virtual void setTidalStreamWakeLod( double distance );
185 
190  virtual void setTidalStreamWakeCurrent( double speed,
191  double direction );
193 
197 
198 
200  virtual void setArticulatedModelDefinition(const std::string& modelName);
201 
203  virtual void setModelScalingEnabled(bool enabled);
204 
206  virtual void setPartOrientation(int partNumber,
207  const DtTaitBryan& orientation,const DtVector& angularVelocity);
208 
210  virtual void setPartTranslation(int partNumber,
211  const DtVector& translation,const DtVector& velocity);
212 
214  virtual void setPartVisibility(int partNumber, bool onOff);
215 
217  virtual void setSwitchState( int switchToSet, int value );
218 
220  virtual DtArticulatedModelAgent* articulatedModelAgent();
221 
224  virtual void setTextureAtlasFile(std::string& file);
225 
227  virtual const std::string& textureAtlasFile() const;
228 
232  virtual void setTextureAtlasParser(DtBuoyTextureAtlasFileParser* parser);
233 
236  virtual DtBuoyTextureAtlasFileParser* textureAtlasParser();
238 
239  private:
240 
242  void init();
243 
246  void slot_globalBuoyancyChanged( bool enabled );
247 
248  void createWaterClampingUpdater();
249  void destroyWaterClampingUpdater();
250 
251  protected:
255  bool myDistributeFlag; // whether or not to distribute models to remote displays
261 
263  DtSceneObjectAgent* mySceneObjectAgent;
264  DtArticulatedModelAgent* myModelAgent;
265  DtDeadReckonUpdaterAgent* myDeadReckonUpdaterAgent;
266  DtGroundClampingUpdaterAgent* myGroundClampingUpdaterAgent;
267  DtWaterClampingUpdaterAgent* myWaterClampingUpdaterAgent;
268  DtSurfaceClampingUpdaterAgent* mySurfaceClampingUpdaterAgent;
269  DtTidalStreamWakeModelAgent * myTidalStreamWakeModelAgent;
270  DtTidalStreamWakeUpdaterAgent* myTidalStreamWakeUpdaterAgent;
271 
272 
273  DtWakeModelAgent* myWakeModelAgent;
274  DtWakeUpdaterAgent* myWakeUpdaterAgent;
276  };
277 }

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)