|
ReUseX
0.0.5
3D Point Cloud Processing for Building Reuse
|
A closed 3D polygon whose vertices are coplanar. More...
#include <CoplanarPolygon.hpp>

Public Member Functions | |
| double | area () const |
| Signed area via Newell's method projected onto the plane normal. | |
| Eigen::Vector3d | centroid () const |
| Centroid (arithmetic mean of vertices). | |
| Eigen::Vector3d | normal () const |
| Unit normal extracted from plane coefficients. | |
| bool | is_valid () const |
| True when >= 3 vertices and nonzero plane normal. | |
| std::pair< Eigen::Vector3d, Eigen::Vector3d > | bounding_box () const |
| Axis-aligned bounding box (min, max). | |
| std::vector< uint8_t > | serialize_vertices () const |
| Serialize vertices to compact binary (N * 3 * sizeof(double) bytes). | |
Static Public Member Functions | |
| static std::vector< Eigen::Vector3d > | deserialize_vertices (const void *data, size_t size) |
| Deserialize vertices from compact binary. | |
Public Attributes | |
| std::vector< Eigen::Vector3d > | vertices |
| Eigen::Vector4d | plane {0, 0, 0, 0} |
A closed 3D polygon whose vertices are coplanar.
Vertices are ordered; the polygon is implicitly closed (last→first). The plane is stored as Hessian normal form [a,b,c,d]: ax+by+cz+d=0.
Definition at line 20 of file CoplanarPolygon.hpp.
| double reusex::geometry::CoplanarPolygon::area | ( | ) | const |
Signed area via Newell's method projected onto the plane normal.
| std::pair< Eigen::Vector3d, Eigen::Vector3d > reusex::geometry::CoplanarPolygon::bounding_box | ( | ) | const |
Axis-aligned bounding box (min, max).
| Eigen::Vector3d reusex::geometry::CoplanarPolygon::centroid | ( | ) | const |
Centroid (arithmetic mean of vertices).
|
static |
Deserialize vertices from compact binary.
| bool reusex::geometry::CoplanarPolygon::is_valid | ( | ) | const |
True when >= 3 vertices and nonzero plane normal.
| Eigen::Vector3d reusex::geometry::CoplanarPolygon::normal | ( | ) | const |
Unit normal extracted from plane coefficients.
| std::vector< uint8_t > reusex::geometry::CoplanarPolygon::serialize_vertices | ( | ) | const |
Serialize vertices to compact binary (N * 3 * sizeof(double) bytes).
| Eigen::Vector4d reusex::geometry::CoplanarPolygon::plane {0, 0, 0, 0} |
Definition at line 22 of file CoplanarPolygon.hpp.
| std::vector<Eigen::Vector3d> reusex::geometry::CoplanarPolygon::vertices |
Definition at line 21 of file CoplanarPolygon.hpp.