Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00033 #ifndef ACADO_TOOLKIT_CURVE_HPP
00034 #define ACADO_TOOLKIT_CURVE_HPP
00035
00036 #include <acado/variables_grid/variables_grid.hpp>
00037 #include <acado/function/function.hpp>
00038
00039 BEGIN_NAMESPACE_ACADO
00040
00041
00052 class Curve{
00053
00054
00055
00056
00057 public:
00058
00060 Curve();
00061
00063 Curve( const Curve& arg );
00064
00066 ~Curve( );
00067
00069 Curve& operator=( const Curve& arg );
00070
00071
00072 Curve operator()( uint idx
00073 ) const;
00074
00092 returnValue add( double tStart,
00093 double tEnd,
00094 const DVector constant );
00095
00096
00115 returnValue add( const VariablesGrid& sampledData, InterpolationMode mode = IM_LINEAR );
00116
00117
00135 returnValue add( double tStart,
00136 double tEnd,
00137 const Function& parameterization_ );
00138
00139
00145 inline int getDim( ) const;
00146
00147
00153 inline BooleanType isEmpty( ) const;
00154
00155
00156
00162 inline BooleanType isContinuous( ) const;
00163
00164
00165
00171 inline int getNumIntervals( ) const;
00172
00173
00174
00198 returnValue evaluate( double t, double *result ) const;
00199
00200
00212 returnValue evaluate( double t, DVector &result ) const;
00213
00214
00232 returnValue evaluate( double tStart, double tEnd, VariablesGrid &result ) const;
00233
00234
00235
00249 returnValue discretize( const Grid &discretizationGrid, VariablesGrid &result ) const;
00250
00251
00252
00259 returnValue getTimeDomain( double tStart, double tEnd ) const;
00260
00261
00273 returnValue getTimeDomain( const uint &idx, double tStart, double tEnd ) const;
00274
00275
00276
00283 BooleanType isInTimeDomain( double t
00284 ) const;
00285
00286
00287
00288
00289
00290
00291
00292
00293 protected:
00294
00295
00296
00297
00298
00299 protected:
00300
00301 uint nIntervals ;
00302 uint dim ;
00303 Function **parameterization;
00304 Grid *grid ;
00305 };
00306
00307
00308 CLOSE_NAMESPACE_ACADO
00309
00310
00311 #include <acado/curve/curve.ipp>
00312
00313
00314 #endif // ACADO_TOOLKIT_CURVE_HPP
00315
00316
00317
00318