Marine systems simulation
CSimpleBillboardArrow.h
1#pragma once
2
57#ifdef FH_VISUALIZATION
58# pragma warning(push)
59# pragma warning(disable : 4251)
60# pragma warning(disable : 4267)
61# include "CFhCamera.h"
62# pragma warning(pop)
63# include "sfh/ogre/CDynamicLines.h"
64# include "sfh/ogre/CMovableText.h"
65#endif
66
67#include "SimObject.h"
68
69#include <string>
70
71class CSimpleBillboardArrow : public SimObject
72{
73 public:
75 CSimpleBillboardArrow(std::string sSimObjectName, ISimObjectCreator* pCreator);
77#ifdef FH_VISUALIZATION
79 void RenderInit(Ogre::Root* const pOgreRoot, ISimObjectCreator* const pCreator);
80
82 void RenderUpdate(const double dT, const double* const adX);
83#endif
84
86 virtual void OdeFcn(const double dTime, const double* const adX,
87 double* const adXDot, const bool bIsMajorTimeStep){};
88
89
90 private:
91 //Indexes
92 ISignalPort* m_InPos;
93 ISignalPort* m_InVector;
94 ISignalPort* m_InVisible;
95
96
97 double m_dTxtSize;
98 int m_iValPrecision;
99
100 std::string m_sPrefix;
101 std::string m_sSuffix;
102
103 double* m_dPosTxt;
104 double m_dDistance;
105 double m_dScalingFactor;
106
107#ifdef FH_VISUALIZATION
108 Ogre::SceneNode* m_RenderNode;
109 Ogre::SceneNode* m_TextNode;
110 Ogre::CMovableText* m_BBTxt;
111 Ogre::Entity* m_ArrowA;
112 Ogre::Entity* m_ArrowB;
113 Ogre::SceneNode* m_RenderArrowNodeA;
114 Ogre::SceneNode* m_RenderArrowNodeB;
115 CDynamicLines* m_lines;
116#endif
117};
Definition: CSimpleBillboardArrow.h:72
virtual void OdeFcn(const double dTime, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
Calculates the state derivatives.
Definition: CSimpleBillboardArrow.h:86
CSimpleBillboardArrow(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.