CGAL::Box_intersection_d::Box_d<NT,int D,IdPolicy>

Definition

Box_intersection_d::Box_d<NT,int D,IdPolicy> is a generic iso-oriented bounding box in dimension D. 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_d.h>


and also automatically with
#include <CGAL/box_intersection_d.h>

Is Model for the Concepts

BoxIntersectionBox_d

Types

Box_intersection_d::Box_d<NT,int D,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.

Creation

Box_intersection_d::Box_d<NT,int D,IdPolicy> box;
Default constructor. No particular initialization.


Box_intersection_d::Box_d<NT,int D,IdPolicy> box ( bool complete);
initializes to the complete or the empty space. If empty, all interval starting(end) points will be set to positive(negative) infinity.


Box_intersection_d::Box_d<NT,int D,IdPolicy> box ( NT lo[D], NT hi[D]);
initializes the box intervals to [lo[i],hi[i]], 0 i < D.
Precondition: lo[i] < hi[i] for 0 i < D.


Box_intersection_d::Box_d<NT,int D,IdPolicy> box ( Bbox_2 bbox);
constructs from bbox
Requirement: D=2 and NT double.

Box_intersection_d::Box_d<NT,int D,IdPolicy> box ( Bbox_3 bbox);
constructs from bbox
Requirement: D=3 and NT double.

Modifiers

void box.init ( bool complete = false) initializes to the complete or the empty space. If empty, all interval starting(end) points will be set to positive(negative) infinity.

void box.extend ( NT point[D]) extend box to contain the old box and point.

Access Functions

int Box_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.
Requirement: IdPolicy ID_NONE

NT box.min_coord ( int d) returns the lower boundary in dimension d
Precondition: 0 d < D

NT box.max_coord ( int d) returns the upper boundary in dimension d
Precondition: 0 d < D

Bbox_2 box.bbox () returns the bounding box
Requirement: D=2 and NT double
Bbox_3 box.bbox () returns the bounding box
Requirement: D=3 and NT double

void box.extend ( NT p[N]) extends box to the smallest box that additionally contains the point represented by coordinates in p.

void box.extend ( std::pair<NT,NT> p[N])
extends box to the smallest box that additionally contains the point represented by coordinate intervals in p.

See Also

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_with_handle_d<NT, int D, Handle, IdPolicy>

CGAL::Box_intersection_d::Box_traits_d<BoxHandle>
BoxIntersectionTraits_d