Bullet Collision Detection & Physics Library
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_PROTOTYPEgetPrimitiveManager () const
 
_GIM_PRIMITIVE_MANAGER_PROTOTYPEgetPrimitiveManager ()
 
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()

Definition at line 227 of file gim_box_set.h.

Member Function Documentation

◆ boxQuery()

returns the indices of the primitives in the m_primitive_manager

Definition at line 279 of file gim_box_set.h.

◆ boxQueryTrans()

returns the indices of the primitives in the m_primitive_manager

Definition at line 315 of file gim_box_set.h.

◆ buildSet()

this rebuild the entire set

Definition at line 263 of file gim_box_set.h.

◆ getGlobalBox()

Definition at line 231 of file gim_box_set.h.

◆ getLeftNodeIndex()

Definition at line 400 of file gim_box_set.h.

◆ getNodeBound()

Definition at line 390 of file gim_box_set.h.

◆ getNodeCount()

node count

Definition at line 374 of file gim_box_set.h.

◆ getNodeData()

Definition at line 385 of file gim_box_set.h.

◆ getNodeTriangle()

Definition at line 415 of file gim_box_set.h.

◆ getPrimitiveManager() [1/2]

Definition at line 248 of file gim_box_set.h.

◆ getPrimitiveManager() [2/2]

Definition at line 243 of file gim_box_set.h.

◆ getRightNodeIndex()

Definition at line 405 of file gim_box_set.h.

◆ getScapeNodeIndex()

Definition at line 410 of file gim_box_set.h.

◆ hasHierarchy()

tells if this set has hierarcht

Definition at line 362 of file gim_box_set.h.

◆ isLeafNode()

tells if the node is a leaf

Definition at line 380 of file gim_box_set.h.

◆ isTrimesh()

tells if this set is a trimesh

Definition at line 368 of file gim_box_set.h.

◆ rayQuery()

returns the indices of the primitives in the m_primitive_manager

Definition at line 324 of file gim_box_set.h.

◆ refit()

Definition at line 198 of file gim_box_set.h.

◆ setNodeBound()

Definition at line 395 of file gim_box_set.h.

◆ setPrimitiveManager()

Definition at line 238 of file gim_box_set.h.

◆ update()

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

Definition at line 194 of file gim_box_set.h.

◆ m_primitive_manager

Definition at line 193 of file gim_box_set.h.


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