Bullet Collision Detection & Physics Library: GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE > Class Template Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE > Class Template Reference

Generic Box Tree Template. More...

`#include <gim_box_set.h>`

## Public Member Functions
| GIM_BOX_TREE_TEMPLATE_SET ()
GIM_AABB | getGlobalBox () const
void | setPrimitiveManager (const _GIM_PRIMITIVE_MANAGER_PROTOTYPE &primitive_manager)
const _GIM_PRIMITIVE_MANAGER_PROTOTYPE & | getPrimitiveManager () const
_GIM_PRIMITIVE_MANAGER_PROTOTYPE & | getPrimitiveManager ()
void | update ()
| node manager prototype functions
void | buildSet ()
| this rebuild the entire set
bool | boxQuery (const GIM_AABB &box, gim_array< GUINT > &collided_results) const
| returns the indices of the primitives in the m_primitive_manager
bool | boxQueryTrans (const GIM_AABB &box, const btTransform &transform, gim_array< GUINT > &collided_results) const
| returns the indices of the primitives in the m_primitive_manager
bool | rayQuery (const btVector3 &ray_dir, const btVector3 &ray_origin, gim_array< GUINT > &collided_results) const
| returns the indices of the primitives in the m_primitive_manager
bool | hasHierarchy () const
| tells if this set has hierarcht
bool | isTrimesh () const
| tells if this set is a trimesh
GUINT | getNodeCount () const
| node count
bool | isLeafNode (GUINT nodeindex) const
| tells if the node is a leaf
GUINT | getNodeData (GUINT nodeindex) const
void | getNodeBound (GUINT nodeindex, GIM_AABB &bound) const
void | setNodeBound (GUINT nodeindex, const GIM_AABB &bound)
GUINT | getLeftNodeIndex (GUINT nodeindex) const
GUINT | getRightNodeIndex (GUINT nodeindex) const
GUINT | getScapeNodeIndex (GUINT nodeindex) const
void | getNodeTriangle (GUINT nodeindex, GIM_TRIANGLE &triangle) const

## Protected Member Functions
void | refit ()

## Protected Attributes
_GIM_PRIMITIVE_MANAGER_PROTOTYPE | m_primitive_manager
_GIM_BOX_TREE_PROTOTYPE | m_box_tree

## Detailed Description

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE, typename _GIM_BOX_TREE_PROTOTYPE>
class GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >

Generic Box Tree Template.

This class offers an structure for managing a box tree of primitives. Requires a Primitive prototype (like GIM_PRIMITIVE_MANAGER_PROTOTYPE ) and a Box tree structure ( like GIM_BOX_TREE).

Definition at line 190 of file gim_box_set.h.

## Constructor & Destructor Documentation

## ◆ GIM_BOX_TREE_TEMPLATE_SET()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::GIM_BOX_TREE_TEMPLATE_SET | ( |  | ) |
| inline

Definition at line 227 of file gim_box_set.h.

## Member Function Documentation

## ◆ boxQuery()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQuery | ( | const GIM_AABB & | box,
|  | gim_array< GUINT > & | collided_results
| ) |  | const
| inline

returns the indices of the primitives in the m_primitive_manager

Definition at line 279 of file gim_box_set.h.

## ◆ boxQueryTrans()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::boxQueryTrans | ( | const GIM_AABB & | box,
|  | const btTransform & | transform,
|  | gim_array< GUINT > & | collided_results
| ) |  | const
| inline

returns the indices of the primitives in the m_primitive_manager

Definition at line 315 of file gim_box_set.h.

## ◆ buildSet()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::buildSet | ( |  | ) |
| inline

this rebuild the entire set

Definition at line 263 of file gim_box_set.h.

## ◆ getGlobalBox()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GIM_AABB GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getGlobalBox | ( |  | ) | const
| inline

Definition at line 231 of file gim_box_set.h.

## ◆ getLeftNodeIndex()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getLeftNodeIndex | ( | GUINT | nodeindex | ) | const
| inline

Definition at line 400 of file gim_box_set.h.

