Free Electron
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
fe::ext::ProxMultiGrid Class Reference

Proximity detection. More...

#include <ProxMultiGrid.h>

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

Public Member Functions

void initialize (void)
 
virtual unsigned int detect (sp< Layout > l_pair, sp< RecordGroup > rg_in, sp< RecordGroup > rg_out)
 
virtual void addGrid (Real cellSize)
 
- 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)
 

Private Types

typedef Vector< 3, int > t_v3i
 
typedef std::vector< LocalRecord, StdAllocator< LocalRecord > > t_lrecords
 

Private Member Functions

void add (sp< RecordArray > &ra_in, unsigned int index)
 
unsigned int detect (t_lrecords &a_a)
 
unsigned int detect (t_lrecords &a_a, t_lrecords &a_b)
 
unsigned int detect (Grid &a_ga, Grid &a_gb)
 
bool check (LocalRecord &r_a, LocalRecord &r_b)
 
void setup (sp< Scope > spScope)
 
void setup (Grid &a_grid, SpatialVector &a_extent)
 
void log (void)
 
bool rangeCheck (LocalRecord &r_a)
 

Private Attributes

sp< Scopem_spScope
 
AsBounded m_asBounded
 
AsParticle m_asParticle
 
AsProximity m_asProximity
 
Array< Grid > m_grids
 
SpatialVector m_origin
 
sp< SpaceI > m_spSpace
 
SpatialVector m_boundary
 
Array< BaseAccessorm_filters
 
sp< RecordArraym_spPool
 
FE_UWORD m_poolIndex
 
hp< Layout > m_hpPairLayout
 

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)
 

Detailed Description

Proximity detection.

The method used partitions space into grids of cells. A separate grid is used for each specified cell size. Cells are cubic; they are the same length in each dimension.

WARNING: this class is by design not reentrant due to the pair pooling.

Note: this class is also a good guide on getting the most speed possible out of the data system.

particle attributes

pair attributes


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