FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CBillboardArrow.h
1#pragma once
2
67#include <string>
68#include <vector>
69
70#ifdef FH_VISUALIZATION
71# pragma warning(push)
72# pragma warning(disable : 4251)
73# pragma warning(disable : 4267)
74# include <fhsim/visual/renderer/FhCamera.h>
75# pragma warning(pop)
76# include "sfh/ogre/CMovableText.h"
77#endif
78
79#include <fhsim/simobject/SimObject.h>
80class CExpandedLines;
81
82class CBillboardArrow : public SimObject
83{
84 public:
86 CBillboardArrow(std::string sSimObjectName, ISimObjectCreator* pCreator);
87 ~CBillboardArrow(void);
88
89#ifdef FH_VISUALIZATION
91 void RenderInit(Ogre::Root* const pOgreRoot, ISimObjectCreator* const pCreator);
92
94 void RenderUpdate(const double dT, const double* const adX);
95#endif
96
98 virtual void OdeFcn(const double dT, const double* const adX, double* const adXDot) const{};
99
100 protected:
101 ISignalPort* m_pInPos;
102 ISignalPort* m_pInVisible;
103 ISignalPort* m_pInVector;
104
105 int m_iNumPoints;
106 int m_iNumFaces;
107 bool m_bFinalized;
108 bool m_bDirty;
109 double m_radius;
110 double m_radiusFudge;
111
112 int m_iValPrecision;
113 double m_dScalingFactor;
114
115 double m_dTextSize;
116 double m_dTextLocation;
117 bool m_bTextVisible;
118
119 std::string m_sPrefix;
120 std::string m_sSuffix;
121
122 bool m_bExpandedLines;
123 int m_iSplinePoints;
124 std::string m_sMaterialName;
125 std::string m_sType;
126
127#ifdef FH_VISUALIZATION
128 Ogre::SceneNode* m_RenderNode;
129 Ogre::SceneNode* m_TextNode;
130 Ogre::CMovableText* m_BBText;
131
132 CExpandedLines* m_linesExpanded = nullptr;
133 std::vector<double> m_radiusFactors;
134 std::vector<double> m_arrowPos;
135 Ogre::Vector3* m_vectors = nullptr;
136
137#endif
138};
Definition CBillboardArrow.h:83
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot) const
Calculates the state derivatives.
Definition CBillboardArrow.h:98
CBillboardArrow(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.