6#ifndef ACTIVE_GEOMETRY_PLANE
7#define ACTIVE_GEOMETRY_PLANE
9#include "Active/Geometry/Point.h"
10#include "Active/Geometry/Line.h"
11#include "Active/Geometry/XPoint.h"
12#include "Active/Geometry/Vector3.h"
27 using Unique = std::unique_ptr<Plane>;
29 using Shared = std::shared_ptr<Plane>;
Class to represent a line.
Definition Line.h:21
std::optional< Line > Option
Optional.
Definition Line.h:31
A 3x3 matrix class.
Definition Matrix3x3.h:16
A 4x4 matrix class.
Definition Matrix4x4.h:14
Class to represent a plane.
Definition Plane.h:21
virtual Plane operator*(const double &mult) const
Definition Plane.cpp:160
bool cutsThrough(const Box &ref, double prec=math::eps) const
Definition Plane.cpp:375
virtual Plane & operator*=(const double &mult)
Definition Plane.cpp:196
virtual Plane & operator+=(const Point &offset)
Definition Plane.cpp:146
std::optional< Plane > Option
Optional.
Definition Plane.h:31
double getOffset() const
Definition Plane.cpp:122
bool isParallelTo(const Plane &ref, double prec=math::eps) const
Definition Plane.cpp:362
double lengthTo(const Point &ref) const
Definition Plane.cpp:276
virtual Plane operator+(const Point &offset)
Definition Plane.cpp:134
std::shared_ptr< Plane > Shared
Shared pointer.
Definition Plane.h:29
double heightAt(const Point &ref, double prec=math::eps) const
Definition Plane.cpp:288
bool setNormal(const Vector3 &vect)
Definition Plane.cpp:411
const Vector3 & getNormal() const
Definition Plane.cpp:112
Point::Option intersectionWith(const Plane &ref1, const Plane &ref2) const
void setOffset(double offset)
Definition Plane.h:206
Plane()
Definition Plane.cpp:67
Point closestPointTo(const Point &ref) const
Definition Plane.cpp:259
XPoint::Option intersectionWith(const Line &ref, double prec=math::eps) const
Definition Plane.cpp:303
static Option create(double offset, const Vector3 &norm)
Definition Plane.cpp:28
std::unique_ptr< Plane > Unique
Unique pointer.
Definition Plane.h:27
Position positionOf(const Point &ref, double prec=math::eps) const
Definition Plane.cpp:242
std::optional< Point > Option
Optional.
Definition Point.h:48
A 1x3 vector class.
Definition Vector3.h:20
std::optional< XPoint > Option
Optional.
Definition XPoint.h:41
Position
Relative spatial position.
Definition Position.h:12
constexpr double eps
Default length precision (0.01mm)
Definition MathFunctions.h:22