CGAL 5.6.3 - Quadtrees, Octrees, and Orthtrees

Loading...
Searching...
No Matches
List of all members
CGAL::Orthtree_traits_3< GeomTraits > Struct Template Reference
Quadtree\, Octree and Orthtree Reference » Classes » Traits

`#include <CGAL/Orthtree_traits_3.h>`

## Definition

template<typename GeomTraits>
struct CGAL::Orthtree_traits_3< GeomTraits >

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

Template Parameters

  GeomTraits | model 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::value > | Array
| 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