22 MRMESH_API DenseBox(
const std::vector<Vector3f>& points,
const std::vector<float>& weights,
const AffineXf3f* xf =
nullptr );
41 const Box3f&
box()
const {
return box_; }
43 const AffineXf3f&
basisXf()
const {
return basisXf_; }
45 const AffineXf3f&
basisXfInv()
const {
return basisXfInv_; }
49 void init_(
const std::vector<Vector3f>& points,
const std::vector<float>* weights =
nullptr,
const AffineXf3f* xf =
nullptr );
51 void init_(
const MeshPart& meshPart,
const AffineXf3f* xf =
nullptr );
53 void init_(
const PointCloud& points,
const AffineXf3f* xf =
nullptr );
55 void init_(
const Polyline3& line,
const AffineXf3f* xf =
nullptr );
59 AffineXf3f basisXfInv_;
#define MRMESH_API
Definition MRMeshFwd.h:80
const Box3f & box() const
Access members.
Definition MRDenseBox.h:41
DenseBox(const Polyline3 &line, const AffineXf3f *xf=nullptr)
Include line into this dense box.
Vector3f center() const
returns center of dense box
const AffineXf3f & basisXfInv() const
transform world space to box space
Definition MRDenseBox.h:45
DenseBox(const std::vector< Vector3f > &points, const AffineXf3f *xf=nullptr)
Include given points into this dense box.
DenseBox(const MeshPart &meshPart, const AffineXf3f *xf=nullptr)
Include mesh part into this dense box.
DenseBox(const std::vector< Vector3f > &points, const std::vector< float > &weights, const AffineXf3f *xf=nullptr)
Include given weighed points into this dense box.
bool contains(const Vector3f &pt) const
returns true if dense box contains given point
DenseBox(const PointCloud &points, const AffineXf3f *xf=nullptr)
Include point into this dense box.
MRMESH_CLASS Vector3b
Definition MRMeshFwd.h:219
const AffineXf3f & basisXf() const
transform box space to world space
Definition MRDenseBox.h:43
Vector3f corner(const Vector3b &index) const
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRPointCloud.h:17