FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CSrcBase.h
1#ifndef C_SRC_BASE_H
2#define C_SRC_BASE_H
3
19#include <fhsim/simobject/SimObject.h>
20
21class CSrcBase : public SimObject
22{
23 public:
25 CSrcBase(std::string sSimObjectName, ISimObjectCreator* pCreator);
26
28 virtual ~CSrcBase();
29
31 virtual void OdeFcn(const double dT, const double* const adX, double* const adXDot) const{};
32
33#ifdef FH_VISUALIZATION
35 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator) { }
36
38 virtual void RenderUpdate(const double T, const double* const X) { }
39#endif
40
41 protected:
43 void ReadParameter(std::string sTag, double* adVals, double dDefault, ISimObjectCreator* pCreator);
44
46 bool ReadTwinParameters(std::string sTagA, double dDefaultA, std::string sTagB, double dDefaultB, double* adVals, ISimObjectCreator* pCreator);
47
49 virtual void CalcOutput(const double dT, const double* const adX) = 0;
50
52 virtual const double* Signal(const double dT, const double* const adX);
53
55 virtual const double* SignalDot(const double dT, const double* const adX);
56
57 double* m_adOutSignal;
60};
61
62
63#endif
Definition CSrcBase.h:22
CSrcBase(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor.
virtual const double * SignalDot(const double dT, const double *const adX)
The derivative of the output signal.
virtual void CalcOutput(const double dT, const double *const adX)=0
Calculations of the output signals.
void ReadParameter(std::string sTag, double *adVals, double dDefault, ISimObjectCreator *pCreator)
Utility function to read a parameter.
virtual ~CSrcBase()
The destructor.
double * m_adOutSignal
The output signal.
Definition CSrcBase.h:57
int m_iPortWidth
The width of the output port.
Definition CSrcBase.h:59
bool ReadTwinParameters(std::string sTagA, double dDefaultA, std::string sTagB, double dDefaultB, double *adVals, ISimObjectCreator *pCreator)
Utility function to read a parameter with two possible representations or units.
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot) const
Calculates the state derivatives.
Definition CSrcBase.h:31
virtual const double * Signal(const double dT, const double *const adX)
The output signal.
double * m_adOutSignalDot
The derivative of the output signal.
Definition CSrcBase.h:58