75 #ifndef SLIP_BOX3D_HPP
76 #define SLIP_BOX3D_HPP
85 #include <boost/serialization/access.hpp>
86 #include <boost/serialization/split_member.hpp>
87 #include <boost/serialization/version.hpp>
120 template <
typename CoordType>
154 Box3d(
const CoordType& x11,
155 const CoordType& x12,
156 const CoordType& x13,
157 const CoordType& x21,
158 const CoordType& x22,
159 const CoordType& x23);
168 Box3d(
const CoordType& xc,
191 const CoordType& w3);
243 const CoordType& x12,
244 const CoordType& x13,
245 const CoordType& x21,
246 const CoordType& x22,
247 const CoordType& x23);
255 std::string
name()
const;
268 CoordType
width()
const;
280 CoordType
depth()
const;
284 friend class boost::serialization::access;
285 template<
class Archive>
286 void save(Archive & ar,
const unsigned int version)
const
288 ar & boost::serialization::base_object<slip::Box<CoordType,3> >(*this);
290 template<
class Archive>
291 void load(Archive & ar,
const unsigned int version)
293 ar & boost::serialization::base_object<slip::Box<CoordType,3> >(*this);
295 BOOST_SERIALIZATION_SPLIT_MEMBER()
302 template<
typename CoordType>
308 template<
typename CoordType>
312 Box<CoordType,3>(p1,p2)
315 template<
typename CoordType>
318 const CoordType& x12,
319 const CoordType& x13,
320 const CoordType& x21,
321 const CoordType& x22,
322 const CoordType& x23):
323 Box<CoordType,3>(
Point3d<CoordType>(x11,x12,x13),
Point3d<CoordType>(x21,x22,x23))
326 template<
typename CoordType>
332 Box<CoordType,3>(
Point3d<CoordType>(xc-w,yc-w,zc-w),
Point3d<CoordType>(xc+w,yc+w,zc+w))
335 template<
typename CoordType>
339 Box<CoordType,3>(
Point3d<CoordType>(pc[0]-w,pc[1]-w,pc[2]-w),
Point3d<CoordType>(pc[0]+w,pc[1]+w,pc[2]+w))
343 template<
typename CoordType>
348 const CoordType& w3):
349 Box<CoordType,3>(
Point3d<CoordType>(pc[0]-w1,pc[1]-w2,pc[2]-w3),
Point3d<CoordType>(pc[0]+w1,pc[1]+w2,pc[2]+w3))
353 template<
typename CoordType>
357 template<
typename CoordType>
361 template<
typename CoordType>
366 template<
typename CoordType>
370 template<
typename CoordType>
374 template<
typename CoordType>
378 template<
typename CoordType>
381 const CoordType& x12,
382 const CoordType& x13,
383 const CoordType& x21,
384 const CoordType& x22,
385 const CoordType& x23)
402 template<
typename CoordType>
406 template<
typename CoordType>
410 template<
typename CoordType>
414 template<
typename CoordType>
420 #endif //SLIP_BOX3D_HPP
Point< CoordType, 3 > & front_upper_left()
Accessor/Mutator of the front_upper_left point (p1) of Box3d.
Provides a class to modelize 3d points.
CoordType width() const
compute the width of the Box3d.
void set_coord(const CoordType &x11, const CoordType &x12, const CoordType &x13, const CoordType &x21, const CoordType &x22, const CoordType &x23)
Mutator of the coordinates of the Box3d.
std::string name() const
Returns the name of the class.
CoordType volume() const
compute the volume of the Box3d.
Provides an abstract class to manipulate nd box.
Provides a class to modelize the difference of slip::Point3d.
Box3d()
Constructs a Box3d.
Define an abstract Box structure.
CoordType depth() const
compute the depth of the Box3d.
This is a Box3d class, a specialized version of slip::Box<CoordType,DIM> with DIM = 3...
Point< CoordType, 3 > & back_bottom_right()
Accessor/Mutator of the back_bottom_right point (p2) of Box3d.
CoordType height() const
compute the height of the Box3d.
This is a point3d class, a specialized version of Point<CoordType,DIM> with DIM = 3...