MeshKernel
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
meshkernel::Mesh Class Reference

A class describing an unstructured mesh. This class contains the shared functionality between 1d or 2d meshes. More...

#include <Mesh.hpp>

Inheritance diagram for meshkernel::Mesh:
meshkernel::Mesh1D meshkernel::Mesh2D

Public Types

enum  Type { Type::Mesh1D, Type::Mesh2D }
 Enumerator describing the different mesh types. More...
 

Public Member Functions

virtual ~Mesh ()=default
 Define virtual destructor.
 
 Mesh ()
 Default constructor, setting a cartesian projection.
 
Meshoperator= (const Mesh &mesh)=delete
 Delete assignment operator.
 
Meshoperator= (Mesh &&mesh)=delete
 Delete move assignment operator.
 
 Mesh (const Mesh &mesh)=delete
 Copy constructor taking only a mesh.
 
 Mesh (Mesh &&mesh)=delete
 Move constructor taking only a mesh.
 
 Mesh (Projection projection)
 Constructs an empty mesh, sets only the projection. More...
 
 Mesh (const std::vector< Edge > &edges, const std::vector< Point > &nodes, Projection projection)
 Construct a mesh starting from the edges and nodes. More...
 
bool IsNodeOnBoundary (UInt node) const
 Inquire if a node is on boundary. More...
 
auto GetNumNodes () const
 Get the number of valid nodes. More...
 
auto GetNumEdges () const
 Get the number of valid edges. More...
 
auto GetNumFaces () const
 Get the number of valid faces. More...
 
UInt GetNumValidNodes () const
 Get the number of valid nodes. More...
 
UInt GetNumValidEdges () const
 Get the number of valid edges. More...
 
auto GetNumFaceEdges (UInt faceIndex) const
 Get the number of edges for a face. More...
 
auto GetNumEdgesFaces (UInt edgeIndex) const
 Get the number of faces an edges shares. More...
 
UInt GetEdgeIndex (const UInt elementId, const UInt edgeId) const
 Get the local edge number for an element edge.
 
UInt GetNodeIndex (const UInt elementId, const UInt nodeId) const
 Get the local node number for an element node.
 
bool IsEdgeOnBoundary (UInt edge) const
 Inquire if an edge is on boundary. More...
 
bool IsFaceOnBoundary (UInt face) const
 Inquire if a face is on boundary. More...
 
const std::vector< Point > & Nodes () const
 Get vector of all nodes.
 
const PointNode (const UInt index) const
 Get the node at the position.
 
void SetNodes (const std::vector< Point > &newValues)
 Set all nodes to a new set of values.
 
void SetNode (const UInt index, const Point &newValue)
 Set a node to a new value, bypassing the undo action.
 
std::unique_ptr< ResetNodeAction > ResetNode (const UInt index, const Point &newValue)
 Set the node to a new value, this value may be the in-valid value.
 
const std::vector< Edge > & Edges () const
 Get all edges.
 
const EdgeGetEdge (const UInt index) const
 Get constant reference to an edge.
 
void SetEdges (const std::vector< Edge > &newValues)
 Set all edges to a new set of values.
 
void SetEdge (const UInt index, const Edge &edge)
 Set the edge to a new value, bypassing the undo action.
 
std::unique_ptr< ResetEdgeAction > ResetEdge (UInt edgeId, const Edge &edge)
 Change the nodes referenced by the edge.
 
UInt GetLocalFaceNodeIndex (const UInt faceIndex, const UInt nodeIndex) const
 Get the local index of the node belong to a face. More...
 
std::unique_ptr< UndoAction > MergeTwoNodes (UInt startNode, UInt endNode)
 Merges two mesh nodes. More...
 
std::unique_ptr< UndoAction > MergeNodesInPolygon (const Polygons &polygons, double mergingDistance)
 Merge close mesh nodes inside a polygon (MERGENODESINPOLYGON) More...
 
std::tuple< UInt, std::unique_ptr< AddNodeAction > > InsertNode (const Point &newPoint)
 Insert a new node in the mesh (setnewpoint) More...
 
std::tuple< UInt, std::unique_ptr< AddEdgeAction > > ConnectNodes (UInt startNode, UInt endNode)
 Connect two existing nodes, checking if the nodes are already connected. If the nodes are not connected a new edge is formed, otherwise UInt invalid value is returned. (connectdbn) More...
 
