6#ifndef ACTIVE_GEOMETRY_X_POINT
7#define ACTIVE_GEOMETRY_X_POINT
9#include "Active/Geometry/XInfo.h"
37 using Unique = std::unique_ptr<XPoint>;
39 using Shared = std::shared_ptr<XPoint>;
41 using Option = std::optional<XPoint>;
71 auto getInfo(Role role)
const {
return m_info[role]; }
77 auto getPos(Role role)
const {
return m_info[role].pos; }
96 void setInfo(Role role,
const XInfo& info) { m_info[role] = info; }
121 std::array<XInfo, 2> m_info;
Point()
Definition Point.cpp:22
vertOption getVertex(Role role) const
Definition XPoint.h:83
XPoint & operator=(const Point &source)
Definition XPoint.cpp:33
void setInfo(Role role, const XInfo &info)
Definition XPoint.h:96
void swapIntercept()
Definition XPoint.cpp:42
XPoint(const Point &source=Point(), Position oPos=Point::undefined, Position bPos=Point::undefined)
Definition XPoint.cpp:19
void setVertex(Role role, vertOption vertexIndex)
Definition XPoint.h:108
void setPart(Role role, partOption partIndex)
Definition XPoint.h:114
std::optional< XPoint > Option
Optional.
Definition XPoint.h:41
Point * clonePtr() const
Definition XPoint.h:56
std::unique_ptr< XPoint > Unique
Unique pointer.
Definition XPoint.h:37
auto getPos(Role role) const
Definition XPoint.h:77
partOption getPart(Role role) const
Definition XPoint.h:89
void setPos(Role role, Position pos)
Definition XPoint.h:102
std::shared_ptr< XPoint > Shared
Shared pointer.
Definition XPoint.h:39
auto getInfo(Role role) const
Definition XPoint.h:71
std::optional< vertex_index > vertOption
Optional vertex index (for an undefined or missing vertex index)
Definition Point.h:24
Position
Relative spatial position.
Definition Position.h:12
std::optional< part_index > partOption
Optional part index (for an undefined or missing part index)
Definition Point.h:28