VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtDiGuyCharacterModel.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvDiGuy/vrvDiGuy.h>
14 #include <osg/ref_ptr>
15 #include <osg/Geometry>
16 
17 #include <matrix/topoCoord.h>
18 
19 //#define VISUALIZE_DIGUY_VELOCITY
20 
21 class diguyCharacter;
22 class diguyCharacterGuide;
23 
24 namespace osg
25 {
26  class Group;
27 }
28 
29 namespace makVrv
30 {
32  {
33  float mySpeed;
35  std::string myName;
36  };
37 
38  class DtOsgSceneConnector;
39  class DtSceneObject;
40 
44  {
45  public:
48 
50  virtual ~DtDiGuyCharacterModel();
51 
52  virtual void setModelDefinition(const std::string& modelDefinition);
53 
55  virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet,
56  int visualizerType );
57 
59  virtual void removeFromScene();
60 
62  virtual void setPosition( int vtx, const DtVector& position );
63 
65  virtual void setOrientation( int vtx, const DtTaitBryan& orientation );
66 
69  virtual std::string className() const;
70 
74  virtual void setCharacterModel(const std::string& characterType);
75 
79  virtual void setEnableAnimationSmoothing(bool);
80 
82  virtual bool enableAnimationSmoothing() const;
83 
85 
86  virtual void setDefaultAppearance(const std::string& appearanceName);
87  virtual void setAppearance(const std::string& appearanceName);
88  virtual void setHeadAppearance(const std::string& appearanceName);
89  virtual void setItemAppearance(const std::string& appearanceName);
90 
92 
94  virtual void setDesiredAction(const std::string& action,float speed);
95 
97  virtual void forceAction(const std::string& action, float speed, int autoChooseTransitionBehavior);
98 
100  virtual void forceTemporaryAction(const std::string& action, double duration);
101 
103  virtual void setSpeed(float speed);
104 
106  virtual bool weaponDeployed() const;
107 
109  virtual void setWeaponDeployed(bool deployed);
110 
113  void setFullUpdateNeeded(bool updated);
114 
116  bool fullUpdateNeeded() const;
117 
120  virtual void die(const std::string& deathAction);
121 
123  virtual void revive(const std::string& aliveAction);
124 
126  virtual void setPaused(bool paused);
127 
129  bool paused() const;
130 
132  diguyCharacter* character();
133 
135  virtual void setPosture(int posture);
136 
140  bool autoGenerateActions() const;
141 
145  bool autoGenerateActionSpeed() const;
146 
149  virtual void setModelScalingEnabled( bool b );
150 
151  virtual void setSolid(bool b);
152 
153  static void setDiGuyAttachGroup(osg::Group* diguy_attach_pt) {DiguyAttachGroup = diguy_attach_pt;}
154 
156  virtual void setEmbarked( bool embarkedState );
157  virtual bool embarked() const;
158 
159  virtual void setScale(const DtVector & scale);
160  virtual void setPartOrientation(int partNumber,
161  const DtTaitBryan& orientation, const DtVector& rotationalVelocity);
162 
163  diguyCharacterGuide * getGuide(){return myGuide;}
164  void setGuide(diguyCharacterGuide * guide){myGuide = guide;}
165 
166  bool getVRForcesEntity(){return myVRForcesEntity;}
167 
168  void setUpTopoConversion( const DtVector& location );
169  void topoOrientationFor(
170  const DtVector& location, const DtVector & velocity, const DtTaitBryan& orientation,
171  DtVector &outVelocity, DtTaitBryan & outOrientation );
172 
173  bool getIsVehicle(){return m_vehicle;}
174 
175  protected:
176 
177  virtual void setSceneObjectIdOnCollisionBoxes();
178 
180  void slot_modelInstanceToBeDestroyed(DtModelInstance*, DtModel*);
181 
183  void slot_modelInstanceCreated(DtModelInstance*, DtModel*);
184 
185 
186 
187  protected:
188 
189  static osg::Group* DiguyAttachGroup;
190  DtTaitBryan myOrientation;
192 
193  diguyCharacter* myCharacter;
194  diguyCharacterGuide * myGuide;
195 
205 
207  bool m_vehicle;
208  float m_aim_az;
209  float m_aim_el;
210  float m_gaze_az;
211  float m_gaze_el;
212 
214 
215  public:
216  DtCoordTransform m_geocToTopo;
217  DtCoordTransform m_topoToGeoc;
218 
219 #ifdef VISUALIZE_DIGUY_VELOCITY
220  osg::ref_ptr<osg::Geometry> myDesiredPositionLine;
221  osg::ref_ptr<osg::Geometry> myDesiredVelocityLine;
222  osg::ref_ptr<osg::Geometry> myVelocityLine;
223  osg::ref_ptr<osg::Geometry> myCordSys;
224  osg::ref_ptr<osg::Geometry> myCurrentDesiredPositionLine;
225  osg::ref_ptr<osg::Geode> myVizualizers;
226  osg::ref_ptr<osg::MatrixTransform> myVizualizersTransform;
227 #endif
228  };
229 }

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)