$search

collision_checking::KDOP< N > Class Template Reference

KDOP class describes the KDOP collision structures. K is set as the template parameter, which should be 16, 18, or 24 The KDOP structure is defined by some pairs of parallel planes defined by some axes. For K = 18, the planes are 6 AABB planes and 12 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 9 (0,-1,0) and (0,1,0) -> indices 1 and 10 (0,0,-1) and (0,0,1) -> indices 2 and 11 (-1,-1,0) and (1,1,0) -> indices 3 and 12 (-1,0,-1) and (1,0,1) -> indices 4 and 13 (0,-1,-1) and (0,1,1) -> indices 5 and 14 (-1,1,0) and (1,-1,0) -> indices 6 and 15 (-1,0,1) and (1,0,-1) -> indices 7 and 16 (0,-1,1) and (0,1,-1) -> indices 8 and 17. More...

#include <kDOP.h>

List of all members.

Public Member Functions

Vec3f center () const
 The (AABB) center.
BVH_REAL depth () const
 The (AABB) depth.
BVH_REAL distance (const KDOP< N > &other) const
 The distance between two KDOP<N> Not implemented.
BVH_REAL height () const
 The (AABB) height.
bool inside (const Vec3f &p) const
 Check whether one point is inside the KDOP.
 KDOP (const Vec3f &a, const Vec3f &b)
 KDOP (const Vec3f &v)
 KDOP ()
KDOP< N > operator+ (const KDOP< N > &other) const
 Create a KDOP by mergin two KDOPs.
KDOP< N > & operator+= (const KDOP< N > &other)
 Merge two KDOPs.
KDOP< N > & operator+= (const Vec3f &p)
 Merge the point and the KDOP.
bool overlap (const KDOP< N > &other) const
 Check whether two KDOPs are overlapped.
BVH_REAL size () const
BVH_REAL volume () const
 The (AABB) volume.
BVH_REAL width () const
 The (AABB) width.

Private Attributes

BVH_REAL dist_ [N]
 distances to N KDOP planes

Detailed Description

template<size_t N>
class collision_checking::KDOP< N >

KDOP class describes the KDOP collision structures. K is set as the template parameter, which should be 16, 18, or 24 The KDOP structure is defined by some pairs of parallel planes defined by some axes. For K = 18, the planes are 6 AABB planes and 12 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 9 (0,-1,0) and (0,1,0) -> indices 1 and 10 (0,0,-1) and (0,0,1) -> indices 2 and 11 (-1,-1,0) and (1,1,0) -> indices 3 and 12 (-1,0,-1) and (1,0,1) -> indices 4 and 13 (0,-1,-1) and (0,1,1) -> indices 5 and 14 (-1,1,0) and (1,-1,0) -> indices 6 and 15 (-1,0,1) and (1,0,-1) -> indices 7 and 16 (0,-1,1) and (0,1,-1) -> indices 8 and 17.

Definition at line 127 of file kDOP.h.


Constructor & Destructor Documentation

template<size_t N>
collision_checking::KDOP< N >::KDOP (  )  [inline]

Definition at line 130 of file kDOP.h.

template<size_t N>
collision_checking::KDOP< N >::KDOP ( const Vec3f v  )  [inline]

Definition at line 141 of file kDOP.h.

template<size_t N>
collision_checking::KDOP< N >::KDOP ( const Vec3f a,
const Vec3f b 
) [inline]

Definition at line 156 of file kDOP.h.


Member Function Documentation

template<size_t N>
Vec3f collision_checking::KDOP< N >::center (  )  const [inline]

The (AABB) center.

Definition at line 270 of file kDOP.h.

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::depth (  )  const [inline]

The (AABB) depth.

Definition at line 253 of file kDOP.h.

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::distance ( const KDOP< N > &  other  )  const [inline]

The distance between two KDOP<N> Not implemented.

Definition at line 278 of file kDOP.h.

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::height (  )  const [inline]

The (AABB) height.

Definition at line 247 of file kDOP.h.

template<size_t N>
bool collision_checking::KDOP< N >::inside ( const Vec3f p  )  const [inline]

Check whether one point is inside the KDOP.

Definition at line 185 of file kDOP.h.

template<size_t N>
KDOP<N> collision_checking::KDOP< N >::operator+ ( const KDOP< N > &  other  )  const [inline]

Create a KDOP by mergin two KDOPs.

Definition at line 234 of file kDOP.h.

template<size_t N>
KDOP<N>& collision_checking::KDOP< N >::operator+= ( const KDOP< N > &  other  )  [inline]

Merge two KDOPs.

Definition at line 223 of file kDOP.h.

template<size_t N>
KDOP<N>& collision_checking::KDOP< N >::operator+= ( const Vec3f p  )  [inline]

Merge the point and the KDOP.

Definition at line 205 of file kDOP.h.

template<size_t N>
bool collision_checking::KDOP< N >::overlap ( const KDOP< N > &  other  )  const [inline]

Check whether two KDOPs are overlapped.

Definition at line 173 of file kDOP.h.

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::size (  )  const [inline]

Definition at line 264 of file kDOP.h.

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::volume (  )  const [inline]

The (AABB) volume.

Definition at line 259 of file kDOP.h.

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::width (  )  const [inline]

The (AABB) width.

Definition at line 241 of file kDOP.h.


Member Data Documentation

template<size_t N>
BVH_REAL collision_checking::KDOP< N >::dist_[N] [private]

distances to N KDOP planes

Definition at line 286 of file kDOP.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends


collision_checking
Author(s): Jia Pan, Dinesh Manocha (UNC, Chapel Hill)
autogenerated on Fri Mar 1 14:57:00 2013