VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtArticulatedModel.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2021 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvCore/DtModel.h>
15 
16 #include <vrvUtil/DtQuat.h>
17 #include <vrvUtil/DtUnicode.h>
18 
19 #include <matrix/vlVector.h>
20 
21 class DtTaitBryan;
22 
23 namespace makVrv
24 {
25 
26  class DtQuat;
27 
32  {
33  public:
34  enum AnimationState {START, STOP, PAUSE, RESUME};
35 
36  typedef std::vector<int> PartList;
37 
40 
42  virtual ~DtArticulatedModel();
43 
46  virtual void setModelScalingEnabled( bool b ) = 0;
47 
50  virtual void setModelDefinition( const std::string& def ) = 0;
51 
55  virtual void setLocalModelScalingEnabled( bool enabled ) = 0;
56 
59  virtual void setLocalModelScalingAmount( float localScl ) = 0;
60 
63  virtual const std::string& className() const = 0;
64 
66 
68  virtual void setPartTranslation( int partNumber,
69  const DtVector& transform, const DtVector& velocity ) = 0;
70 
72  virtual void setPartOrientation( int partNumber,
73  const DtTaitBryan& orientation, const DtVector& rotationalVelocity ) = 0;
74 
77  virtual void setPartRotationalVelocity(int partNumber,
78  const DtVector& rotationalVelocity, bool forceUpdate) = 0;
79 
80  virtual void setPartVisibility( int partNumber, bool onOff ) = 0;
81 
83  virtual void setState( int stateNumber, int stateValue) = 0;
84 
87  virtual void setLightpointMaxDistance( float distance ) = 0;
88 
90  virtual void setAnimationFrame( const std::string& animationName,
91  int frameIndex ) = 0;
92 
94  virtual void setAnimationRange( const std::string& animationName,
95  int firstFrameIndex, int lastFrameIndex ) = 0;
96 
98  virtual void setAnimationSpeed( const std::string& animationName,
99  double framesPerSecond ) = 0;
100 
102  virtual void setAnimationState(const std::string& animationName,
103  AnimationState mode ) = 0;
104 
106  virtual void getParts( PartList& parts ) const = 0;
107 
112  virtual void setUvOffset(const std::string& annotation,
113  float uOffset, float vOffset) = 0;
114 
116  virtual void setDynamicSensorRegion(const std::string& region, bool state) = 0;
117 
119  virtual void weaponFired(const DtUnicode& munitionModelDefName) = 0;
120 
122  virtual bool dynamicSensorRegion( const std::string& region ) = 0;
123 
130  virtual void setLinkageConfigPair(const std::string& linkageName, const std::string& configName) = 0;
131 
133 
137  virtual bool findPartPositionAndOrientation(int partNumber, DtVector& position,
138  DtQuat& ori) = 0;
139 
141  virtual bool supportsMultithreadedLoad();
142 
143  };
144 
145 }
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
An articulated model manipulator for controlling an articulated model.
Definition: DtArticulatedModel.h:31
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
AnimationState
Definition: DtArticulatedModel.h:34
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtQuat class.
Contains makVrv::DtModel class.
std::vector< int > PartList
Definition: DtArticulatedModel.h:36
const char int mode
Definition: ioapi.h:38
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:55
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
A utility Quaternion class.
Definition: DtQuat.h:19
Definition: DtArticulatedModel.h:34
Contains DLL export macros.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)