## ◆ getNodeBound()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeBound | ( | GUINT | nodeindex,
|  | GIM_AABB & | bound
| ) |  | const
| inline

Definition at line 390 of file gim_box_set.h.

## ◆ getNodeCount()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeCount | ( |  | ) | const
| inline

node count

Definition at line 374 of file gim_box_set.h.

## ◆ getNodeData()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeData | ( | GUINT | nodeindex | ) | const
| inline

Definition at line 385 of file gim_box_set.h.

## ◆ getNodeTriangle()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getNodeTriangle | ( | GUINT | nodeindex,
|  | GIM_TRIANGLE & | triangle
| ) |  | const
| inline

Definition at line 415 of file gim_box_set.h.

## ◆ getPrimitiveManager() [1/2]

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

_GIM_PRIMITIVE_MANAGER_PROTOTYPE & GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getPrimitiveManager | ( |  | ) |
| inline

Definition at line 248 of file gim_box_set.h.

## ◆ getPrimitiveManager() [2/2]

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

const _GIM_PRIMITIVE_MANAGER_PROTOTYPE & GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getPrimitiveManager | ( |  | ) | const
| inline

Definition at line 243 of file gim_box_set.h.

## ◆ getRightNodeIndex()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getRightNodeIndex | ( | GUINT | nodeindex | ) | const
| inline

Definition at line 405 of file gim_box_set.h.

## ◆ getScapeNodeIndex()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

GUINT GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::getScapeNodeIndex | ( | GUINT | nodeindex | ) | const
| inline

Definition at line 410 of file gim_box_set.h.

## ◆ hasHierarchy()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::hasHierarchy | ( |  | ) | const
| inline

tells if this set has hierarcht

Definition at line 362 of file gim_box_set.h.

## ◆ isLeafNode()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::isLeafNode | ( | GUINT | nodeindex | ) | const
| inline

tells if the node is a leaf

Definition at line 380 of file gim_box_set.h.

## ◆ isTrimesh()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::isTrimesh | ( |  | ) | const
| inline

tells if this set is a trimesh

Definition at line 368 of file gim_box_set.h.

## ◆ rayQuery()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

bool GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::rayQuery | ( | const btVector3 & | ray_dir,
|  | const btVector3 & | ray_origin,
|  | gim_array< GUINT > & | collided_results
| ) |  | const
| inline

returns the indices of the primitives in the m_primitive_manager

Definition at line 324 of file gim_box_set.h.

## ◆ refit()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::refit | ( |  | ) |
| inlineprotected

Definition at line 198 of file gim_box_set.h.

## ◆ setNodeBound()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::setNodeBound | ( | GUINT | nodeindex,
|  | const GIM_AABB & | bound
| ) |  |
| inline

Definition at line 395 of file gim_box_set.h.

## ◆ setPrimitiveManager()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::setPrimitiveManager | ( | const _GIM_PRIMITIVE_MANAGER_PROTOTYPE & | primitive_manager | ) |
| inline

Definition at line 238 of file gim_box_set.h.

## ◆ update()

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

void GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::update | ( |  | ) |
| inline

node manager prototype functions

this attemps to refit the box set.

Definition at line 257 of file gim_box_set.h.

## Member Data Documentation

## ◆ m_box_tree

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

_GIM_BOX_TREE_PROTOTYPE GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::m_box_tree
| protected

Definition at line 194 of file gim_box_set.h.

## ◆ m_primitive_manager

template<typename _GIM_PRIMITIVE_MANAGER_PROTOTYPE , typename _GIM_BOX_TREE_PROTOTYPE >

_GIM_PRIMITIVE_MANAGER_PROTOTYPE GIM_BOX_TREE_TEMPLATE_SET< _GIM_PRIMITIVE_MANAGER_PROTOTYPE, _GIM_BOX_TREE_PROTOTYPE >::m_primitive_manager
| protected

Definition at line 193 of file gim_box_set.h.

The documentation for this class was generated from the following file:

- gim_box_set.h