#include <MRDenseBox.h>
Public Member Functions | |
| MRMESH_API | DenseBox (const std::vector< Vector3f > &points, const AffineXf3f *xf=nullptr) |
| Include given points into this dense box. | |
| MRMESH_API | DenseBox (const std::vector< Vector3f > &points, const std::vector< float > &weights, const AffineXf3f *xf=nullptr) |
| Include given weighed points into this dense box. | |
| MRMESH_API | DenseBox (const MeshPart &meshPart, const AffineXf3f *xf=nullptr) |
| Include mesh part into this dense box. | |
| MRMESH_API | DenseBox (const PointCloud &points, const AffineXf3f *xf=nullptr) |
| Include point into this dense box. | |
| MRMESH_API | DenseBox (const Polyline3 &line, const AffineXf3f *xf=nullptr) |
| Include line into this dense box. | |
| MRMESH_API Vector3f | center () const |
| returns center of dense box | |
| MRMESH_API Vector3f | corner (const Vector3b &index) const |
| MRMESH_API bool | contains (const Vector3f &pt) const |
| returns true if dense box contains given point | |
| const Box3f & | box () const |
| Access members. | |
| const AffineXf3f & | basisXf () const |
| transform box space to world space | |
| const AffineXf3f & | basisXfInv () const |
| transform world space to box space | |
Structure to hold and work with dense box
Scalar operations that are not provided in this struct can be called via box() For example box().size(), box().diagonal() or box().volume() Non const operations are not allowed for dense box because it can spoil density