Virtual Testbed
Ship dynamics simulator for extreme conditions
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
vtb::geometry::BSP_tree< T, N > Class Template Reference

Public Types

using scalar_type = T
 
using traits_type = BSP_traits< T, N >
 
using value_type = typename traits_type::value_type
 
using plane_type = Plane< T, N >
 
using pointer = std::unique_ptr< BSP_tree< T, N > >
 
using reference = pointer &
 
using const_reference = const pointer &
 
using polygon_array = std::vector< value_type >
 
using node_iterator = BSP_node_iterator< BSP_tree< T, N > >
 
using node_const_iterator = BSP_node_iterator< const BSP_tree< T, N > >
 
using node_view = vtb::base::view< node_iterator >
 
using node_const_view = vtb::base::view< node_const_iterator >
 

Public Member Functions

 BSP_tree (const plane_type &plane, T eps)
 
 BSP_tree (const plane_type &plane, T eps, polygon_array &&polygons)
 
 BSP_tree (polygon_array &&polygons, T eps)
 
 BSP_tree (BSP_tree &&)=default
 
BSP_treeoperator= (BSP_tree &&)=default
 
 BSP_tree (const BSP_tree &rhs)
 
BSP_treeoperator= (const BSP_tree &rhs)
 
void insert (polygon_array &&new_polygons)
 
void insert (BSP_tree &&rhs)
 
void clear ()
 
void invert ()
 
size_t subtract (const BSP_tree &rhs)
 
void sort ()
 
bool has_plane () const
 
const plane_type plane () const
 
const_reference front () const
 
const_reference back () const
 
const polygon_arraypolygons () const
 
const value_type & polygon (size_t i) const
 
node_view nodes ()
 
node_const_view nodes () const
 
bool empty () const
 
scalar_type accuracy () const
 
void accuracy (scalar_type rhs)
 
void dot (std::ostream &out) const
 
void simplify ()
 
template<>
void simplify ()
 
template<>
void simplify ()
 

Static Public Attributes

static constexpr const int dimensions = N
 

Detailed Description

template<class T, int N>
class vtb::geometry::BSP_tree< T, N >

Definition at line 130 of file bsp_tree.hh.