6#ifndef ACTIVE_GEOMETRY_POLY_POINT
7#define ACTIVE_GEOMETRY_POLY_POINT
9#include "Active/Geometry/Point.h"
13 using vertex_id = uint32_t;
30 using Unique = std::unique_ptr<PolyPoint>;
32 using Shared = std::shared_ptr<PolyPoint>;
34 using Option = std::optional<PolyPoint>;
50 PolyPoint(
const double&
x,
const double&
y,
const double&
z = 0.0,
double angle = 0.0, vertex_id
id = 0) :
58 PolyPoint(
const Point& source,
double angle = 0.0, vertex_id
id = 0);
Class to represent a line.
Definition Line.h:21
double z
Z coordinate.
Definition Point.h:86
double x
X coordinate.
Definition Point.h:82
Point & operator=(const Point &source)
Definition Point.cpp:78
double y
Y coordinate.
Definition Point.h:84
Definition PolyPoint.h:24
virtual double lengthFrom2D(const Point &ref) const override
Definition PolyPoint.cpp:67
std::shared_ptr< PolyPoint > Shared
Shared pointer.
Definition PolyPoint.h:32
vertex_id id
An optional unique ID for the vertex, e.g. for maintaining links to a specific vertex within a polygo...
Definition PolyPoint.h:80
double sweep
The sweep angle of an edge leading to this point (0.0 = atraight line)
Definition PolyPoint.h:78
void setSweep(const Line &ref)
Definition PolyPoint.cpp:79
PolyPoint(const double &x, const double &y, const double &z=0.0, double angle=0.0, vertex_id id=0)
Definition PolyPoint.h:50
virtual ~PolyPoint()=default
bool isArc(double prec=math::eps) const
Definition PolyPoint.h:103
std::optional< PolyPoint > Option
Optional.
Definition PolyPoint.h:34
std::unique_ptr< PolyPoint > Unique
Unique pointer.
Definition PolyPoint.h:30
PolyPoint()
Definition PolyPoint.h:41
PolyPoint & operator=(const PolyPoint &source)
Definition PolyPoint.cpp:49
virtual PolyPoint * clonePtr() const override
Definition PolyPoint.h:73
void setSweepParallel(const Line &ref)
Definition PolyPoint.cpp:92
constexpr double eps
Default length precision (0.01mm)
Definition MathFunctions.h:22