6#ifndef ACTIVE_GEOMETRY_POINT
7#define ACTIVE_GEOMETRY_POINT
9#include "Active/Geometry/Position.h"
10#include "Active/Utility/Cloner.h"
11#include "Active/Utility/MathFunctions.h"
44 using Unique = std::unique_ptr<Point>;
46 using Shared = std::shared_ptr<Point>;
62 Point(
const double&
x,
const double&
y,
const double&
z = 0.0);
A 3x3 matrix class.
Definition Matrix3x3.h:16
A 4x4 matrix class.
Definition Matrix4x4.h:14
virtual Point operator-(const Point &offset) const
Definition Point.cpp:122
virtual bool isEqual3D(const Point &ref, double prec=math::eps) const
Definition Point.cpp:265
virtual bool operator<(const Point &ref) const
Definition Point.cpp:62
virtual Point & operator+=(const Point &offset)
Definition Point.cpp:107
virtual double lengthFrom2D(const Point &ref) const
Definition Point.cpp:277
virtual Point & operator-=(const Point &offset)
Definition Point.cpp:134
virtual Point & operator*=(const double &mult)
Definition Point.cpp:186
virtual bool operator==(const Point &ref) const
Definition Point.h:95
virtual bool isEqual2D(const Point &ref, double prec=math::eps) const
Definition Point.cpp:253
double z
Z coordinate.
Definition Point.h:86
Point rounded3D(double prec=math::eps) const
Definition Point.cpp:309
double x
X coordinate.
Definition Point.h:82
virtual Point operator+(const Point &offset) const
Definition Point.cpp:95
Point & operator=(const Point &source)
Definition Point.cpp:78
Point rounded2D(double prec=math::eps) const
Definition Point.cpp:299
virtual Point * clonePtr() const
Definition Point.h:77
std::shared_ptr< Point > Shared
Shared pointer.
Definition Point.h:46
virtual double lengthFrom3D(const Point &ref) const
Definition Point.cpp:289
virtual bool operator!=(const Point &ref) const
Definition Point.h:101
double azimuthAngleTo(const Point &ref) const
Definition Point.cpp:322
double y
Y coordinate.
Definition Point.h:84
virtual Point operator*(const double &mult) const
Definition Point.cpp:150
Point & movePolar(double len, double angle)
Definition Point.cpp:368
virtual Point operator/(const double &mult) const
Definition Point.cpp:225
Point()
Definition Point.cpp:22
std::optional< Point > Option
Optional.
Definition Point.h:48
double altitudeAngleTo(const Point &ref) const
Definition Point.cpp:346
virtual Point & operator/=(const double &mult)
Definition Point.cpp:237
std::unique_ptr< Point > Unique
Unique pointer.
Definition Point.h:44
std::optional< vertex_index > vertOption
Optional vertex index (for an undefined or missing vertex index)
Definition Point.h:24
int32_t vertex_index
Index of a vertex, e.g. within a polygon.
Definition Point.h:22
Position
Relative spatial position.
Definition Position.h:12
int32_t part_index
Index of a part, e.g. a hole within a polygon.
Definition Point.h:26
std::optional< part_index > partOption
Optional part index (for an undefined or missing part index)
Definition Point.h:28
constexpr double eps
Default length precision (0.01mm)
Definition MathFunctions.h:22