Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy> is a generic iso-oriented bounding box in dimension D that stores additionally a handle to some underlying geometric object. It provides in each dimension an interval with lower and upper endpoints represented with the number type NT. This class is designed to work smoothly with the algorithms for intersecting sequences of iso-oriented boxes. For degeneracy handling, the boxes need to provide a unique id-number. The policy parameter IdPolicy offers several choices. The template parameters have to comply with the following requirements:
#include <CGAL/Box_intersection_d/Box_with_handle_d.h>
and also automatically with
#include <CGAL/box_intersection_d.h>
Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy>::NT | |
number type to represent the box
boundaries. Allowed are the built-in types int, unsigned int, float, and double.
|
typedef std::size_t | ID; | type for the box id-number. |
Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy> box; | |||
Default constructor. No
particular initialization.
| |||
Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy> box ( bool complete, Handle h); | |||
initializes to the
complete or the empty space. If empty, all interval starting(end)
points will be set to positive(negative) infinity, sets handle to h.
| |||
Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy> box ( NT lo[D], NT hi[D], Handle h); | |||
initializes
the box intervals to [lo[i],hi[i]], 0 ≤ i < D and
sets the handle to h.
| |||
Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy> box ( Bbox_2 bbox, Handle h); | |||
constructs
from bbox and sets the handle to h, exists iff D=2 and NT
≡ double.
| |||
Box_intersection_d::Box_with_handle_d<NT, int D, Handle, IdPolicy> box ( Bbox_3 bbox, Handle h); | |||
constructs
from bbox and sets the handle to h, exists iff D=3 and NT
≡ double.
|
Handle | box.handle () const | returns the handle stored in box. |
int | Box_with_handle_d::dimension () | returns D, the dimension of the box. |
std::size_t | box.id () | returns a unique box id, see the IdPolicy template parameter above for the different choices. Does not exist if ID_NONE has been chosen for the IdPolicy. |
NT | box.min_coord ( int d) const | returns the lower boundary in dimension d, 0 ≤ d < D. |
NT | box.max_coord ( int d) const | returns the upper boundary in dimension d, 0 ≤ d < D. |
Bbox_2 | box.bbox () const | returns the bounding box iff D=2 and NT ≡ double. |
Bbox_3 | box.bbox () const | returns the bounding box iff D=3 and NT ≡ double. |
CGAL::box_intersection_d
CGAL::box_self_intersection_d
CGAL::box_intersection_all_pairs_d
CGAL::box_self_intersection_all_pairs_d
CGAL::Box_intersection_d::Box_traits_d<BoxHandle>
BoxIntersectionTraits_d