FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CTrawlNetSpec Class Reference

Class used to collect and contain the specification of a trawl net. More...

#include <CTrawlNetSpec.h>

+ Inheritance diagram for CTrawlNetSpec:
+ Collaboration diagram for CTrawlNetSpec:

Public Member Functions

 CTrawlNetSpec (void)
 Constructor.
 
 ~CTrawlNetSpec (void)
 Destructor.
 
void AddSectionToFront (TrawlSpec::EPanel_t EWhichPanel, double barD, double barRho, double barE, double barL, double N, double T1, double T2, double T3=-1, double cutN=0, double cutB=0, double cutT=0, double reinforcementRatio=0, double refineFactor=1)
 Adds a section to the front of the trawl net.
 
void AddSectionToFront (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::SNetSection NetSection)
 Adds a section to the front of the trawl net.
 
void AddSectionToFront (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::SMeshBar SBar, TrawlSpec::SPanelCut SCut, double reinforcementRatio=0, double refineFactor=1)
 Adds a section to the front of the trawl net.
 
void AddSectionToBack (TrawlSpec::EPanel_t EWhichPanel, double barD, double barRho, double barE, double barL, double N, double T1, double T2, double T3=-1, double cutN=0, double cutB=0, double cutT=0, double reinforcementRatio=0, double refineFactor=1)
 Adds a section to the back of the trawl net.
 
void AddSectionToBack (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::SNetSection NetSection)
 Adds a section to the back of the trawl net.
 
void AddSectionToBack (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::SMeshBar SBar, TrawlSpec::SPanelCut SCut, double reinforcementRatio=0, double refineFactor=1)
 Adds a section to the back of the trawl net.
 
TrawlSpec::SNetSection GetSection (TrawlSpec::EPanel_t EWhichPanel, int iSecNo, bool bFromBack=true)
 Gets the specification of a specified net section.
 
void DeleteSection (TrawlSpec::EPanel_t EWhichPanel, int iSecNo, bool bFromBack=true)
 Deletes the specified net section.
 
void DeletePanel (TrawlSpec::EPanel_t EWhichPanel)
 Deletes all net sections of the specified panel.
 
void UpdateSection (TrawlSpec::SNetSection NetSection, TrawlSpec::EPanel_t EWhichPanel, int iSecNo, bool bFromBack=true)
 Updates the specified net section.
 
int GetNumBellySections (TrawlSpec::EPanel_t EWhichPanel)
 Gets the number of belly sections in a panel, not counting splitter section.
 
int GetNumSplitterSections (TrawlSpec::EPanel_t EWhichPanel)
 Gets the number of splitter sections in a panel.
 
int GetNumSections (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::EPanelEdge_t EWhichEdge)
 Gets the number of sections in a panel.
 
int GetNumWingSections (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::EPanelEdge_t EWhichEdge)
 Gets the number of wing sections in a panel.
 
void AddLine (int sectionNum, TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::ESectionSide_t side, double L, double D, double E, double rho)
 Adds a line or chain to the trawl net.
 
void AddLine (int sectionNum, TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::ESectionSide_t side, SCableSectionData SCableSection)
 Adds a line, chain, gear or Headline to the trawl net.
 
void AddLine (SCableSectionData SCableSection)
 Adds a line, chain, gear or Headline to the trawl net.
 
SCableSectionData GetLine (TrawlSpec::EPanel_t EWhichPanel, int iLineIndex)
 Gets the specification of a line connected to the trawl net.
 
SCableSectionData * GetLinePtr (TrawlSpec::EPanel_t EWhichPanel, int iLineIndex)
 Gets a pointer to a line connected to the trawl net.
 
int GetNumLines (TrawlSpec::EPanel_t EWhichPanel)
 Gets the number of lines in a specified panel.
 
void SetExternalNodeIndices (std::set< TrawlSpec::ENetExternalNodes_t > ViExternalNodes)
 Sets the indices of the nodes to be used for external connections.
 
void AddExternalConnection (TrawlSpec::ENetExternalNodes_t ENode)
 Adds an external connection to the net.
 
void AddExternalNodeOutput (TrawlSpec::ENetExternalNodes_t ENode)
 Adds an external output node to the net.
 
void SetNumConnectedSections (TrawlSpec::EPanel_t EWhichPanel, int iNumSections)
 Defines how far forward the a panel is connected to other panels.
 
