Class xlifepp::BoundingBox#
-
class BoundingBox#
-
Collaboration diagram for xlifepp::BoundingBox:
utility class to describe a bounding box
Public Functions
-
inline BoundingBox()#
-
void constructor
-
BoundingBox(const Point &p0, const Point &p1, const Point &p2, const Point &p3)#
-
general constructor 3D box
-
BoundingBox(real_t xmin, real_t xmax)#
-
basic constructor 1D box
-
BoundingBox(real_t xmin, real_t xmax, real_t ymin, real_t ymax)#
-
basic constructor 2D box
-
BoundingBox(real_t xmin, real_t xmax, real_t ymin, real_t ymax, real_t zmin, real_t zmax)#
-
basic constructor 3D box
-
string_t asString() const#
-
format as string: [a,b]x[c,d]x[e,f]
-
real_t diameter() const#
-
return the max of (xmax-xmin, ymax -ymin, zmax-zmin);
-
real_t diameter2() const#
-
return sqrt((xmax-xmin)^2+(ymax -ymin)^2+ (zmax-zmin)^2)
-
BoundingBox &homothetize(const Parameter &p1)#
-
apply a homothety on a BoundingBox (1 key)
-
BoundingBox &homothetize(const Parameter &p1, const Parameter &p2)#
-
apply a homothety on a BoundingBox (2 keys)
-
BoundingBox &homothetize(const Point &c, real_t factor = 1.)#
-
apply a homothety on a BoundingBox
-
BoundingBox &homothetize(real_t factor)#
-
apply a homothety on a BoundingBox
-
BoundingBox &operator+=(const BoundingBox &bb)#
-
merge a bounding box to the current one
-
BoundingBox &operator^=(const BoundingBox &bb)#
-
intersect a bounding box to the current one (may be void)
-
BoundingBox &pointReflect(const Parameter &p1)#
-
apply a point reflection on a BoundingBox (1 key)
-
BoundingBox &pointReflect(const Point &c)#
-
apply a point reflection on a BoundingBox
-
void print(std::ostream &os) const#
-
print BoundingBox
-
BoundingBox &reflect2d(const Parameter &p1)#
-
apply a reflection2d on a BoundingBox (1 key)
-
BoundingBox &reflect2d(const Parameter &p1, const Parameter &p2)#
-
apply a reflection2d on a BoundingBox (2 keys)
-
BoundingBox &reflect2d(const Point &c, real_t dx, real_t dy = 0.)#
-
apply a reflection2d on a BoundingBox
-
BoundingBox &reflect2d(const Point &c, std::vector<real_t> d = std::vector<real_t>(2, 0.))#
-
apply a reflection2d on a BoundingBox
-
BoundingBox &reflect3d(const Parameter &p1)#
-
apply a reflection3d on a BoundingBox (1 key)
-
BoundingBox &reflect3d(const Parameter &p1, const Parameter &p2)#
-
apply a reflection3d on a BoundingBox (2 keys)
-
BoundingBox &reflect3d(const Point &c, real_t nx, real_t ny, real_t nz = 0.)#
-
apply a reflection3d on a BoundingBox
-
BoundingBox &reflect3d(const Point &c, std::vector<real_t> n = std::vector<real_t>(3, 0.))#
-
apply a reflection3d on a BoundingBox
-
BoundingBox &rotate2d(const Parameter &p1)#
-
apply a rotation on a BoundingBox (1 key)
-
BoundingBox &rotate2d(const Parameter &p1, const Parameter &p2)#
-
apply a rotation on a BoundingBox (2 keys)
-
BoundingBox &rotate2d(const Point &c, real_t angle = 0.)#
-
apply a rotation on a BoundingBox
-
BoundingBox &rotate3d(const Parameter &p1)#
-
apply a rotation on a BoundingBox (1 key)
-
BoundingBox &rotate3d(const Parameter &p1, const Parameter &p2)#
-
apply a rotation on a BoundingBox (2 keys)
-
BoundingBox &rotate3d(const Parameter &p1, const Parameter &p2, const Parameter &p3)#
-
apply a rotation on a BoundingBox (3 keys)
apply a rotation on a BoundingBox (2 keys)
-
BoundingBox &rotate3d(const Point &c, real_t dx, real_t dy, real_t angle)#
-
apply a rotation on a BoundingBox
-
BoundingBox &rotate3d(const Point &c, real_t dx, real_t dy, real_t dz, real_t angle)#
-
apply a rotation on a BoundingBox
-
BoundingBox &rotate3d(const Point &c, std::vector<real_t> d = std::vector<real_t>(3, 0.), real_t angle = 0.)#
-
apply a rotation on a BoundingBox
-
BoundingBox &rotate3d(real_t dx, real_t dy, real_t angle)#
-
apply a rotation on a BoundingBox
-
BoundingBox &rotate3d(real_t dx, real_t dy, real_t dz, real_t angle)#
-
apply a rotation on a BoundingBox
-
BoundingBox &transform(const Transformation &t)#
-
apply a geometrical transformation on a BoundingBox
-
BoundingBox &translate(const Parameter &p1)#
-
apply a translation on a BoundingBox (1 key)
-
BoundingBox &translate(real_t ux, real_t uy = 0., real_t uz = 0.)#
-
apply a translation on a BoundingBox (3 reals version)
-
BoundingBox &translate(std::vector<real_t> u = std::vector<real_t>(3, 0.))#
-
apply a translation on a BoundingBox (vector version)
-
inline BoundingBox()#