|
Fast Research Interface Library
Manual and Documentation
|
00001 // ---------------------- Doxygen info ---------------------- 00050 // ---------------------------------------------------------- 00051 // For a convenient reading of this file's source code, 00052 // please use a tab width of four characters. 00053 // ---------------------------------------------------------- 00054 00055 00056 #ifndef __TypeIRMLPolynomial__ 00057 #define __TypeIRMLPolynomial__ 00058 00059 00060 00061 namespace TypeIRMLMath 00062 { 00063 00064 00065 // ---------------------- Doxygen info ---------------------- 00073 // ---------------------------------------------------------- 00074 #define MAXIMAL_NO_OF_POLYNOMIALS 6 00075 00076 00077 // ---------------------- Doxygen info ---------------------- 00084 // ---------------------------------------------------------- 00085 class TypeIRMLPolynomial 00086 { 00087 public: 00088 00089 00090 // ---------------------- Doxygen info ---------------------- 00095 // ---------------------------------------------------------- 00096 TypeIRMLPolynomial(void); 00097 00098 00099 // ---------------------- Doxygen info ---------------------- 00104 // ---------------------------------------------------------- 00105 ~TypeIRMLPolynomial(void); 00106 00107 00108 // ---------------------- Doxygen info ---------------------- 00128 // ---------------------------------------------------------- 00129 void SetCoefficients( const double &Coeff2 00130 , const double &Coeff1 00131 , const double &Coeff0 00132 , const double &Diff); 00133 00134 00135 // ---------------------- Doxygen info ---------------------- 00149 // ---------------------------------------------------------- 00150 double CalculateValue(const double &t) const; 00151 00152 00153 private: 00154 00155 unsigned int Degree; 00156 00157 double a2 00158 , a1 00159 , a0 00160 , DeltaT; 00161 00162 00163 }; // class TypeIRMLPolynomial 00164 00165 00166 // ---------------------- Doxygen info ---------------------- 00180 // ---------------------------------------------------------- 00181 struct TypeIMotionPolynomials 00182 { 00183 00184 // ---------------------- Doxygen info ---------------------- 00194 // ---------------------------------------------------------- 00195 double PolynomialTimes [MAXIMAL_NO_OF_POLYNOMIALS] ; 00196 00197 00198 // ---------------------- Doxygen info ---------------------- 00209 // ---------------------------------------------------------- 00210 TypeIRMLPolynomial PositionPolynomial [MAXIMAL_NO_OF_POLYNOMIALS] ; 00211 00212 00213 // ---------------------- Doxygen info ---------------------- 00224 // ---------------------------------------------------------- 00225 TypeIRMLPolynomial VelocityPolynomial [MAXIMAL_NO_OF_POLYNOMIALS] ; 00226 00227 00228 // ---------------------- Doxygen info ---------------------- 00233 // ---------------------------------------------------------- 00234 unsigned char ValidPolynomials ; 00235 }; 00236 00237 00238 } // namespace TypeIRMLMath 00239 00240 00241 #endif