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
00032 #ifndef ACADO_TOOLKIT_EXPORT_ODE_FUNCTION_HPP
00033 #define ACADO_TOOLKIT_EXPORT_ODE_FUNCTION_HPP
00034
00035 #include <acado/code_generation/export_function.hpp>
00036
00037 BEGIN_NAMESPACE_ACADO
00038
00039 class Function;
00040
00050 class ExportAcadoFunction : public ExportFunction
00051 {
00052 public:
00054 ExportAcadoFunction( );
00055
00062 ExportAcadoFunction( const Function& _f,
00063 const std::string& _name = "acadoFcn"
00064 );
00065
00076 ExportAcadoFunction( const std::string& _name
00077 );
00078
00080 virtual ~ExportAcadoFunction( );
00081
00086 virtual ExportStatement* clone( ) const;
00087
00100 returnValue init( const Function& _f,
00101 const std::string& _name = "acadoFcn",
00102 const uint _numX = 0,
00103 const uint _numXA = 0,
00104 const uint _numU = 0,
00105 const uint _numP = 0,
00106 const uint _numDX = 0,
00107 const uint _numOD = 0
00108 );
00109
00120 virtual returnValue exportDataDeclaration( std::ostream& stream,
00121 const std::string& _realString = "real_t",
00122 const std::string& _intString = "int",
00123 int _precision = 16
00124 ) const;
00125
00136 virtual returnValue exportForwardDeclaration( std::ostream& stream,
00137 const std::string& _realString = "real_t",
00138 const std::string& _intString = "int",
00139 int _precision = 16
00140 ) const;
00141
00152 virtual returnValue exportCode( std::ostream& stream,
00153 const std::string& _realString = "real_t",
00154 const std::string& _intString = "int",
00155 int _precision = 16
00156 ) const;
00157
00163 virtual bool isDefined( ) const;
00164
00166 unsigned getFunctionDim( void );
00167
00169 returnValue setGlobalExportVariable(const ExportVariable& var);
00170
00172 ExportVariable getGlobalExportVariable( ) const;
00173
00175 bool isExternal() const;
00176
00177 protected:
00181 unsigned numX;
00184 unsigned numXA;
00187 unsigned numU;
00189 unsigned numP;
00192 unsigned numDX;
00194 unsigned numOD;
00196 std::tr1::shared_ptr< Function > f;
00198 ExportVariable globalVar;
00200 bool external;
00201 };
00202
00203 CLOSE_NAMESPACE_ACADO
00204
00205 #endif // ACADO_TOOLKIT_EXPORT_FUNCTION_HPP