VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
diGuyFacade.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include "vrvLegion/export.h"
12 
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtUniqueID.h>
17 #include <matrix/vlVector.h>
18 #include <legionDataStore/dataTypes.h>
19 #include <string>
20 
21 class DtTaitBryan;
22 
23 namespace makVrv
24 {
25  class DtAgentManagerInterface;
26  class DtModelAgent;
27  class DtDeadReckonUpdaterAgent;
28  class DtGroundClampingUpdaterAgent;
29  class DtWaterClampingUpdaterAgent;
30  class DtWakeModelAgent;
31  class DtWakeUpdaterAgent;
32  class DtTidalStreamWakeModelAgent;
33  class DtTidalStreamWakeUpdaterAgent;
34  class DtSurfaceClampingUpdaterAgent;
35  class DtSceneObjectAgent;
36  class DtSharedSettingsManager;
37 
40  {
41  public:
42 
44  DtDiGuyFacade(DtAgentManagerInterface& sceneInterface,
45  DtSharedSettingsManager& settingsMgr, DtElementID id, const std::string& motionModel = "DtDiGuyMotionModel",
46  bool distribute = false);
47 
49  virtual ~DtDiGuyFacade();
50 
54 
55 
56  virtual void reset();
57 
59  virtual void setUpdateTypes(bool deadReckon = true, bool groundClamp = true);
60 
62  virtual void setVisible(bool visible);
63 
65  virtual bool visible() const;
66 
68  virtual DtElementID elementId() const;
69 
71  virtual DtModelSetId modelSet() const;
72 
74  DtSceneObjectAgent& sceneObjectAgent();
75 
77 
80 
81 
85  virtual void setPosition(const DtVector& position);
86 
92  virtual DtVector position() const;
93 
95  virtual void setAppearanceBits(unsigned int);
96 
100  virtual void setVelocity(const DtVector32& velocity);
101 
106  virtual DtVector32 velocity() const;
107 
109  virtual void setAcceleration(const DtVector32& acceleration);
110 
115  virtual DtVector32 acceleration() const;
116 
118  virtual void setOrientation(const DtTaitBryan& orientation);
119 
121  virtual DtTaitBryan orientation() const;
122 
124  virtual void setAngularVelocity(const DtVector32& angularVelocity);
125 
127  virtual DtVector32 angularVelocity() const;
128 
129  void setLastReceivedTime(double lastReceivedTime);
130  double lastReceivedTime() const;
131 
133  virtual void setFrozen(bool freeze);
134 
136  bool frozen() const;
137 
139 
143 
144 
147  virtual void setDeadReckoningEnabled(bool position, bool velocity, bool orientation);
148 
150  virtual void setSmoothingEnabled(bool enabled);
151 
153  virtual void setSmoothingPeriod(float period);
154 
157  virtual void setGroundClampingMode(DtGroundClampingUpdater::GroundClampingMode mode);
158 
162 
163 
165  virtual void setCharacterModelDefinition(const std::string& modelName);
166 
168  virtual const std::string& characterModelDefinition() const;
169 
171  virtual void setModelScalingEnabled(bool enabled);
172 
174  virtual DtModelAgent* modelAgent();
175 
177  virtual void setMotionModel(const std::string&);
178 
180  const std::string& motionModel() const { return myMotionModel; };
181  bool isHuman() const { return (myMotionModel == "DtDiGuyMotionModel"); };
182 
184 
185  virtual void setPaused(bool b);
186  virtual bool paused() const;
187 
188  virtual bool isDead() const;
189 
190  const std::string& action() const
191  {
192  return myAction;
193  }
194 
195  const std::string& character() const
196  {
197  return myCharacter;
198  }
199 
200  virtual void setAction(const std::string& action, float speed);
201 
202  virtual void forceAction(const std::string& action, float speed);
203 
204  virtual void forceTempAction(const std::string& action, float duration);
205 
206  virtual void gesture(const std::string& gesture);
207 
208  virtual void setPosture(int posture);
209 
210  virtual void setCharacterProperties(const std::string& character, const std::string& appearance, const std::string& head, const std::string& hand);
211 
212  virtual void setActive(bool active);
213 
214  protected:
215 
217  void init();
218 
219  protected:
220  std::string myCharacter;
221  std::string myAppearance;
222  std::string myHead;
223  std::string myHandItem;
224  std::string myAction;
225  bool myVisible;
226  bool myActive;
227  bool myPaused;
228  bool myFrozen;
229  unsigned int myAppearanceBits;
230  DtVector myLocation;
231  DtVector32 myVelocity;
232  DtTaitBryan myOrientation;
233 
235 
241 
243  DtSceneObjectAgent* mySceneObjectAgent;
244  DtModelAgent* myModelAgent;
245  DtDeadReckonUpdaterAgent* myDeadReckonUpdaterAgent;
246  DtGroundClampingUpdaterAgent* myGroundClampingUpdaterAgent;
247 
249 
250  std::string myMotionModel;
251  };
252 }
DtVector myLocation
Definition: diGuyFacade.h:230
bool myActive
Definition: diGuyFacade.h:226
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
Because this is all throw away code, this will do both – character and articulated model...
Definition: diGuyFacade.h:39
DtVector32 myVelocity
Definition: diGuyFacade.h:231
std::string myHead
Definition: diGuyFacade.h:222
bool myPaused
Definition: diGuyFacade.h:227
DtElementID myElementId
Definition: diGuyFacade.h:237
const std::string & action() const
Definition: diGuyFacade.h:190
DtTaitBryan myOrientation
Definition: diGuyFacade.h:232
std::string myAction
Definition: diGuyFacade.h:224
DtGroundClampingUpdaterAgent * myGroundClampingUpdaterAgent
Definition: diGuyFacade.h:246
DtModelSetId myModelSet
Definition: diGuyFacade.h:242
std::string myCharacter
Definition: diGuyFacade.h:220
DtModelAgent * myModelAgent
Definition: diGuyFacade.h:244
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
DtSceneObjectAgent * mySceneObjectAgent
Definition: diGuyFacade.h:243
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtAgentManagerInterface & mySceneInterface
Definition: diGuyFacade.h:238
std::string myAppearance
Definition: diGuyFacade.h:221
#define VRV_LEGION_DLL
Definition: export.h:24
DtDeadReckonUpdaterAgent * myDeadReckonUpdaterAgent
Definition: diGuyFacade.h:245
std::string myHandItem
Definition: diGuyFacade.h:223
std::string myMotionModel
Definition: diGuyFacade.h:250
Contains makVrv::DtGroundClampingUpdater class.
bool myIsDestroyed
Definition: diGuyFacade.h:248
DtSharedSettingsManager & mySharedSettingsManager
Definition: diGuyFacade.h:236
Base class to provide boost signal/slot management.
bool myVisible
Definition: diGuyFacade.h:225
bool myDistributeFlag
Definition: diGuyFacade.h:239
const char int mode
Definition: ioapi.h:38
double myLastReceivedTime
Definition: diGuyFacade.h:234
std::string myModelDefinitionName
whether or not to distribute models to remote displays
Definition: diGuyFacade.h:240
const std::string & character() const
Definition: diGuyFacade.h:195
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
bool isHuman() const
Set the entity&#39;s model definition names.
Definition: diGuyFacade.h:181
bool myFrozen
Definition: diGuyFacade.h:228
DtModelSetId
Definition: DtModelSetEnums.h:19
const std::string & motionModel() const
Determines type of model. DtDiGuyMotionModel means a DtCharacterModelAgent else DtArticulatedModelAge...
Definition: diGuyFacade.h:180
unsigned int myAppearanceBits
Definition: diGuyFacade.h:229
GroundClampingMode
Ground Clamping Modes.
Definition: DtGroundClampingUpdater.h:36
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)