Marine systems simulation
Loading...
Searching...
No Matches
CDistArrow.h
1#ifndef CDISTARROW_H
2#define CDISTARROW_H
3
50#ifdef FH_VISUALIZATION
51# pragma warning(push)
52# pragma warning(disable : 4251)
53# pragma warning(disable : 4267)
54# include "CFhCamera.h"
55# pragma warning(pop)
56# include "sfh/ogre/CDynamicLines.h"
57# include "sfh/ogre/CMovableText.h"
58#endif
59
60#include "SimObject.h"
61
62#include <string>
63
64class CDistArrow : public SimObject
65{
66 public:
68 CDistArrow(std::string sSimObjectName, ISimObjectCreator* pCreator);
69 ~CDistArrow(void);
70#ifdef FH_VISUALIZATION
72 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
73
75 void RenderUpdate(const double T, const double* const X);
76#endif
77
79 virtual void OdeFcn(const double dTime, const double* const adX, double* const adXDot, const bool bIsMajorTimeStep){};
80
81
82 private:
83 ISignalPort* m_pInVisible;
84 ISignalPort* m_pInPosA;
85 ISignalPort* m_pInPosB;
86
87 double m_dTxtSize;
88 int m_iValPrecision;
89 std::string m_sSuffix;
90
91 long* m_iPosTxt;
92 double m_dDistance;
93
94#ifdef FH_VISUALIZATION
95 Ogre::SceneNode* m_RenderNode;
96 Ogre::CMovableText* m_BBTxt;
97 Ogre::Entity* m_ArrowA;
98 Ogre::Entity* m_ArrowB;
99 Ogre::SceneNode* m_RenderArrowNodeA;
100 Ogre::SceneNode* m_RenderArrowNodeB;
101 Ogre::SceneNode* m_LineNode;
102 CDynamicLines* m_line;
103#endif
104};
105
106#endif
Definition CDistArrow.h:65
virtual void OdeFcn(const double dTime, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
Calculates the state derivatives.
Definition CDistArrow.h:79
CDistArrow(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.