VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtArticulatedModel.h
Go to the documentation of this file.
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 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)