std::unique_ptr< DeleteNodeAction > DeleteNode (UInt node)
 Deletes a node and removes any connected edges. More...
 
UInt FindEdge (UInt firstNodeIndex, UInt secondNodeIndex) const
 Find the edge sharing two nodes. More...
 
UInt FindEdgeWithLinearSearch (UInt firstNodeIndex, UInt secondNodeIndex) const
 Find the edge using a linear search, without connectivity information (much slower than FindEdge) More...
 
std::unique_ptr< UndoAction > MoveNode (Point newPoint, UInt nodeindex)
 Move a node to a new location. More...
 
UInt FindLocationIndex (Point point, Location location, const std::vector< bool > &locationMask={}, const BoundingBox &boundingBox={})
 Get the index of a location (node/edge or face) close to a point. More...
 
UInt FindNodeCloseToAPoint (Point const &point, double searchRadius)
 Get the index of a node close to a point. More...
 
std::unique_ptr< DeleteEdgeAction > DeleteEdge (UInt edge)
 Deletes an edge. More...
 
UInt FindCommonNode (UInt firstEdgeIndex, UInt secondEdgeIndex) const
 Find the common node two edges share This method uses return parameters since the success is evaluated in a hot loop. More...
 
void ComputeEdgesLengths ()
 Compute the lengths of all edges in one go.
 
double ComputeMinEdgeLength (const Polygons &polygon) const
 Compute the minimum edge length of the edges included in the polygon. An edge is considered included if one of the two nodes is inside the polygon. More...
 
void ComputeEdgesCenters ()
 Computes the edges centers in one go.
 
bool NodeAdministration ()
 Node administration (setnodadmin) More...
 
void DeleteInvalidNodesAndEdges ()
 Removes all invalid nodes and edges.
 
virtual void Administrate (CompoundUndoAction *undoAction=nullptr)
 Perform complete administration.
 
void AdministrateNodesEdges (CompoundUndoAction *undoAction=nullptr)
 Perform node and edges administration.
 
void SortEdgesInCounterClockWiseOrder (UInt startNode, UInt endNode)
 Sort mesh edges around a node in counterclockwise order (Sort_links_ccw) More...
 
double ComputeMaxLengthSurroundingEdges (UInt node)
 Compute the max length of the edges connected to a node. More...
 
void BuildTree (Location location, const BoundingBox &boundingBox={})
 Build the rtree for the corresponding location, using only the locations inside the bounding box. More...
 
std::vector< PointComputeLocations (Location location) const
 Computes a vector with the mesh locations coordinates (nodes, edges or faces coordinates). More...
 
std::vector< bool > IsLocationInPolygon (const Polygons &polygon, Location location) const
 Computes if a location is in polygon. More...
 
Meshoperator+= (Mesh const &rhs)
 Add meshes: result is a mesh composed of the additions firstMesh += secondmesh results in the second mesh being added to firstMesh. More...
 
std::unique_ptr< UndoAction > Join (const Mesh &rhs)
 Add meshes: result is a mesh composed of the additions firstMesh += secondmesh results in the second mesh being added to firstMesh. More...
 
std::vector< UIntGetValidNodeMapping () const
 Get the mapping/indexing from the node array mapped to valid nodes.
 
std::vector< UIntGetValidEdgeMapping () const
 Get the mapping/indexing from the edge array mapped to valid edges.
 
bool IsValidEdge (const UInt edgeId) const
 Indicate if the edge-id is a valid edge. More...
 
void CommitAction (const ResetNodeAction &undoAction)
 Apply the reset node action.
 
void CommitAction (const AddNodeAction &undoAction)
 Apply the add node action.
 
void CommitAction (const AddEdgeAction &undoAction)
 Apply the add edge action.
 
void CommitAction (const ResetEdgeAction &undoAction)
 Apply the reset edge action.
 
void CommitAction (const DeleteNodeAction &undoAction)
 Apply the delete node action.
 
void CommitAction (NodeTranslationAction &undoAction)
 Apply the node translation action.
 
void CommitAction (MeshConversionAction &undoAction)
 Apply the node translation action.
 
void CommitAction (const DeleteEdgeAction &undoAction)
 Apply the delete edge action.
 
void CommitAction (FullUnstructuredGridUndo &undoAction)
 Set the node and edge values.
 
