Marine systems simulation
CNetElementDef Class Reference

Class containing the description of a net panel and methods necessary for taking this over to triangular elements suitable for simulation. More...

#include <CNetElementDef.h>

+ Inheritance diagram for CNetElementDef:
+ Collaboration diagram for CNetElementDef:

Public Types

enum  NodePosition { NODE_ON_EDGE_AB = 100 , NODE_ON_EDGE_BC = 101 , NODE_ON_EDGE_CA = 102 , NODE_NOT_ON_EDGE = -100 }
 

Public Member Functions

 CNetElementDef ()
 Constructor.
 
bool Divide (int aiNodes[2], int iNewNode, int iNewElementID, CNetElementDef **ppSNewPanel)
 Divides the panel in two, if the panel has an edge between the two provided nodes.
 
bool Panel2Triangles (int iNewElementID, CNetElementDef *pSNewPanel)
 Divides the panel in two triangular ones, if the panel is quadrangular.
 
bool Check () const
 Does the initialization and checking to make sure that the panel is ready for simulation.
 
double CalcEdgeLength (int iEdgeIndex) const
 Calculates the length of the specified edge.
 
unsigned short FindLongestEdge () const
 Finds the longest edge of the panel.
 
double CalcLongestEdge () const
 Calculates the longest edge length of the panel.
 
double CalcLengthFactor () const
 Calculates the largest length factor of the panel.
 
bool PanelEdge2Nodes (unsigned short iEdge, int aiNodes[2]) const
 Finds the global nodes connected to the specified edge.
 
double FindLongestEdge (int aiNodes[2]) const
 Finds the nodes connected to the longest edge of the panel.
 
void DivideEdge (int iNewNode, int iNewElementID, CNetElementDef *pSNewPanel, int iNodeNoOldPanel, int iNodeNoNewPanel, double dDivideAtDistance=0.5)
 
NodePosition NodesDefineEdge (int aiNodes[2])
 
- Public Member Functions inherited from SNetSectionData
unsigned long GetNumNodes () const
 The number of nodes of the panel.
 
int AddNode (TrawlSpec::SNetNode_t SNode)
 
int AddNode (double x, double y, unsigned long iConn=(unsigned long) -1)
 
int AddNode (sfh::linalg::Vec2 SPos, unsigned long iConn=(unsigned long) -1)
 
int DeleteNode (int iNodeIndex)
 
void DeleteAllNodes ()
 
void SetNettingData (TrawlSpec::SMeshBar SBar)
 
void SetNettingData (double D, double L, double E, double Rho)
 
std::string GetConnString ()
 
bool UpdateNode (int iIndex, TrawlSpec::SNetNode_t SNodeData)
 
bool UpdateNode (int iIndex, sfh::linalg::Vec2 SMeshPos, unsigned long iConn)
 
bool UpdateNodeConn (int iIndex, unsigned long iConn)
 
bool UpdateNodeMeshPos (int iIndex, sfh::linalg::Vec2 SMeshPos)
 
double CalcInertia (double dRhoWater) const
 
double CalcWeight (double dRhoWater) const
 
double CalcNodesInertia (double *adNodeInertias, double dRhoWater) const
 
double CalcNodesWeight (double *adNodeWeights, double dRhoWater) const
 
double CalcThreadCrossSectionArea () const
 
double CalcMeshDeterminant () const
 
double GetNumBars () const
 
void CalcNodeMassRatios (double *adNodeMassRatio) const
 
double CalcThreadEA () const
 
double GetNumKnots () const
 

Public Attributes

double dRefineFactor
 The refine factor of the panel.
 
TrawlSpec::SSectionType SType
 
- Public Attributes inherited from SNetSectionData
unsigned long iID
 The id of the panel.
 
std::string sName
 The name of the panel.
 
std::vector< TrawlSpec::SNetNode_tVSNodes
 
TrawlSpec::SMeshBar SBar
 

Detailed Description

Author
Karl-Johan Reite

The documentation for this class was generated from the following file: