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) 2025 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 
40  {
41  PartUpdateTypeManual = 0,
42  PartUpdateTypeAuto
43  };
44 
45  typedef std::vector<int> PartList;
46 
47  public:
48 
51 
53  virtual ~DtArticulatedModel();
54 
55  public:
56 
59  virtual void setModelScalingEnabled( bool b ) = 0;
60 
63  virtual void setModelDefinition( const std::string& def ) = 0;
64 
68  virtual void setLocalModelScalingEnabled( bool enabled ) = 0;
69 
72  virtual void setLocalModelScalingAmount( float localScl ) = 0;
73 
76  virtual const std::string& className() const = 0;
77 
79 
81  virtual void setPartTranslation( int partNumber,
82  const DtVector& transform, const DtVector& velocity ) = 0;
83 
85  virtual void setPartOrientation(int partNumber,
86  const DtTaitBryan& orientation, const DtVector& rotationalVelocity, PartUpdateType updateType) = 0;
87 
90  virtual void setPartRotationalVelocity(int partNumber,
91  const DtVector& rotationalVelocity, bool forceUpdate, PartUpdateType updateType) = 0;
92 
96  virtual PartUpdateType setPartOrientationUpdateType(int partNumber, PartUpdateType updateType) = 0;
97 
98  virtual void setPartVisibility( int partNumber, bool onOff ) = 0;
99 
101  virtual void setState( int stateNumber, int stateValue) = 0;
102 
103  //@name <Lights: Start>
105  virtual void setLightpointMaxDistance(float distance) = 0;
108 
110  virtual void setLightPointGroup(const std::string& groupName) = 0;
111 
115  virtual void setLightPointGroupIntensity(const std::string& groupName, float intensity) = 0;
116  //</Lights: End>
118 
120  virtual void setAnimationFrame( const std::string& animationName,
121  int frameIndex ) = 0;
122 
124  virtual void setAnimationRange( const std::string& animationName,
125  int firstFrameIndex, int lastFrameIndex ) = 0;
126 
128  virtual void setAnimationSpeed( const std::string& animationName,
129  double framesPerSecond ) = 0;
130 
132  virtual void setAnimationState(const std::string& animationName,
133  AnimationState mode ) = 0;
134 
136  virtual void getParts( PartList& parts ) const = 0;
137 
139  virtual bool hasPart(int partId) const = 0;
140 
145  virtual void setUvOffset(const std::string& annotation,
146  float uOffset, float vOffset) = 0;
147 
149  virtual void setDynamicSensorRegion(const std::string& region, bool state) = 0;
150 
152  virtual void weaponFired(const DtUnicode& munitionModelDefName) = 0;
153 
155  virtual bool dynamicSensorRegion( const std::string& region ) = 0;
156 
163  virtual void setLinkageConfigPair(const std::string& linkageName, const std::string& configName) = 0;
164 
166 
174  virtual bool findPartPositionAndOrientation(int partNumber, DtVector& position, DtQuat& ori) = 0;
175 
178  virtual bool findCachedPartPositionAndOrientation( int partNumber, DtVector& position, DtTaitBryan& ori ) = 0;
179 
181  virtual bool supportsMultithreadedLoad();
182 
183  };
184 
185 }
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
PartUpdateType
enumeration for what kind of update was applied to a part. The purpose of the enumeration is to track...
Definition: DtArticulatedModel.h:39
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:45
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:76
A utility Quaternion class.
Definition: DtQuat.h:19
Definition: DtArticulatedModel.h:34
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)