Fast Research Interface Library  Manual and Documentation
include/TypeIRMLPolynomial.h
Go to the documentation of this file.
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
This document was generated with Doxygen on Thu Apr 12 2012 11:18:54. User documentation of the Fast Research Interface Library for the KUKA Lightweight Robot IV by the Stanford Robotics Research Group. Copyright 2010–2012.