Free Electron
|
Map of named subtrees. More...
#include <MapTree.h>
Public Member Functions | |
virtual void | setRefinement (U32 a_refinement) |
virtual void | populate (const Vector3i *a_pElementArray, const SpatialVector *a_pVertexArray, const SpatialVector *a_pNormalArray, const Vector2 *a_pUVArray, const Color *a_pColorArray, const I32 *a_pTriangleIndexArray, const I32 *a_pPointIndexArray, const I32 *a_pPrimitiveIndexArray, const I32 *a_pPartitionIndexArray, U32 a_primitives, U32 a_vertices, const SpatialVector &a_center, F32 a_radius) |
virtual Real | nearestPoint (const SpatialVector &a_origin, Real a_maxDistance, BWORD a_anyHit, U32 a_hitLimit, const sp< PartitionI > &a_rspPartition, Array< sp< SpatialTreeI::Hit > > &a_rHitArray) const |
virtual Real | rayImpact (const SpatialVector &a_origin, const SpatialVector &a_direction, Real a_maxDistance, BWORD a_anyHit, U32 a_hitLimit, const sp< PartitionI > &a_rspPartition, Array< sp< SpatialTreeI::Hit > > &a_rHitArray) const |
Public Member Functions inherited from fe::ext::SpatialTreeBase | |
virtual void | setAccuracy (SurfaceI::Accuracy a_accuracy) |
virtual void | draw (sp< DrawI >, const fe::Color *) const |
Public Member Functions inherited from fe::Component | |
const String & | name (void) const |
Return the components chosen name. More... | |
const String | verboseName (void) const |
Return the annotated chosen name. More... | |
void | setName (const String &name) |
Rename the component to anything you want. More... | |
hp< Registry > | registry (void) const |
Get the Registry that created this component. More... | |
void | adjoin (sp< Component > spComponent) |
Tie this component's lifetime to another. More... | |
sp< Component > | create (const String &implementation, BWORD quiet=FALSE) const |
Convienience function to registry()->create() More... | |
void | disjoin (void) |
Untie component from Hub, if connected. More... | |
String | factoryName (void) |
void | setLibrary (sp< Library > spLibrary) |
Store a reference to the library used to instantiate this component. More... | |
sp< Library > | library (void) |
Get the library that created the component. More... | |
void | setFactoryIndex (I32 a_factoryIndex) |
Set the library's factory index. More... | |
I32 | factoryIndex (void) |
Get the library's factory index. More... | |
void | setSingleton (BWORD set) |
Specify whether component is a singleton. More... | |
BWORD | isSingleton (void) |
Return whether component is a singleton. More... | |
virtual void | acquire (void) |
Specialized reference increment. More... | |
virtual void | release (void) |
Specialized reference decrement. More... | |
Public Member Functions inherited from fe::Handled< Component > | |
const hp< Component > & | getHandle (void) const |
Get a safe handle to this object. More... | |
Public Member Functions inherited from fe::Protectable | |
virtual I32 | protection (void) const |
virtual void | protect (void) |
virtual void | unprotect (void) |
virtual Protectable * | clone (Protectable *pInstance=NULL) |
Public Member Functions inherited from fe::Counted | |
virtual void | acquire (int &rCount) |
Increment the reference count (and get the count) More... | |
virtual void | abandon (void) |
Decrement the reference count. More... | |
int | count (void) const |
Return the count of references. More... | |
void | setName (const String &) |
void | trackReference (void *pReference, String what) |
void | untrackReference (void *pReference) |
void | registerRegion (void *pT, U32 bytes) |
Public Member Functions inherited from fe::Initialized | |
void | initializeAll (void) |
void | setActive (bool a_active) |
Private Member Functions | |
void | accumulateHits (Array< sp< SpatialTreeI::Hit > > &a_rDestination, Array< sp< SpatialTreeI::Hit > > &a_rSource, U32 a_hitLimit) const |
void | populateSubTree (I32 a_treeIndex) |
Private Attributes | |
std::vector< sp< SpatialTreeI > > | m_treeArray |
std::vector< std::vector< Vector3i > > | m_elementArrays |
U32 | m_refinement |
const Vector3i * | m_pElementArray |
const SpatialVector * | m_pVertexArray |
const SpatialVector * | m_pNormalArray |
const Vector2 * | m_pUVArray |
const Color * | m_pColorArray |
const I32 * | m_pTriangleIndexArray |
const I32 * | m_pPointIndexArray |
const I32 * | m_pPrimitiveIndexArray |
const I32 * | m_pPartitionIndexArray |
U32 | m_primitives |
U32 | m_vertices |
SpatialVector | m_center |
F32 | m_radius |
Additional Inherited Members | |
Static Public Member Functions inherited from fe::Counted | |
static String | reportTracker (void) |
static U32 | trackerCount (void) |
Protected Types inherited from fe::Initialized | |
typedef void(* | InitializeFunction) (Initialized *) |
Protected Member Functions inherited from fe::Handled< Component > | |
void | abandonHandle (void) |
Protected Member Functions inherited from fe::Counted | |
int | releaseInternal (void) |
Decrement the reference count. More... | |
void | suppressReport (void) |
Protected Member Functions inherited from fe::Initialized | |
void | addInitializer (InitializeFunction function) |
Protected Attributes inherited from fe::ext::SpatialTreeBase | |
SurfaceI::Accuracy | m_accuracy |
Related Functions inherited from fe::Component | |
FE_DL_EXPORT void FE_CDECL | checkUnload (sp< Library > &pLibrary, Component *pComponent=NULL) |
Delete the component and unload libraries where appropriate. More... | |
Map of named subtrees.
Each named partition is converted to an independent subtree. This should effective when most searches are for one simple name at a time. This could be very inefficient when patterns match many partitions at once.
While the notion is like a map, the partitions have been converted to consecutive indexes, so the subtrees are actually stored in an array.