Marine systems simulation
SNetSectionData.h
1#ifndef S_NET_SECTION_DATA_H
2#define S_NET_SECTION_DATA_H
3
4#include <string>
5#include "NTrawlSpec.h"
6#ifdef FH_VISUALIZATION
7#include "OgreColourValue.h"
8#endif
9
11{
12 unsigned long iID;
13 std::string sName;
14 std::vector<TrawlSpec::SNetNode_t> VSNodes;
16#ifdef FH_VISUALIZATION
17 Ogre::ColourValue twineColour;// = Ogre::ColourValue(1,1,1,1)// Ogre::ColourValue(0.1, 0.3, 0.2, 0.5)
18#endif
20 unsigned long GetNumNodes() const;
21 int AddNode(TrawlSpec::SNetNode_t SNode);
22 int AddNode(double x, double y, unsigned long iConn = (unsigned long) -1);
23 int AddNode(sfh::linalg::Vec2 SPos, unsigned long iConn = (unsigned long) -1);
24 int DeleteNode(int iNodeIndex);
25 void DeleteAllNodes();
26 void SetNettingData(TrawlSpec::SMeshBar SBar);
27 void SetNettingData(double D, double L, double E, double Rho);
28 std::string GetConnString();
29 bool UpdateNode(int iIndex, TrawlSpec::SNetNode_t SNodeData);
30 bool UpdateNode(int iIndex, sfh::linalg::Vec2 SMeshPos, unsigned long iConn);
31 bool UpdateNodeConn(int iIndex, unsigned long iConn);
32 bool UpdateNodeMeshPos(int iIndex, sfh::linalg::Vec2 SMeshPos);
33
34 // Calculated data
35 double CalcInertia(double dRhoWater) const;
36 double CalcWeight(double dRhoWater) const;
37 double CalcNodesInertia(double* adNodeInertias, double dRhoWater) const;
38 double CalcNodesWeight(double* adNodeWeights, double dRhoWater) const;
39 double CalcThreadCrossSectionArea() const;
40 double CalcMeshDeterminant() const;
41 double GetNumBars() const;
42 void CalcNodeMassRatios(double* adNodeMassRatio) const;
43 double CalcThreadEA() const;
44 double GetNumKnots() const;
45
46
47};
48
49#endif
Definition: SNetSectionData.h:11
unsigned long iID
The id of the panel.
Definition: SNetSectionData.h:12
std::string sName
The name of the panel.
Definition: SNetSectionData.h:13
unsigned long GetNumNodes() const
The number of nodes of the panel.
Definition: NTrawlSpec.h:79
Definition: NTrawlSpec.h:56