PPL Logo

CollideOctant Class Reference

#include <collide_serial.h>

Inheritance diagram for CollideOctant:

Inheritance graph
[legend]
Collaboration diagram for CollideOctant:

Collaboration graph
[legend]

Public Member Functions

 CollideOctant (int size, bbox3d myTerritory)
virtual ~CollideOctant ()
void setBbox (const bbox3d &b)
const bbox3dgetBbox (void) const
const bbox3dgetTerritory (void) const
bool x_inTerritory (real v) const
bool y_inTerritory (real v) const
bool z_inTerritory (real v) const
int getTotal (void) const
int getHome (void) const
void markHome (int h)
void growTo (const CollideObjRec *b)
void addIfBoundary (const CollideObjRec *b)
CollideOctantdivide (int alongAxis)
void check (void) const
void print (const char *desc=NULL) const
virtual void add (const CollideObjRec *)
void findCollisions (int splitAxis, CollisionList &dest)
void findCollisions (CollisionList &dest)

Private Types

typedef growableBufferT< const
CollideObjRec * > 
parent

Private Member Functions

int splitAt (int alongAxis)

Private Attributes

int nHome
bbox3d box
bbox3d territory

Detailed Description

Definition at line 47 of file collide_serial.h.


Member Typedef Documentation

Definition at line 49 of file collide_serial.h.


Constructor & Destructor Documentation

CollideOctant::CollideOctant ( int  size,
bbox3d  myTerritory 
) [inline]

Definition at line 58 of file collide_serial.h.

References box, bbox3d::empty(), and nHome.

Referenced by divide().

Here is the call graph for this function:

Here is the caller graph for this function:

CollideOctant::~CollideOctant (  )  [virtual]

Definition at line 119 of file collide_serial.C.


Member Function Documentation

int CollideOctant::splitAt ( int  alongAxis  )  [private]

Definition at line 135 of file collide_serial.C.

References PUP::l, myswap(), nHome, and r.

Referenced by divide().

Here is the call graph for this function:

Here is the caller graph for this function:

void CollideOctant::setBbox ( const bbox3d b  )  [inline]

Definition at line 63 of file collide_serial.h.

References box.

Referenced by collideVoxel::collide().

Here is the caller graph for this function:

const bbox3d& CollideOctant::getBbox ( void   )  const [inline]

Definition at line 64 of file collide_serial.h.

References box.

Referenced by check().

Here is the caller graph for this function:

const bbox3d& CollideOctant::getTerritory ( void   )  const [inline]

Definition at line 65 of file collide_serial.h.

References territory.

bool CollideOctant::x_inTerritory ( real  v  )  const [inline]

Definition at line 66 of file collide_serial.h.

References bbox3d::axis(), seg1dT< T >::containsHalf(), and territory.

Referenced by simpleFindCollisions().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CollideOctant::y_inTerritory ( real  v  )  const [inline]

Definition at line 67 of file collide_serial.h.

References bbox3d::axis(), seg1dT< T >::containsHalf(), and territory.

Referenced by simpleFindCollisions().

Here is the call graph for this function:

Here is the caller graph for this function:

bool CollideOctant::z_inTerritory ( real  v  )  const [inline]

Definition at line 68 of file collide_serial.h.

References bbox3d::axis(), seg1dT< T >::containsHalf(), and territory.

Referenced by simpleFindCollisions().

Here is the call graph for this function:

Here is the caller graph for this function:

int CollideOctant::getTotal ( void   )  const [inline]

Definition at line 71 of file collide_serial.h.

References growableBufferT< const CollideObjRec * >::length().

Referenced by simpleFindCollisions().

Here is the call graph for this function:

Here is the caller graph for this function:

int CollideOctant::getHome ( void   )  const [inline]

Definition at line 73 of file collide_serial.h.

References nHome.

Referenced by findCollisions(), and simpleFindCollisions().

Here is the caller graph for this function:

void CollideOctant::markHome ( int  h  )  [inline]

Definition at line 75 of file collide_serial.h.

References nHome.

Referenced by collideVoxel::collide().

Here is the caller graph for this function:

void CollideOctant::growTo ( const CollideObjRec b  )  [inline]

Definition at line 78 of file collide_serial.h.

References bbox3d::add(), box, CollideObjRec::getBbox(), and growableBufferT< const CollideObjRec * >::push_fast().

Here is the call graph for this function:

void CollideOctant::addIfBoundary ( const CollideObjRec b  )  [inline]

Definition at line 83 of file collide_serial.h.

References box, CollideObjRec::getBbox(), bbox3d::intersects(), and growableBufferT< const CollideObjRec * >::push_fast().

Referenced by divide().

Here is the call graph for this function:

Here is the caller graph for this function:

CollideOctant * CollideOctant::divide ( int  alongAxis  ) 

void CollideOctant::check ( void   )  const

void CollideOctant::print ( const char *  desc = NULL  )  const

Definition at line 36 of file collide_serial.C.

References box, growableBufferT< const CollideObjRec * >::length(), nHome, and bbox3d::print().

Here is the call graph for this function:

void CollideOctant::add ( const CollideObjRec p  )  [virtual]

Implements CollideObjConsumer.

Definition at line 120 of file collide_serial.C.

References growableBufferT< const CollideObjRec * >::push_back().

Here is the call graph for this function:

void CollideOctant::findCollisions ( int  splitAxis,
CollisionList dest 
)

Definition at line 289 of file collide_serial.C.

References bufferT< const CollideObjRec * >::at(), divide(), findCollisions(), getHome(), CollideObjRec::id, growableBufferT< const CollideObjRec * >::length(), n, CollideObjID::prio, and simpleFindCollisions().

Referenced by collideVoxel::collide(), and findCollisions().

Here is the call graph for this function:

Here is the caller graph for this function:

void CollideOctant::findCollisions ( CollisionList dest  )  [inline]

Definition at line 97 of file collide_serial.h.

References findCollisions().

Here is the call graph for this function:


Field Documentation

Definition at line 50 of file collide_serial.h.

Referenced by check(), CollideOctant(), divide(), getHome(), markHome(), print(), and splitAt().

Definition at line 51 of file collide_serial.h.

Referenced by addIfBoundary(), check(), CollideOctant(), divide(), getBbox(), growTo(), print(), and setBbox().

Definition at line 52 of file collide_serial.h.

Referenced by divide(), getTerritory(), x_inTerritory(), y_inTerritory(), and z_inTerritory().


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

Generated on Mon Sep 21 08:22:00 2020 for Charm++ by  doxygen 1.5.5