VR-Forces 4.3.1 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 
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 setUpdateTypes(bool deadReckon=true, bool groundClamp=true);
64 
66  virtual void setVisible(bool visible);
67 
69  virtual bool visible() const;
70 
72  virtual DtElementID elementId() const;
73 
75  virtual int modelSet() const;
76 
78  DtSceneObjectAgent& sceneObjectAgent();
79 
81 
84 
85 
89  virtual void setPosition(const DtVector& position);
90 
96  virtual DtVector position() const;
97 
101  virtual void setVelocity(const DtVector& velocity);
102 
107  virtual DtVector velocity() const;
108 
110  virtual void setAcceleration(const DtVector& acceleration);
111 
116  virtual DtVector acceleration() const;
117 
119  virtual void setOrientation(const DtTaitBryan& orientation);
120 
122  virtual DtTaitBryan orientation() const;
123 
125  virtual void setAngularVelocity(const DtVector& angularVelocity);
126 
128  virtual DtVector angularVelocity() const;
129 
131 
135 
136 
139  virtual void setDeadReckoningEnabled(bool position, bool velocity,
140  bool orientation);
141 
143  virtual void setSmoothingEnabled(bool enabled);
144 
146  virtual void setSmoothingPeriod(float period);
147 
150  virtual void setGroundClampingMode(
152 
154  virtual void setWaterClamping(bool isWaterClamping);
155 
157  virtual void setWaterClampingLod(float lodRange);
158 
161  virtual void setWaterlineOriginOffset( float offset );
162 
164  virtual void addWake();
165 
167  virtual DtWakeModelAgent* wake();
168 
171  virtual void addTidalStreamWake();
172 
175  virtual void addTidalStreamWake( double wakeLength,
176  double draft, double maxWaveAmplitude);
177 
180  virtual void addTidalStreamWake( const std::string& modelDefinitionName );
181 
183  virtual void removeTidalStreamWake();
184 
187  virtual void setTidalStreamWakeLod( double distance );
188 
193  virtual void setTidalStreamWakeCurrent( double speed,
194  double direction );
196 
200 
201 
203  virtual void setArticulatedModelDefinition(const std::string& modelName);
204 
206  virtual void setModelScalingEnabled(bool enabled);
207 
209  virtual void setPartOrientation(int partNumber,
210  const DtTaitBryan& orientation,const DtVector& angularVelocity);
211 
213  virtual void setPartTranslation(int partNumber,
214  const DtVector& translation,const DtVector& velocity);
215 
217  virtual void setPartVisibility(int partNumber, bool onOff);
218 
220  virtual void setSwitchState( int switchToSet, int value );
221 
223  virtual DtArticulatedModelAgent* articulatedModelAgent();
225 
226  private:
227 
229  void init();
230 
233  void slot_globalBuoyancyChanged( bool enabled );
234 
235  void createWaterClampingUpdater();
236  void destroyWaterClampingUpdater();
237 
238  protected:
242  bool myDistributeFlag; // whether or not to distribute models to remote displays
246 
248  DtSceneObjectAgent* mySceneObjectAgent;
249  DtArticulatedModelAgent* myModelAgent;
250  DtDeadReckonUpdaterAgent* myDeadReckonUpdaterAgent;
251  DtGroundClampingUpdaterAgent* myGroundClampingUpdaterAgent;
252  DtWaterClampingUpdaterAgent* myWaterClampingUpdaterAgent;
253  DtSurfaceClampingUpdaterAgent* mySurfaceClampingUpdaterAgent;
254  DtTidalStreamWakeModelAgent * myTidalStreamWakeModelAgent;
255  DtTidalStreamWakeUpdaterAgent* myTidalStreamWakeUpdaterAgent;
256 
257 
258  DtWakeModelAgent* myWakeModelAgent;
259  DtWakeUpdaterAgent* myWakeUpdaterAgent;
261  };
262 }

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)