VR-Forces 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) 2023 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 
38  public:
39 
42 
44  virtual ~DtArticulatedModel();
45 
46  public:
47 
50  virtual void setModelScalingEnabled( bool b ) = 0;
51 
54  virtual void setModelDefinition( const std::string& def ) = 0;
55 
59  virtual void setLocalModelScalingEnabled( bool enabled ) = 0;
60 
63  virtual void setLocalModelScalingAmount( float localScl ) = 0;
64 
67  virtual const std::string& className() const = 0;
68 
70 
72  virtual void setPartTranslation( int partNumber,
73  const DtVector& transform, const DtVector& velocity ) = 0;
74 
76  virtual void setPartOrientation( int partNumber,
77  const DtTaitBryan& orientation, const DtVector& rotationalVelocity ) = 0;
78 
81  virtual void setPartRotationalVelocity(int partNumber,
82  const DtVector& rotationalVelocity, bool forceUpdate) = 0;
83 
84  virtual void setPartVisibility( int partNumber, bool onOff ) = 0;
85 
87  virtual void setState( int stateNumber, int stateValue) = 0;
88 
89  //@name <Lights: Start>
91  virtual void setLightpointMaxDistance(float distance) = 0;
94 
96  virtual void setLightPointGroup(const std::string& groupName) = 0;
97 
99  virtual void setLightPointGroupIntensity(const std::string& groupName, float intensity) = 0;
100  //</Lights: End>
102 
104  virtual void setAnimationFrame( const std::string& animationName,
105  int frameIndex ) = 0;
106 
108  virtual void setAnimationRange( const std::string& animationName,
109  int firstFrameIndex, int lastFrameIndex ) = 0;
110 
112  virtual void setAnimationSpeed( const std::string& animationName,
113  double framesPerSecond ) = 0;
114 
116  virtual void setAnimationState(const std::string& animationName,
117  AnimationState mode ) = 0;
118 
120  virtual void getParts( PartList& parts ) const = 0;
121 
123  virtual bool hasPart(int partId) const = 0;
124 
129  virtual void setUvOffset(const std::string& annotation,
130  float uOffset, float vOffset) = 0;
131 
133  virtual void setDynamicSensorRegion(const std::string& region, bool state) = 0;
134 
136  virtual void weaponFired(const DtUnicode& munitionModelDefName) = 0;
137 
139  virtual bool dynamicSensorRegion( const std::string& region ) = 0;
140 
147  virtual void setLinkageConfigPair(const std::string& linkageName, const std::string& configName) = 0;
148 
150 
154  virtual bool findPartPositionAndOrientation(int partNumber, DtVector& position,
155  DtQuat& ori) = 0;
156 
158  virtual bool supportsMultithreadedLoad();
159 
160  };
161 
162 }
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.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
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:56
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:72
A utility Quaternion class.
Definition: DtQuat.h:19
Definition: DtArticulatedModel.h:34
Contains DLL export macros.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)