void RestoreAction (const ResetNodeAction &undoAction)
 Undo the reset node action. More...
 
void RestoreAction (const AddNodeAction &undoAction)
 Undo the add node action. More...
 
void RestoreAction (const AddEdgeAction &undoAction)
 Undo the add edge action. More...
 
void RestoreAction (const ResetEdgeAction &undoAction)
 Undo the reset edge action. More...
 
void RestoreAction (const DeleteNodeAction &undoAction)
 Undo the delete node action. More...
 
void RestoreAction (NodeTranslationAction &undoAction)
 Undo the node translation action. More...
 
void RestoreAction (MeshConversionAction &undoAction)
 Undo the node translation action. More...
 
void RestoreAction (const DeleteEdgeAction &undoAction)
 Undo the delete edge action. More...
 
void RestoreAction (FullUnstructuredGridUndo &undoAction)
 Undo entire node and edge values. More...
 
RTreeBase & GetRTree (Location location) const
 Get a reference to the RTree for a specific location.
 
void SetNodesRTreeRequiresUpdate (bool value)
 Set the m_nodesRTreeRequiresUpdate flag. More...
 
void SetEdgesRTreeRequiresUpdate (bool value)
 Set the m_edgesRTreeRequiresUpdate flag. More...
 
void SetFacesRTreeRequiresUpdate (bool value)
 Set the m_facesRTreeRequiresUpdate flag. More...
 

Public Attributes

std::vector< std::vector< UInt > > m_nodesEdges
 For each node, the indices of connected edges (nodlin)
 
std::vector< UIntm_nodesNumEdges
 For each node, the number of connected edges (nmk)
 
std::vector< std::vector< UInt > > m_nodesNodes
 For each node, its neighbors.
 
std::vector< int > m_nodesTypes
 The node types (nb)
 
std::vector< std::array< UInt, 2 > > m_edgesFaces
 For each edge, the shared face index (lne)
 
std::vector< UIntm_edgesNumFaces
 For each edge, the number of shared faces(lnn)
 
std::vector< double > m_edgeLengths
 The edge lengths.
 
std::vector< Pointm_edgesCenters
 The edges centers.
 
std::vector< std::vector< UInt > > m_facesNodes
 The nodes composing the faces, in ccw order (netcellNod)
 
std::vector< UIntm_numFacesNodes
 The number of nodes composing the face (netcellN)
 
std::vector< std::vector< UInt > > m_facesEdges
 The edge indices composing the face (netcelllin)
 
std::vector< Pointm_facesCircumcenters
 The face circumcenters the face circumcenter (xz, yz)
 
std::vector< Pointm_facesMassCenters
 The faces centers of mass (xzw, yzw)
 
std::vector< double > m_faceArea
 The face area.
 
Projection m_projection
 The projection used.
 

Static Public Attributes

static constexpr UInt m_maximumNumberOfEdgesPerNode = 16
 Maximum number of edges per node.
 
static constexpr UInt m_maximumNumberOfEdgesPerFace = 6
 Maximum number of edges per face.
 
static constexpr UInt m_maximumNumberOfNodesPerFace = 6
 Maximum number of nodes per face.
 
static constexpr UInt m_maximumNumberOfConnectedNodes = m_maximumNumberOfEdgesPerNode * 4
 Maximum number of connected nodes.
 

Protected Member Functions

bool AdministrationRequired () const
 Determine if a administration is required.
 
void SetAdministrationRequired (const bool value)
 Determine if a administration is required.
 

Protected Attributes

std::vector< Pointm_nodes
 The mesh nodes (xk, yk)
 
std::vector< Edgem_edges
 The edges, defined as first and second node(kn)
 

Detailed Description

A class describing an unstructured mesh. This class contains the shared functionality between 1d or 2d meshes.

MeshKernel can handle 2d meshes and 1d meshes. Algorithms require certain mappings to be available for both Mesh1D and Mesh2D, such as a mapping listing all edge indices connected to a particular node. The methods computing these mappings are shared between Mesh2D and Mesh1D, and implemented in the Mesh base class. The Mesh base class also contains other common data members, such as the node coordinate, the edges definitions, the face definitions and the mesh projection. The Mesh base class has the following responsibilities:

The public interface of the mesh class contains several algorithms, which modify the mesh class members when they are called.

Member Enumeration Documentation

◆ Type

Enumerator describing the different mesh types.

