Reflexxes Motion Libraries  Manual and Documentation (Type II, Version 1.2.6)
include/ReflexxesAPI.h
Go to the documentation of this file.
00001 //  ---------------------- Doxygen info ----------------------
00036 //  ----------------------------------------------------------
00037 //   For a convenient reading of this file's source code,
00038 //   please use a tab width of four characters.
00039 //  ----------------------------------------------------------
00040
00041
00042 #ifndef __ReflexxesAPI__
00043 #define __ReflexxesAPI__
00044 
00045
00046 #include <RMLPositionInputParameters.h>
00047 #include <RMLPositionOutputParameters.h>
00048 #include <RMLPositionFlags.h>
00049 #include <RMLVelocityInputParameters.h>
00050 #include <RMLVelocityOutputParameters.h>
00051 #include <RMLVelocityFlags.h>
00052 #include <RMLVector.h>
00053
00054
00055 //  ---------------------- Doxygen info ----------------------
00122 //  ----------------------------------------------------------
00123 class ReflexxesAPI
00124 {
00125 public:
00126
00127 //  ---------------------- Doxygen info ----------------------
00189 //  ----------------------------------------------------------
00190     ReflexxesAPI(       const unsigned int  &DegreesOfFreedom
00191                     ,   const double        &CycleTimeInSeconds
00192                     ,   const unsigned int  &NumberOfAdditionalThreads = 0);
00193
00194
00195 //  ---------------------- Doxygen info ----------------------
00211 //  ----------------------------------------------------------
00212     ~ReflexxesAPI(void);
00213
00214
00215 //  ---------------------- Doxygen info ----------------------
00261 //  ----------------------------------------------------------
00262     enum RMLResultValue
00263     {
00267         RML_WORKING                             =   0,
00270         RML_FINAL_STATE_REACHED                 =   1,
00275         RML_ERROR                               =   -1,
00280         RML_ERROR_INVALID_INPUT_VALUES          =   -100,
00284         RML_ERROR_EXECUTION_TIME_CALCULATION    =   -101,
00288         RML_ERROR_SYNCHRONIZATION               =   -102,
00293         RML_ERROR_NUMBER_OF_DOFS                =   -103,
00301         RML_ERROR_NO_PHASE_SYNCHRONIZATION      =   -104,
00310         RML_ERROR_NULL_POINTER                  =   -105,
00315         RML_ERROR_EXECUTION_TIME_TOO_BIG        =   -106,
00324         RML_ERROR_USER_TIME_OUT_OF_RANGE        =   -107
00325     };
00326
00327
00328 //  ---------------------- Doxygen info ----------------------
00403 //  ----------------------------------------------------------
00404     int RMLPosition(    const RMLPositionInputParameters    &InputValues
00405                     ,   RMLPositionOutputParameters         *OutputValues
00406                     ,   const RMLPositionFlags              &Flags);
00407
00408
00409 //  ---------------------- Doxygen info ----------------------
00461 //  ----------------------------------------------------------
00462     int RMLPositionAtAGivenSampleTime(      const double                        &TimeValueInSeconds
00463                                         ,   RMLPositionOutputParameters         *OutputValues);
00464
00465
00466 //  ---------------------- Doxygen info ----------------------
00545 //  ----------------------------------------------------------
00546     int RMLVelocity(    const RMLVelocityInputParameters    &InputValues
00547                     ,   RMLVelocityOutputParameters         *OutputValues
00548                     ,   const RMLVelocityFlags              &Flags);
00549
00550
00551
00552 //  ---------------------- Doxygen info ----------------------
00601 //  ----------------------------------------------------------
00602     int RMLVelocityAtAGivenSampleTime(      const double                        &TimeValueInSeconds
00603                                         ,   RMLVelocityOutputParameters         *OutputValues);
00604
00605 protected:
00606
00607 //  ---------------------- Doxygen info ----------------------
00618 //  ----------------------------------------------------------
00619     unsigned int        NumberOfDOFs;
00620
00621
00622 //  ---------------------- Doxygen info ----------------------
00643 //  ----------------------------------------------------------
00644     unsigned int        NumberOfOwnThreads;
00645
00646
00647 //  ---------------------- Doxygen info ----------------------
00658 //  ----------------------------------------------------------
00659     double              CycleTime;
00660
00661
00662 //  ---------------------- Doxygen info ----------------------
00679 //  ----------------------------------------------------------
00680     void                *RMLPositionObject;
00681
00682
00683 //  ---------------------- Doxygen info ----------------------
00700 //  ----------------------------------------------------------
00701     void                *RMLVelocityObject;
00702
00703 };  // class ReflexxesAPI
00704
00705
00706 #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.