#include <FDH14List.h>
Inheritance diagram for FDH14List:
Public Types | |
enum | SplitStrategy { SPLIT_BY_MAX_VARIATION, SPLIT_BY_MAX_EXTENT } |
Public Member Functions | |
FDH14List () | |
void | append (SceneGraphObject *o) |
SceneGraphObject * | remove (SceneGraphObject *) |
unsigned | length () const |
unsigned | split (BVList &list, SplitStrategy splitStrategy) |
SceneGraphObject * | firstItem () |
SceneGraphObject * | nextItem () |
SceneGraphObject * | iThItem (unsigned i, bool setAct) |
virtual void | __debug () |
Protected Member Functions | |
void | _split_by_handles (List< BVNode > &, List< BVNode > &, unsigned) |
virtual void | _comp_handle (BVNode *) |
virtual void | _comp_extents (BVNode *) |
unsigned | _index_with_max_extent () |
void | _build_area_table (BVNode **, long, long, double *) const |
unsigned | _split_by_extent (List< BVNode > &) |
unsigned | _index_with_max_variation () |
unsigned | _split_by_variation (List< BVNode > &) |
Static Protected Member Functions | |
static int | qsortCompare (const void *, const void *) |
Protected Attributes | |
List< BVNode > * | _pList |
unsigned | _dirs |
const float(* | _dirMat )[3] |
Static Protected Attributes | |
static unsigned | qsortIndex |
Definition at line 11 of file FDH14List.h.
|
Strategies of splitting the list to two halfs |
|
Definition at line 13 of file FDH14List.h. |
|
Fo debugging purposes Definition at line 164 of file BVList.h. Referenced by BVH::__debug(). |
|
Definition at line 133 of file BVList.cc. References Interval::max, MAX_VEC_VALUE, Interval::min, and MIN_VEC_VALUE. Referenced by BVList::_split_by_extent(). |
|
Definition at line 87 of file BVList.cc. References BVList::_dirMat, BVList::_dirs, Explorer::explore(), BVList::BVNode::extents, BVList::BVNode::pObject, and NExtentsExplorer::result(). Referenced by BVList::append(). |
|
Definition at line 63 of file BVList.cc. References BVList::_dirMat, BVList::_dirs, Explorer::explore(), BVList::BVNode::handle, MAX_VEC_VALUE, MAXFLOAT, BVList::BVNode::pObject, and POGExplorer::result(). Referenced by BVList::append(). |
|
Definition at line 99 of file BVList.cc. References BVList::_dirs, BVList::_pList, BVList::BVNode::extents, List::firstItem(), Interval::max, Interval::min, and List::nextItem(). Referenced by BVList::_split_by_extent(). |
|
Definition at line 224 of file BVList.cc. References BVList::_dirs, BVList::_pList, List::firstItem(), BVList::BVNode::handle, BVList::length(), MAXUNSIGNED, and List::nextItem(). Referenced by BVList::_split_by_variation(). |
|
Definition at line 170 of file BVList.cc. References BVList::_build_area_table(), BVList::_index_with_max_extent(), BVList::_pList, List::firstItem(), BVList::length(), List::nextItem(), BVList::qsortCompare(), and BVList::qsortIndex. Referenced by BVList::split(). |
|
Definition at line 21 of file BVList.cc. References ESG_INT_RAND, List::firstItem(), BVList::BVNode::handle, List::iThItem(), List::length(), BVList::length(), List::nextItem(), and List::remove(). Referenced by BVList::_split_by_variation(). |
|
Definition at line 272 of file BVList.cc. References BVList::_index_with_max_variation(), BVList::_pList, BVList::_split_by_handles(), List::append(), List::length(), BVList::length(), and MAXUNSIGNED. Referenced by BVList::split(). |
|
Appends new object to the list
Definition at line 377 of file BVList.cc. References BVList::_comp_extents(), BVList::_comp_handle(), BVList::_dirs, BVList::_pList, and List::append(). Referenced by BVH::_append(). |
|
Start of the list inspection. Sets the actual position in list to the first item and returns it.
Definition at line 132 of file BVList.h. References BVList::BVNode::pObject. Referenced by IteratorBVH::_area_search(), IteratorBVH::_children_search(), BVH::_collision(), BVH::_create_bv(), BVH::_dr_primitives(), BVH::_dump(), IteratorBVH::_first_child(), IteratorBVH::_first_ray_intersection(), IteratorBVH::_halfspace_search(), and IteratorBVH::_next_ray_intersection(). |
|
Returns object at the i-th position in list. Actual position in list can be either set to the new one or kept untached.
Definition at line 155 of file BVList.h. References BVList::BVNode::pObject. |
|
Definition at line 114 of file BVList.h. Referenced by BVH::_append(), BVH::_build_tree(), BVList::_index_with_max_variation(), BVList::_split_by_extent(), BVList::_split_by_handles(), BVList::_split_by_variation(), and BVList::split(). |
|
Moves the actual position in list to the next item and returns it.
Definition at line 142 of file BVList.h. References BVList::BVNode::pObject. Referenced by IteratorBVH::_area_search(), IteratorBVH::_children_search(), BVH::_collision(), BVH::_create_bv(), BVH::_dr_primitives(), BVH::_dump(), IteratorBVH::_halfspace_search(), and IteratorBVH::_next_child(). |
|
Definition at line 11 of file BVList.cc. References Interval::max, Interval::min, and BVList::qsortIndex. Referenced by BVList::_split_by_extent(). |
|
Removes obect from the list
Definition at line 385 of file BVList.cc. References BVList::_pList, List::firstItem(), List::nextItem(), BVList::BVNode::pObject, and List::remove(). |
|
Splits the list to two halfs
Definition at line 401 of file BVList.cc. References BVList::_pList, BVList::_split_by_extent(), BVList::_split_by_variation(), BVList::length(), MAXUNSIGNED, BVList::SPLIT_BY_MAX_EXTENT, and BVList::SPLIT_BY_MAX_VARIATION. Referenced by BVH::_append(). |
|
Definition at line 49 of file BVList.h. Referenced by BVList::_comp_extents(), and BVList::_comp_handle(). |
|
Definition at line 48 of file BVList.h. Referenced by BVList::_comp_extents(), BVList::_comp_handle(), BVList::_index_with_max_extent(), BVList::_index_with_max_variation(), and BVList::append(). |
|
Definition at line 47 of file BVList.h. Referenced by BVList::_index_with_max_extent(), BVList::_index_with_max_variation(), BVList::_split_by_extent(), BVList::_split_by_variation(), BVList::append(), BVList::BVList(), BVList::remove(), BVList::split(), and BVList::~BVList(). |
|
Definition at line 52 of file BVList.h. Referenced by BVList::_split_by_extent(), and BVList::qsortCompare(). |