Enumerator
Mesh1D 

Mesh1D.

Mesh2D 

Mesh2D.

Constructor & Destructor Documentation

◆ Mesh() [1/2]

meshkernel::Mesh::Mesh ( Projection  projection)
explicit

Constructs an empty mesh, sets only the projection.

Parameters
[in]projectionThe projection to use

◆ Mesh() [2/2]

meshkernel::Mesh::Mesh ( const std::vector< Edge > &  edges,
const std::vector< Point > &  nodes,
Projection  projection 
)

Construct a mesh starting from the edges and nodes.

Parameters
[in]edgesThe input edges
[in]nodesThe input nodes
[in]projectionThe projection to use

Member Function Documentation

◆ BuildTree()

void meshkernel::Mesh::BuildTree ( Location  location,
const BoundingBox boundingBox = {} 
)

Build the rtree for the corresponding location, using only the locations inside the bounding box.

Parameters
[in]locationThe mesh location for which the RTree is build
[in]boundingBoxThe bounding box

◆ ComputeLocations()

std::vector<Point> meshkernel::Mesh::ComputeLocations ( Location  location) const

Computes a vector with the mesh locations coordinates (nodes, edges or faces coordinates).

Parameters
[in]locationThe mesh location (e.g. nodes, edge centers or face circumcenters).
Returns
The vector with the mesh locations.

◆ ComputeMaxLengthSurroundingEdges()

double meshkernel::Mesh::ComputeMaxLengthSurroundingEdges ( UInt  node)

Compute the max length of the edges connected to a node.

Parameters
nodeThe mesh node
Returns
The max edge length

◆ ComputeMinEdgeLength()

double meshkernel::Mesh::ComputeMinEdgeLength ( const Polygons polygon) const

Compute the minimum edge length of the edges included in the polygon. An edge is considered included if one of the two nodes is inside the polygon.

Parameters
[in]polygonThe polygon for considering an edge included
Returns
The minimum edge length

◆ ConnectNodes()

std::tuple<UInt, std::unique_ptr<AddEdgeAction> > meshkernel::Mesh::ConnectNodes ( UInt  startNode,
UInt  endNode 
)

Connect two existing nodes, checking if the nodes are already connected. If the nodes are not connected a new edge is formed, otherwise UInt invalid value is returned. (connectdbn)

Parameters
[in]startNodeThe start node index
[in]endNodeThe end node index
Returns
The index of the new edge and the undoAction to connect two nodes

◆ DeleteEdge()

std::unique_ptr<DeleteEdgeAction> meshkernel::Mesh::DeleteEdge ( UInt  edge)

Deletes an edge.

Parameters
[in]edgeThe edge index
Returns
The undoAction to delete the edge

◆ DeleteNode()

std::unique_ptr<DeleteNodeAction> meshkernel::Mesh::DeleteNode ( UInt  node)

Deletes a node and removes any connected edges.

Parameters
[in]nodeThe node index
Returns
The undoAction to delete the node and any connecting edges

◆ FindCommonNode()

UInt meshkernel::Mesh::FindCommonNode ( UInt  firstEdgeIndex,
UInt  secondEdgeIndex 
) const

Find the common node two edges share This method uses return parameters since the success is evaluated in a hot loop.

Parameters
[in]firstEdgeIndexThe index of the first edge
[in]secondEdgeIndexThe index of the second edge
Returns
The shared node (constants::missing::sizetValue if no node is found)

◆ FindEdge()

UInt meshkernel::Mesh::FindEdge ( UInt  firstNodeIndex,
UInt  secondNodeIndex 
) const

Find the edge sharing two nodes.

Parameters
[in]firstNodeIndexThe index of the first node
[in]secondNodeIndexThe index of the second node
Returns
The edge index

◆ FindEdgeWithLinearSearch()

UInt meshkernel::Mesh::FindEdgeWithLinearSearch ( UInt  firstNodeIndex,
UInt  secondNodeIndex 
) const

Find the edge using a linear search, without connectivity information (much slower than FindEdge)

Parameters
[in]firstNodeIndexThe index of the first node
[in]secondNodeIndexThe index of the second node
Returns
The edge index

◆ FindLocationIndex()

UInt meshkernel::Mesh::FindLocationIndex ( Point  point,
Location  location,
const std::vector< bool > &  locationMask = {},
const BoundingBox boundingBox = {} 
)

