AABBtree  0.0.0
A C++ non-recursive ND AABB tree
Loading...
Searching...
No Matches
AABBtree Namespace Reference

Namespace for the AABBtree library. More...

Classes

class  Box
 A class representing an axis-aligned bounding box (AABB) in N-dimensional space. More...
 
class  Ray
 A mathematical ray in N-dimensional space. More...
 
class  Tree
 A class representing a non-recursive axis-aligned bounding box tree (AABB tree). More...
 

Typedefs

using Integer = AABBTREE_DEFAULT_INTEGER_TYPE
 The Integer type used in the AABBtree class.
 
using IndexSet = std::set<Integer>
 
using IndexMap = std::map<Integer, IndexSet>
 
using IndexList = std::vector<Integer>
 
using OutStream = std::basic_ostream<char>
 
template<typename Real, Integer N>
using BoxUniquePtr = std::unique_ptr<Box<Real, N>>
 
template<typename Real, Integer N>
using BoxUniquePtrList = std::vector<BoxUniquePtr<Real, N>>
 
template<typename Real, Integer N>
using Vector = Eigen::Vector<Real, N>
 
template<typename Real, Integer N>
using Point = Eigen::Vector<Real, N>
 

Functions

template<typename Real, Integer N>
std::ostream & operator<< (std::ostream &os, Box< Real, N > const &b)
 
template<typename Real, Integer N>
std::ostream & operator<< (std::ostream &os, Ray< Real, N > const &r)
 

Detailed Description

The AABBtree namespace contains all the classes and functions of the AABBtree library.

Typedef Documentation

◆ BoxUniquePtr

template<typename Real, Integer N>
using AABBtree::BoxUniquePtr = std::unique_ptr<Box<Real, N>>

Unique pointer to a box.

◆ BoxUniquePtrList

template<typename Real, Integer N>
using AABBtree::BoxUniquePtrList = std::vector<BoxUniquePtr<Real, N>>

List of unique pointers to boxes.

◆ IndexList

using AABBtree::IndexList = std::vector<Integer>

A sequential list of indexes.

◆ IndexMap

using AABBtree::IndexMap = std::map<Integer, IndexSet>

A mapping from an index to a set of indexes.

◆ IndexSet

using AABBtree::IndexSet = std::set<Integer>

A set of unique indexes.

◆ Integer

The Integer type, is defined by the preprocessor symbol AABBTREE_DEFAULT_INTEGER_TYPE. The default value is int.

◆ OutStream

using AABBtree::OutStream = std::basic_ostream<char>

Stream type for output operations.

◆ Point

template<typename Real, Integer N>
using AABBtree::Point = Eigen::Vector<Real, N>

A geometric point in the ambient space.

◆ Vector

template<typename Real, Integer N>
using AABBtree::Vector = Eigen::Vector<Real, N>

Eigen column vector of real numbers.

Function Documentation

◆ operator<<() [1/2]

template<typename Real, Integer N>
std::ostream & AABBtree::operator<< ( std::ostream & os,
Box< Real, N > const & b )

Print the box info to an output stream.

Parameters
[in]osOutput stream to print the box info to.
[in]bBox to print.
Template Parameters
RealType of the scalar coefficients.
NDimension of the ambient space.

◆ operator<<() [2/2]

template<typename Real, Integer N>
std::ostream & AABBtree::operator<< ( std::ostream & os,
Ray< Real, N > const & r )

Print the ray info to an output stream.

Parameters
[in]osOutput stream to print the ray info to.
[in]rRay to print.
Template Parameters
RealType of the scalar coefficients.
NDimension of the ambient space.