Reflexxes Motion Libraries  Manual and Documentation (Type II, Version 1.2.6)
include/TypeIIRMLPolynomial.h
Go to the documentation of this file.
00001 //  ---------------------- Doxygen info ----------------------
00040 //  ----------------------------------------------------------
00041 //   For a convenient reading of this file's source code,
00042 //   please use a tab width of four characters.
00043 //  ----------------------------------------------------------
00044
00045
00046 #ifndef __TypeIIRMLPolynomial__
00047 #define __TypeIIRMLPolynomial__
00048 
00049
00050 #include <TypeIIRMLMath.h>
00051
00052 namespace TypeIIRMLMath
00053 {
00054
00055
00056 //  ---------------------- Doxygen info ----------------------
00064 //  ----------------------------------------------------------
00065 class TypeIIRMLPolynomial
00066 {
00067 public:
00068
00069
00070 //  ---------------------- Doxygen info ----------------------
00075 //  ----------------------------------------------------------
00076     TypeIIRMLPolynomial(void);
00077
00078
00079 //  ---------------------- Doxygen info ----------------------
00084 //  ----------------------------------------------------------
00085     ~TypeIIRMLPolynomial(void);
00086
00087
00088 //  ---------------------- Doxygen info ----------------------
00109 //  ----------------------------------------------------------
00110     void        SetCoefficients(    const double    &Coeff2
00111                                 ,   const double    &Coeff1
00112                                 ,   const double    &Coeff0
00113                                 ,   const double    &Diff);
00114
00115
00116 //  ---------------------- Doxygen info ----------------------
00137 //  ----------------------------------------------------------
00138     void        GetCoefficients(    double  *Coeff2
00139                                 ,   double  *Coeff1
00140                                 ,   double  *Coeff0
00141                                 ,   double  *Diff   ) const;
00142
00143
00144
00145
00146 //  ---------------------- Doxygen info ----------------------
00169 //  ----------------------------------------------------------
00170     void        CalculateRealRoots  (       unsigned int    *NumberOfRoots
00171                                         ,   double          *Root1
00172                                         ,   double          *Root2) const;
00173
00174
00175 //  ---------------------- Doxygen info ----------------------
00189 //  ----------------------------------------------------------
00190     double      CalculateValue(const double &t) const;
00191
00192
00193 //  ---------------------- Doxygen info ----------------------
00198 //  ----------------------------------------------------------
00199     unsigned int    Degree;
00200
00201
00202 //  ---------------------- Doxygen info ----------------------
00208 //  ----------------------------------------------------------
00209     double          a2;
00210
00211
00212 //  ---------------------- Doxygen info ----------------------
00218 //  ----------------------------------------------------------
00219     double          a1;
00220
00221
00222 //  ---------------------- Doxygen info ----------------------
00228 //  ----------------------------------------------------------
00229     double          a0;
00230
00231
00232 //  ---------------------- Doxygen info ----------------------
00238 //  ----------------------------------------------------------
00239     double          DeltaT;
00240
00241 };  // class TypeIIRMLPolynomial
00242
00243
00244 //  ---------------------- Doxygen info ----------------------
00259 //  ----------------------------------------------------------
00260 struct MotionPolynomials
00261 {
00262 //  ---------------------- Doxygen info ----------------------
00272 //  ----------------------------------------------------------
00273     double                  PolynomialTimes         [MAXIMAL_NO_OF_POLYNOMIALS] ;
00274
00275
00276 //  ---------------------- Doxygen info ----------------------
00287 //  ----------------------------------------------------------
00288     TypeIIRMLPolynomial     PositionPolynomial      [MAXIMAL_NO_OF_POLYNOMIALS] ;
00289
00290
00291 //  ---------------------- Doxygen info ----------------------
00302 //  ----------------------------------------------------------
00303     TypeIIRMLPolynomial     VelocityPolynomial      [MAXIMAL_NO_OF_POLYNOMIALS] ;
00304
00305
00306 //  ---------------------- Doxygen info ----------------------
00317 //  ----------------------------------------------------------
00318     TypeIIRMLPolynomial     AccelerationPolynomial  [MAXIMAL_NO_OF_POLYNOMIALS] ;
00319
00320
00321 //  ---------------------- Doxygen info ----------------------
00326 //  ----------------------------------------------------------
00327     unsigned char           ValidPolynomials                                    ;
00328 };
00329
00330
00331 }   // namespace TypeIIRMLMath
00332
00333
00334 #endif
User documentation of the Reflexxes Motion Libraries by Reflexxes GmbH (Company Information, Impressum). This document was generated with Doxygen on Mon Jul 7 2014 13:21:08. Copyright 2010–2014.