PointCloud class
Point cloud with a point-centric API and Eigen "matrix" views.
Ownership: std::vector<Eigen::Vector3<Real>> (always 3 scalars per point). Active dimension: m_rows in {0,1,2,3} tells which prefix is meaningful.
Views:
- getMatrix(): (rows x N) view for computations in the active dimension.
- getPackedMatrix(): (3 x N) full view of the underlying packed storage.
Storage layout (AoS): [x0 y0 z0][x1 y1 z1]...
We map it as a column-major 3xN matrix with outer stride 3 and inner stride 1.
Public functions
- auto getMatrix() -> auto noexcept
- Returns a (rows x N) matrix view of the active coordinates.
- auto getPackedMatrix() -> MapType3xN noexcept
- Returns a (3 x N) matrix view of the underlying packed storage.
Function documentation
MapType3xN Rodin:: Geometry:: PointCloud:: getPackedMatrix() noexcept
Returns a (3 x N) matrix view of the underlying packed storage.
Naming rationale: this is the raw, packed, always-3D storage view.