![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2011 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /***************************************************************************** 00006 * $RCSfile: DtArticulatedModel.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *****************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 00017 #include <vrvCore/DtModel.h> 00018 00019 #include <vrvUtil/DtQuat.h> 00020 00021 class DtVector; 00022 class DtTaitBryan; 00023 00024 namespace makVrv 00025 { 00026 00027 class DtQuat; 00028 00032 class DT_DLL_VRVCORE DtArticulatedModel : public DtModel 00033 { 00034 public: 00035 00036 typedef std::vector<int> PartList; 00037 00039 DtArticulatedModel(DtDe&, DtUniqueID id); 00040 00042 virtual ~DtArticulatedModel(); 00043 00046 virtual void setModelScalingEnabled( bool b ) = 0; 00047 00050 virtual void setModelDefinition( const std::string& def ) = 0; 00051 00055 virtual void setLocalModelScalingEnabled( bool enabled ) = 0; 00056 00059 virtual void setLocalModelScalingAmount( float localScl ) = 0; 00060 00063 virtual std::string className() const = 0; 00064 00066 00068 virtual void setPartTranslation( int partNumber, 00069 const DtVector& transform, const DtVector& velocity ) = 0; 00070 00072 virtual void setPartOrientation( int partNumber, 00073 const DtTaitBryan& orientation, const DtVector& rotationalVelocity ) = 0; 00074 00075 virtual void setPartVisibility( int partNumber, bool onOff ) = 0; 00076 00078 virtual void setState( int stateNumber, int stateValue ) = 0; 00079 00081 virtual void setAnimationFrame( const std::string& animationName, 00082 int frameIndex ) = 0; 00083 00085 virtual void setAnimationRange( const std::string& animationName, 00086 int firstFrameIndex, int lastFrameIndex ) = 0; 00087 00089 virtual void setAnimationSpeed( const std::string& animationName, 00090 double framesPerSecond ) = 0; 00091 00093 virtual void getParts( PartList& parts ) const = 0; 00094 00096 00100 virtual bool findPartPositionAndOrientation(int partNumber, DtVector& position, 00101 DtQuat& ori) = 0; 00102 00103 }; 00104 00105 }