Free Electron
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
fe::ext::QuadTree Class Reference

Triangular storage using divisions by quarters. More...

#include <QuadTree.h>

Inheritance diagram for fe::ext::QuadTree:
Inheritance graph
[legend]

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
 
virtual void draw (sp< DrawI > a_spDrawI, const fe::Color *a_pColor) const
 
Real nearestTo (BWORD a_mutable, BWORD a_directional, 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, U32 a_subdivMax) const
 
void age (void)
 
void cacheSpheres (const SpatialVector &a_center, F32 a_radius)
 
void buildGraph (void)
 
void addJob (sp< Node > a_spNode)
 
const Job lookupJob (I32 a_index)
 
- Public Member Functions inherited from fe::ext::SpatialTreeBase
virtual void setAccuracy (SurfaceI::Accuracy a_accuracy)
 
- Public Member Functions inherited from fe::Component
const Stringname (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< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (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< Librarylibrary (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 Protectableclone (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)
 

Static Public Member Functions

static void expandBox (SpatialVector &a_rMin, SpatialVector &a_rMax, const SpatialVector &a_rLowPoint, const SpatialVector &a_rHighPoint)
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 

Public Attributes

sp< Node > m_spRootNode
 
sp< DrawModem_spWireframe
 

Protected Member Functions

void prune (void)
 
void lockSafe (void)
 
void unlockSafe (void)
 
- Protected Member Functions inherited from fe::ext::FlatTree
void nearestAccumulate (I32 a_face, I32 a_triangleIndex, I32 a_primitiveIndex, I32 a_partitionIndex, const SpatialVector &a_origin, U32 a_hitLimit, Array< sp< SpatialTreeI::Hit > > &a_rHitArray, const SpatialVector &a_rCenter, Real a_radius, const I32 *a_pPointIndex, const SpatialVector *a_pVertex, const SpatialVector *a_pNormal) const
 
void cacheSpheres (void)
 
- 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

Vector3u m_divisions
 
U32 m_capacity
 
U32 m_subdivMax
 
U32 m_ageStamp
 
U32 m_timeStamp
 
U32 m_verticesUsed
 
sp< Gang< Worker, I32 > > m_spGang
 
Array< Job > m_jobArray
 
- Protected Attributes inherited from fe::ext::FlatTree
const Vector3im_pElementArray
 
const SpatialVectorm_pVertexArray
 
const SpatialVectorm_pNormalArray
 
const Vector2m_pUVArray
 
const Colorm_pColorArray
 
const I32 * m_pTriangleIndexArray
 
const I32 * m_pPointIndexArray
 
const I32 * m_pPrimitiveIndexArray
 
const I32 * m_pPartitionIndexArray
 
U32 m_primitives
 
U32 m_vertices
 
Ball * m_pBallArray
 
U32 m_ballCount
 
CountedPool< Hit > m_hitPool
 
- Protected Attributes inherited from fe::ext::SpatialTreeBase
SurfaceI::Accuracy m_accuracy
 

Additional Inherited Members

- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Static Protected Member Functions inherited from fe::ext::FlatTree
static void addHit (U32 a_hitLimit, Array< sp< SpatialTreeI::Hit > > &a_rHitArray, CountedPool< Hit > &a_rHitPool, Real a_distance, const SpatialVector &a_rDirection, const SpatialVector &a_rIntersection, I32 a_face, I32 a_triangleIndex, I32 a_primitiveIndex, I32 a_partitionIndex, const SpatialBary &a_rBarycenter, const Vector2 &a_rUV, const SpatialVector &a_rDu, const SpatialVector &a_rDv, const Color &a_rColor, const I32 a_subCount, const I32 *a_pPointIndex, const SpatialVector *a_pVertex, const SpatialVector *a_pNormal)
 

Detailed Description

Triangular storage using divisions by quarters.


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