Marine systems simulation
ArtificialLightSource.h
1
10
11#ifndef ARTIFICIAL_LIGHT_SOURCE_H
12#define ARTIFICIAL_LIGHT_SOURCE_H
13
14#include <string>
15#include "SimObject.h"
16#include "fish/eigen_matrix_defs.h"
17class ArtificialLightSource : public SimObject
18{
19public:
21 ArtificialLightSource(std::string sSimObjectName, ISimObjectCreator* pCreator );
22
23#ifdef FH_VISUALIZATION
25 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
26
28 virtual void RenderUpdate(const double T, const double* const X);
29#endif
30
32 virtual void OdeFcn(const double dT, const double* const adX,
33 double* const adXDot, const bool bIsMajorTimeStep);
34
35protected:
36 virtual const double* Position(const double dT, const double* const adX);
37 virtual const double* Velocity(const double dT, const double* const adX);
38
39 double m_dMass;
40 ISignalPort* m_pInForce;
43
46
47
48#ifdef FH_VISUALIZATION
49 std::string m_sMaterial;
50 std::string m_sMeshName;
51 double m_dScale;
52 Ogre::Entity* m_pRenderEntity;
53 Ogre::SceneNode* m_pRenderNode;
54 Ogre::SceneManager* m_pSceneMgr;
55#endif
56};
57
58#endif
Class containing a ArtificialLightSource simObject. Not complete yet.
Definition: ArtificialLightSource.h:18
double m_dMass
The mass of the object.
Definition: ArtificialLightSource.h:39
ISignalPort * m_pInForce
A pointer to the input force.
Definition: ArtificialLightSource.h:40
double m_baseIntensity
Base light intensity leve of source; considered static at this value within 1 m from source.
Definition: ArtificialLightSource.h:44
int m_IStateVel
The index of the velocity state.
Definition: ArtificialLightSource.h:42
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
Calculates the state derivatives.
int m_IStatePos
The index of the position state.
Definition: ArtificialLightSource.h:41
ArtificialLightSource(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.
double m_attenuationFactor
Factor determining attenuation of light intensity when passing through light (should be frequency dep...
Definition: ArtificialLightSource.h:45