00001 // rdKinematics.h 00002 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003 // Copyright 2000 Realistic Dynamics, Inc. 00004 // All rights reserved. 00005 // 00006 // CONFIDENTIAL 00007 // 00008 // The material contain within this file is the sole property of 00009 // Realistic Dynamics, Inc., and may not be read, copied, or distributed 00010 // without the expressed writen consent of Realistic Dynamics, Inc. 00011 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00012 #ifndef __rdKinematics_h__ 00013 #define __rdKinematics_h__ 00014 00015 00016 // INCLUDES 00017 #include <rdSpline.h> 00018 #include "rdDynamicFilterDLL.h" 00019 00020 00021 //============================================================================= 00022 //============================================================================= 00031 class RDDYNAMICFILTER_API rdKinematics 00032 { 00033 //============================================================================= 00034 // DATA 00035 //============================================================================= 00036 private: 00037 int _status; 00038 char *_name; 00039 int _n; 00040 rdSpline **_spPos; 00041 rdSpline **_spVel; 00042 rdSpline **_spAcc; 00043 00044 //============================================================================= 00045 // METHODS 00046 //============================================================================= 00047 public: 00048 //-------------------------------------------------------------------------- 00049 // CONSTRUCTION 00050 //-------------------------------------------------------------------------- 00051 virtual ~rdKinematics(); 00052 rdKinematics(const char *aSuiteName,int aNStates); 00053 int initialize(const char *aSuiteName,int aNStates); 00054 00055 //-------------------------------------------------------------------------- 00056 // SET AND GET 00057 //-------------------------------------------------------------------------- 00058 int getNY(); 00059 00060 //-------------------------------------------------------------------------- 00061 // EVALUATE 00062 //-------------------------------------------------------------------------- 00063 double pos(int aState,double aTime); 00064 double vel(int aState,double aTime); 00065 double acc(int aState,double aTime); 00066 00067 //-------------------------------------------------------------------------- 00068 // UTILITY 00069 //-------------------------------------------------------------------------- 00070 char isStateIndexValid(int aState); 00071 00072 //============================================================================= 00073 }; // END class rdKinematics 00074 //============================================================================= 00075 //============================================================================= 00076 00077 #endif // __rdKinematics_h__
1.3