Get the index of a location (node/edge or face) close to a point.

Parameters
[in]pointThe starting point from where to start the search
[in]locationThe location
[in]locationMaskThe mask to apply to each location
[in]boundingBoxThe bounding box
Returns
The index of the closest node

◆ FindNodeCloseToAPoint()

UInt meshkernel::Mesh::FindNodeCloseToAPoint ( Point const &  point,
double  searchRadius 
)

Get the index of a node close to a point.

Parameters
[in]pointThe starting point from where to start the search
[in]searchRadiusThe search radius
Returns
The index of the closest node

◆ GetLocalFaceNodeIndex()

UInt meshkernel::Mesh::GetLocalFaceNodeIndex ( const UInt  faceIndex,
const UInt  nodeIndex 
) const

Get the local index of the node belong to a face.

If the node cannot be found the null value will be returned.

◆ GetNumEdges()

auto meshkernel::Mesh::GetNumEdges ( ) const
inline

Get the number of valid edges.

Returns
The number of valid edges

◆ GetNumEdgesFaces()

auto meshkernel::Mesh::GetNumEdgesFaces ( UInt  edgeIndex) const
inline

Get the number of faces an edges shares.

Parameters
[in]edgeIndexThe edge index
Returns
The number of faces an edges shares

◆ GetNumFaceEdges()

auto meshkernel::Mesh::GetNumFaceEdges ( UInt  faceIndex) const
inline

Get the number of edges for a face.

Parameters
[in]faceIndexThe face index
Returns
The number of valid faces

◆ GetNumFaces()

auto meshkernel::Mesh::GetNumFaces ( ) const
inline

Get the number of valid faces.

Returns
The number of valid faces

◆ GetNumNodes()

auto meshkernel::Mesh::GetNumNodes ( ) const
inline

Get the number of valid nodes.

Returns
The number of valid node

◆ GetNumValidEdges()

UInt meshkernel::Mesh::GetNumValidEdges ( ) const

Get the number of valid edges.

Returns
The number of valid edges

◆ GetNumValidNodes()

UInt meshkernel::Mesh::GetNumValidNodes ( ) const

Get the number of valid nodes.

Returns
The number of valid nodes

◆ InsertNode()

std::tuple<UInt, std::unique_ptr<AddNodeAction> > meshkernel::Mesh::InsertNode ( const Point newPoint)

Insert a new node in the mesh (setnewpoint)

Parameters
[in]newPointThe coordinate of the new point
Returns
The index of the new node and the pointer to the undoAction

◆ IsEdgeOnBoundary()

bool meshkernel::Mesh::IsEdgeOnBoundary ( UInt  edge) const
inline

Inquire if an edge is on boundary.

Parameters
edgeThe edge index
Returns
If the edge is on boundary

◆ IsFaceOnBoundary()

bool meshkernel::Mesh::IsFaceOnBoundary ( UInt  face) const

Inquire if a face is on boundary.

Parameters
[in]faceThe face index
Returns
If the face is on boundary

◆ IsLocationInPolygon()

std::vector<bool> meshkernel::Mesh::IsLocationInPolygon ( const Polygons polygon,
Location  location 
) const

Computes if a location is in polygon.

Parameters
[in]polygonThe input polygon.
[in]locationThe mesh location (e.g. nodes, edge centers or face circumcenters).
Returns
A vector of booleans indicating if a location is in a polygon or not.

◆ IsNodeOnBoundary()

bool meshkernel::Mesh::IsNodeOnBoundary ( UInt  node) const
inline

Inquire if a node is on boundary.

Parameters
[in]nodeThe node index
Returns
If the node is on boundary

◆ IsValidEdge()

bool meshkernel::Mesh::IsValidEdge ( const UInt  edgeId) const

Indicate if the edge-id is a valid edge.

A valid edge satisfies four conditions: The start and end indices are not the null value, if neither is, then also the nodes indexed by the edge are valid nodes. If any of these conditions is false then the edge is in-valid.

◆ Join()

std::unique_ptr<UndoAction> meshkernel::Mesh::Join ( const Mesh rhs)

Add meshes: result is a mesh composed of the additions firstMesh += secondmesh results in the second mesh being added to firstMesh.

Parameters
[in]rhsThe mesh to add
Returns
The undo action

◆ MergeNodesInPolygon()