int GetNumConnectedSections (TrawlSpec::EPanel_t EWhichPanel)
 Gets how far forward the upper panel is connected to other panels.
 
void SetAftMostSectionNumber (TrawlSpec::EPanel_t EWhichPanel, int iAftSection)
 Defines the aft-forward placement of a panel in relation to a common baseline.
 
int GetAftMostSectionNumber (TrawlSpec::EPanel_t EWhichPanel)
 Gets the aft-forward placement of a panel in relation to a common baseline.
 
double GetMinNodeSeparation () const
 The mesh count under which an aft or front end edge of a panel is meshed as a point.
 
bool HasError ()
 Returns if an error has occured in this class.
 
std::string GetError ()
 Returns a string specifying the first error that occured in this class.
 
void ResetInput (bool bResetError)
 Resets both input and output data of the object.
 
int GetNumExternalConnections ()
 Gets the number of external connections on each side of the trawl net.
 
std::set< TrawlSpec::ENetExternalNodes_t > GetExternalConnections ()
 Gets the external connections on each side of the trawl net.
 
const std::set< TrawlSpec::ENetExternalNodes_t > & GetExternalOutputs () const
 Gets the external nodes that only output their positions and velocities (AddExternalNodeOutput).
 
bool SetMirrorWings (TrawlSpec::EPanel_t EWhichPanel, bool bMirror)
 Sets the wings of a specified panel to be mirrored or not.
 
bool GetMirrorWings (TrawlSpec::EPanel_t EWhichPanel)
 Gets if the wings of a specified panel are to be mirrored or not.
 
int MirrorWings ()
 Mirrors the wings for the appropriate panels.
 
double GetStretchedEdge (int sectionNum, TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::ESectionSide_t side)
 Get stretched length of section side.
 

Protected Member Functions

TrawlSpec::SNetPanel * GetPanelPtr (TrawlSpec::EPanel_t EWhichPanel)
 Gets a pointer to the panel defined by an enum.
 
bool IsSidepanel (TrawlSpec::EPanel_t EWhichPanel)
 Tests if a specified panel is a side panel;.
 
void SetError (std::string sErrorMsg)
 Sets the error state.
 
TrawlSpec::ESectionType_t DetermineSectionType (TrawlSpec::EPanel_t EWhichPanel, int iSecNo)
 Determines if the section is a wing, splitter or belly section, based on its placement.
 
std::string GetPanelString (TrawlSpec::EPanel_t EWhichPanel)
 Creates a string specifying the panel.
 
bool HasTriangularFront (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::EPanelEdge_t EWhichEdge)
 
bool HasTriangularAft (TrawlSpec::EPanel_t EWhichPanel)
 
int GetWingSectionIndex (TrawlSpec::EPanel_t EWhichPanel, TrawlSpec::EPanelEdge_t EWhichEdge, int iWingSecNum)
 Gets the index of a specified wing section.
 
void MirrorWings (TrawlSpec::EPanel_t EWhichPanel)
 Mirrors the wings for the specified panels.
 

Protected Attributes

std::vector< TrawlSpec::SNetPanel > m_VSPanelInfo
 A vector of structures containing the sections comprising the various panels.
 
std::string m_sError
 A string describing the first error string.
 
int m_aiConnectedSections [3]
 The number of sections connected to each panel.
 
int m_aiAftSection [3]
 The relative section number of the aftmost section of each panel, counted from the aft.
 
std::set< TrawlSpec::ENetExternalNodes_t > m_ViExternalConnections
 The indices of the nodes to select for external connections. 0 - 5 designate the wings, starting from the top.
 
std::set< TrawlSpec::ENetExternalNodes_t > m_ViExternalNodesOutput
 The indices of the nodes to select for external connections. 0 - 5 designate the wings, starting from the top.
 
double m_dMinNodeSeparation
 The minimum separation between two nodes in front or aft of a section before it is handled as one node.
 
bool m_bHasSidePanel
 A bool telling if the trawl net has four panels.
 
bool m_bHasError
 Have there been any errors in this object?
 
bool m_bExternalNodesAreSet
 Indicates if the external nodes have been set by calling SetExternalNodeIndices.
 
bool m_bMirrorWings [3]
 Reflects for which panels the wings should be mirrored.
 
bool m_bMirrorWingsIsDone [3]
 Reflects for which panels the wings have been mirrored.
 

Detailed Description

Author
Karl-Johan Reite

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