VR-Forces 4.8 Class Documentation
 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) 2019 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>
16 
17 #include <vrvUtil/DtQuat.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 
101  virtual void setAnimationState(const std::string& animationName,
102  AnimationState mode ) = 0;
103 
105  virtual void getParts( PartList& parts ) const = 0;
106 
111  virtual void setUvOffset(const std::string& annotation,
112  float uOffset, float vOffset) = 0;
113 
115  virtual void setDynamicSensorRegion( const std::string& region, bool state ) = 0;
116 
118  virtual bool dynamicSensorRegion( const std::string& region ) = 0;
119 
126  virtual void setLinkageConfigPair(const std::string& linkageName, const std::string& configName) = 0;
127 
129 
133  virtual bool findPartPositionAndOrientation(int partNumber, DtVector& position,
134  DtQuat& ori) = 0;
135 
137  virtual bool supportsMultithreadedLoad();
138 
139  };
140 
141 }
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.
AnimationState
Definition: DtArticulatedModel.h:34
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains makVrv::DtQuat class.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
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.
Definition: DtModel.h:56
Contains makVrv::DtBackgroundLoader class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
A utility Quaternion class.
Definition: DtQuat.h:22
Definition: DtArticulatedModel.h:34
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)