32 #include "MeshKernel/BoundingBox.hpp"
33 #include "MeshKernel/Polygons.hpp"
43 explicit LandBoundary(
const std::vector<Point>& landBoundary);
49 double& minimumDistance,
50 UInt& segmentStartIndex,
51 double& scaledDistanceToStart)
const;
67 const std::vector<Point>&
GetNodes()
const;
89 std::vector<Point> m_nodes;
96 return m_nodes.size();
101 return m_nodes.empty();
Projection
Enumerator describing the supported projections.
Definition: Definitions.hpp:41
std::vector< std::pair< UInt, UInt > > FindPolylineIndices() const
Find all start-end positions of the individual poly-lines that make up the land boundary.
bool IsEmpty() const
@ Determine if the land boundary object is empty
Definition: LandBoundary.hpp:99
void AddSegment(const Point &leftNode, const Point &rightNode)
Add a new land boundary polyline segment.
A class defining a bounding box.
Definition: BoundingBox.hpp:39
void FindNearestPoint(const Point &samplePoint, const Projection &projection, Point &nearestPoint, double &minimumDistance, UInt &segmentStartIndex, double &scaledDistanceToStart) const
Find the nearest point on the land boundary (toland)
A struct describing a point in a two-dimensional space.
Definition: Point.hpp:40
Point ClosestPoint(const Point &point, const size_t point1Index, const size_t point2Index, const Projection projection) const
Find the closest of two points to a given point.
A class containing the land boundary polylines.
Definition: LandBoundary.hpp:39
size_t GetNumNodes() const
Gets the number of land boundary nodes.
Definition: LandBoundary.hpp:94
BoundingBox GetBoundingBox() const
Get the bounding box for the whole land boundary.
Contains the logic of the C++ static library.
Definition: AveragingInterpolation.hpp:36
const std::vector< Point > & GetNodes() const
Get vector containing all land boundary nodes.
Definition: LandBoundary.hpp:109
const Point & Node(const size_t i) const
Get the node at position i.
Definition: LandBoundary.hpp:104
std::uint32_t UInt
Integer type used when indexing mesh graph entities.
Definition: Definitions.hpp:38
A class containing a list of polygonaly enclosed regions.
Definition: Polygons.hpp:44
std::vector< bool > GetNodeMask(const Polygons &polygons) const
Get vector of Boolean values indicating a valid node.
LandBoundary(const std::vector< Point > &landBoundary)
Construct with vector of points defining the land boundary.