![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: artPartSR.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00014 00015 #ifndef artPartSR_H_ 00016 #define artPartSR_H_ 00017 00018 #include "vrfobjcore/vrfobjcoreDefines.h" 00019 #include "vrfobjcore/simObjSR.h" 00020 00028 class DT_DLL_vrfobjcore DtArticulatedPartStateRepository : 00029 public DtSimObjectStateRepository 00030 { 00031 public: 00032 DtArticulatedPartStateRepository(DtVrfObject* simObject, 00033 const DtObjectType& objectType, 00034 const DtString& rwName = DtString::nullString(), 00035 DtReaderWriterRegistry* parentRegistry = 0); 00036 00037 protected: 00038 DtArticulatedPartStateRepository(const DtArticulatedPartStateRepository& orig, 00039 const DtString& rwName = DtString::nullString(), 00040 DtReaderWriterRegistry* parentRegistry = 0); 00041 00042 public: 00043 00044 const DtArticulatedPartStateRepository& operator=( 00045 const DtArticulatedPartStateRepository& orig); 00046 00047 virtual ~DtArticulatedPartStateRepository(); 00048 00049 virtual DtSimObjectStateRepository* clone( 00050 const DtString& rwName = DtString::nullString(), 00051 DtReaderWriterRegistry* parentRegistry = 0) const; 00052 00054 virtual DtString type() const; 00055 00059 enum DtJointAxis {DtYAW, DtPITCH, DtROLL}; 00060 DtJointAxis myJointAxis; 00061 00065 DtReal angle() const; 00066 00067 DtReal turnRate() const; 00068 void setTurnRate(DtReal turnRate); 00069 00070 void setAngle(DtReal angle); 00071 00076 void setBodyPartType(const DtArtPartType & type); 00077 DtArtPartType bodyPartType(); 00078 00079 virtual DtReal artPartPosition() const; 00080 virtual void setArtPartPosition(DtReal position); 00081 00082 virtual DtReal artPartPositionRate() const; 00083 virtual void setArtPartPositionRate(DtReal rate); 00084 00085 virtual DtReal extension() const; 00086 virtual void setExtension(DtReal extension); 00087 00088 virtual DtReal extensionRate() const; 00089 virtual void setExtensionRate(DtReal rate); 00090 00091 protected: 00092 00093 DtReal myArtPartPosition; 00094 DtReal myArtPartPositionRate; 00095 00096 DtReal myExtension; 00097 DtReal myExtensionRate; 00098 }; 00099 00100 #endif 00101 00102