std::unique_ptr<UndoAction> meshkernel::Mesh::MergeNodesInPolygon ( const Polygons polygons,
double  mergingDistance 
)

Merge close mesh nodes inside a polygon (MERGENODESINPOLYGON)

Parameters
[in]polygonsPolygon where to perform the merging
[in]mergingDistanceThe distance below which two nodes will be merged

◆ MergeTwoNodes()

std::unique_ptr<UndoAction> meshkernel::Mesh::MergeTwoNodes ( UInt  startNode,
UInt  endNode 
)

Merges two mesh nodes.

Parameters
[in]startNodeThe index of the first node to be merged
[in]endNodeThe second of the second node to be merged

◆ MoveNode()

std::unique_ptr<UndoAction> meshkernel::Mesh::MoveNode ( Point  newPoint,
UInt  nodeindex 
)

Move a node to a new location.

Parameters
[in]newPointThe new location
[in]nodeindexThe index of the node to move

◆ NodeAdministration()

bool meshkernel::Mesh::NodeAdministration ( )

Node administration (setnodadmin)

Returns
An estimated indicator for a quadrilateral dominated mesh.

◆ operator+=()

Mesh& meshkernel::Mesh::operator+= ( Mesh const &  rhs)

Add meshes: result is a mesh composed of the additions firstMesh += secondmesh results in the second mesh being added to firstMesh.

Parameters
[in]rhsThe mesh to add
Returns
The resulting mesh

◆ RestoreAction() [1/9]

void meshkernel::Mesh::RestoreAction ( const AddEdgeAction &  undoAction)

Undo the add edge action.

Restore mesh to state before edge was added

◆ RestoreAction() [2/9]

void meshkernel::Mesh::RestoreAction ( const AddNodeAction &  undoAction)

Undo the add node action.

Restore mesh to state before node was added

◆ RestoreAction() [3/9]

void meshkernel::Mesh::RestoreAction ( const DeleteEdgeAction &  undoAction)

Undo the delete edge action.

Restore mesh to state before edge was deleted

◆ RestoreAction() [4/9]

void meshkernel::Mesh::RestoreAction ( const DeleteNodeAction &  undoAction)

Undo the delete node action.

Restore mesh to state before node was deleted

◆ RestoreAction() [5/9]

void meshkernel::Mesh::RestoreAction ( const ResetEdgeAction &  undoAction)

Undo the reset edge action.

Restore mesh to state before edge was reset

◆ RestoreAction() [6/9]

void meshkernel::Mesh::RestoreAction ( const ResetNodeAction &  undoAction)

Undo the reset node action.

Restore mesh to state before node was reset

◆ RestoreAction() [7/9]

void meshkernel::Mesh::RestoreAction ( FullUnstructuredGridUndo &  undoAction)

Undo entire node and edge values.

Restore mesh to previous state.

◆ RestoreAction() [8/9]

void meshkernel::Mesh::RestoreAction ( MeshConversionAction &  undoAction)

Undo the node translation action.

Restore mesh to state before node was translated

◆ RestoreAction() [9/9]

void meshkernel::Mesh::RestoreAction ( NodeTranslationAction &  undoAction)

Undo the node translation action.

Restore mesh to state before node was translated

◆ SetEdgesRTreeRequiresUpdate()

void meshkernel::Mesh::SetEdgesRTreeRequiresUpdate ( bool  value)
inline

Set the m_edgesRTreeRequiresUpdate flag.

Parameters
[in]valueThe value of the flag

◆ SetFacesRTreeRequiresUpdate()

void meshkernel::Mesh::SetFacesRTreeRequiresUpdate ( bool  value)
inline

Set the m_facesRTreeRequiresUpdate flag.

Parameters
[in]valueThe value of the flag

◆ SetNodesRTreeRequiresUpdate()

void meshkernel::Mesh::SetNodesRTreeRequiresUpdate ( bool  value)
inline

Set the m_nodesRTreeRequiresUpdate flag.

Parameters
[in]valueThe value of the flag

◆ SortEdgesInCounterClockWiseOrder()

void meshkernel::Mesh::SortEdgesInCounterClockWiseOrder ( UInt  startNode,
UInt  endNode 
)

Sort mesh edges around a node in counterclockwise order (Sort_links_ccw)

Parameters
[in]startNodeThe first node index where to perform edge sorting.
[in]endNodeThe last node index where to perform edge sorting.

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