Virtual Testbed
Ship dynamics simulator for extreme conditions
Classes | Namespaces | Functions
bsp_tree.hh File Reference

Binary space partitioning trees. More...

#include <iosfwd>
#include <iterator>
#include <memory>
#include <queue>
#include <vector>
#include <vtestbed/base/view.hh>
#include <vtestbed/geometry/plane.hh>
#include <vtestbed/geometry/polygon.hh>
#include <vtestbed/geometry/triangle.hh>
Include dependency graph for bsp_tree.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vtb::geometry::BSP_node_iterator< T >
 Traverse BSP tree nodes using depth-first search. More...
 
struct  vtb::geometry::BSP_traits< T, N >
 
struct  vtb::geometry::BSP_traits< T, 3 >
 
struct  vtb::geometry::BSP_traits< T, 2 >
 
class  vtb::geometry::BSP_tree< T, N >
 

Namespaces

 vtb
 Main namespace.
 
 vtb::geometry
 Computational geometry.
 

Functions

template<class T , int N>
BSP_tree< T, N > vtb::geometry::set_union (const BSP_tree< T, N > &lhs, const BSP_tree< T, N > &rhs)
 
template<class T , int N>
BSP_tree< T, N > vtb::geometry::set_difference (const BSP_tree< T, N > &lhs, const BSP_tree< T, N > &rhs)
 
template<class T , int N>
BSP_tree< T, N > vtb::geometry::set_intersection (const BSP_tree< T, N > &lhs, const BSP_tree< T, N > &rhs)
 

Detailed Description

Binary space partitioning trees.

See also
https://en.wikipedia.org/wiki/Binary_space_partitioning

The code is based on csgjs-cpp library, which is a C++ version of csg.js. This is the second rewrite of the original code. References:

Definition in file bsp_tree.hh.