CGAL 5.4 - Quadtrees, Octrees, and Orthtrees
CGAL::Orthtree_traits_3< GeomTraits > Struct Template Reference

#include <CGAL/Orthtree_traits_3.h>

Definition

The class Orthtree_traits_3 can be used as a template parameter of the Orthtree class.

Template Parameters
GeomTraitsmodel of Kernel.
Is Model Of:
OrthtreeTraits
See also
CGAL::Octree
CGAL::Orthtree_traits_2
CGAL::Orthtree_traits_d

Types

enum  Adjacency
 Two directions along each axis in Cartesian space, relative to a node. More...
 
typedef Dimension_tag< 3 > Dimension
 Dimension type.
 
typedef Bbox_3 Bbox_d
 Bounding box type.
 
typedef GeomTraits::FT FT
 Number type.
 
typedef GeomTraits::Point_3 Point_d
 Point type.
 
typedef GeomTraits::Sphere_3 Sphere_d
 Sphere type.
 
typedef GeomTraits::Cartesian_const_iterator_3 Cartesian_const_iterator_d
 An iterator over the Cartesian coordinates.
 
typedef std::array< FT, Dimension::valueArray
 Array type.
 
typedef unspecified_type Construct_point_d_from_array
 Functor with an operator to construct a Point_d from an Array object.
 
typedef unspecified_type Construct_bbox_d
 Functor with an operator to construct a Bbox_d from two Array objects (coordinates of minimum and maximum points).
 

Operations

Construct_point_d_from_array construct_point_d_from_array_object () const
 Function used to construct an object of type Construct_point_d_from_array.
 
Construct_bbox_d construct_bbox_d_object () const
 Function used to construct an object of type Construct_bbox_d.
 

Member Enumeration Documentation

◆ Adjacency

template<typename GeomTraits >
enum CGAL::Orthtree_traits_3::Adjacency

Two directions along each axis in Cartesian space, relative to a node.

Directions are mapped to numbers as 3-bit integers, though the numbers 6 and 7 are not used because there are only 6 different directions.

The first two bits indicate the axis (00 = x, 01 = y, 10 = z), the third bit indicates the direction along that axis (0 = -, 1 = +).

The following diagram may be a useful reference:

       3 *
         |  * 5
         | /                  y+
         |/                   *  z+
0 *------+------* 1           | *
        /|                    |/
       / |                    +-----* x+
    4 *  |
         * 2

This lookup table may also be helpful:

Direction bitset number Enum
-x 000 0 LEFT
+x 001 1 RIGHT
-y 010 2 DOWN
+y 011 3 UP
-z 100 4 BACK
+z 101 5 FRONT