CompuCell3D::NeighborTrackerPlugin Class Reference

#include <NeighborTrackerPlugin.h>

Inheritance diagram for CompuCell3D::NeighborTrackerPlugin:

Inheritance graph
[legend]
Collaboration diagram for CompuCell3D::NeighborTrackerPlugin:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 NeighborTrackerPlugin ()
virtual ~NeighborTrackerPlugin ()
virtual void field3DChange (const Point3D &pt, CellG *newCell, CellG *oldCell)
virtual void init (Simulator *_simulator, CC3DXMLElement *_xmlData=0)
virtual std::string toString ()
BasicClassAccessor
< NeighborTracker > * 
getNeighborTrackerAccessorPtr ()
int returnNumber ()
short getCommonSurfaceArea (NeighborSurfaceData *_nsd)

Protected Member Functions

double distance (double, double, double, double, double, double)
virtual void testLatticeSanityFull ()
bool isBoundaryPixel (Point3D pt)

Protected Attributes

bool watchingAllowed
AdjacentNeighbor adjNeighbor
long maxIndex
long changeCounter

Private Attributes

WatchableField3D< CellG * > * cellFieldG
Dim3D fieldDim
BasicClassAccessor
< NeighborTracker
neighborTrackerAccessor
Simulatorsimulator
bool periodicX
bool periodicY
bool periodicZ
CellInventorycellInventoryPtr
bool checkSanity
unsigned int checkFreq
unsigned int maxNeighborIndex
BoundaryStrategyboundaryStrategy


Detailed Description

Definition at line 49 of file NeighborTrackerPlugin.h.


Constructor & Destructor Documentation

NeighborTrackerPlugin::NeighborTrackerPlugin (  ) 

Definition at line 43 of file NeighborTrackerPlugin.cpp.

NeighborTrackerPlugin::~NeighborTrackerPlugin (  )  [virtual]

Definition at line 58 of file NeighborTrackerPlugin.cpp.


Member Function Documentation

void NeighborTrackerPlugin::field3DChange ( const Point3D pt,
CellG newCell,
CellG oldCell 
) [virtual]

Now will adjust common surface area with cell neighbors

will decrement commSurfArea with all face 2 face neighbors

decrement commonSurfArea with adj cell

if commSurfArea reaches 0 I remove this entry from cell neighbor set

now process common area for adj cell provided it is not the oldCell

decrement common area

if commSurfArea reaches 0 I remove this entry from cell neighbor set

Now will adjust common surface area with cell neighbors

if adjCellPtr denotes foreign cell we increase common area and insert set entry if necessary

OK to insert even if

duplicate, in such a case an iterator to existing NeighborSurfaceData(adjCellPtr) obj is returned

increment commonSurfArea with adj cell

now process common area for adj cell

increment commonSurfArea of adj cell with current cell

this special case is required in updating common Surface Area with medium in this case we update surface of adjCell only (we do not update medium's neighbors list or its contact surfaces)

Now will adjust common surface area with cell neighbors

will decrement commSurfArea with all face 2 face neighbors

now process common area for adj cell provided it is not the oldCell

decrement common area

if commSurfArea reaches 0 I remove this entry from cell neighbor set

this special case is required in updating common Surface Area with medium in this case we update surface of adjCell only (we do not update medium's neighbors list or its contact surfaces)

if adjCellPtr denotes foreign cell we increase common area and insert set entry if necessary

now process common area of adj cell with medium in this case

increment commonSurfArea of adj cell with current cell

temporarily for testing purposes I set

Definition at line 112 of file NeighborTrackerPlugin.cpp.

References adjNeighbor, boundaryStrategy, cellFieldG, changeCounter, checkFreq, checkSanity, CompuCell3D::Neighbor::distance, distance(), CompuCell3D::CellG::extraAttribPtr, CompuCell3D::AdjacentNeighbor::getField3DIndex(), CompuCell3D::BoundaryStrategy::getNeighborDirect(), CompuCell3D::Field3DIndex::index(), maxNeighborIndex, neighborTrackerAccessor, CompuCell3D::Neighbor::pt, and testLatticeSanityFull().

void NeighborTrackerPlugin::init ( Simulator _simulator,
CC3DXMLElement _xmlData = 0 
) [virtual]

std::string NeighborTrackerPlugin::toString (  )  [virtual]

Reimplemented from CompuCell3D::Plugin.

Definition at line 489 of file NeighborTrackerPlugin.cpp.

BasicClassAccessor<NeighborTracker>* CompuCell3D::NeighborTrackerPlugin::getNeighborTrackerAccessorPtr (  )  [inline]

int CompuCell3D::NeighborTrackerPlugin::returnNumber (  )  [inline]

Definition at line 81 of file NeighborTrackerPlugin.h.

short CompuCell3D::NeighborTrackerPlugin::getCommonSurfaceArea ( NeighborSurfaceData _nsd  )  [inline]

double CompuCell3D::NeighborTrackerPlugin::distance ( double  ,
double  ,
double  ,
double  ,
double  ,
double   
) [protected]

void NeighborTrackerPlugin::testLatticeSanityFull (  )  [protected, virtual]

Now will have to get access to the pointers stored in cellFieldG from Potts3D

check neighbors of each cell - will loop over each lattice point and check if point belongs to boundary, then will examine neighbors

OK to insert even if

duplicate, in such a case an iterator to existing NeighborSurfaceData(adjCellPtr) obj is returned

increment commonSurfArea with adj cell

Definition at line 348 of file NeighborTrackerPlugin.cpp.

References boundaryStrategy, cellFieldG, CompuCell3D::CellInventory::cellInventoryBegin(), CompuCell3D::CellInventory::cellInventoryEnd(), cellInventoryPtr, CompuCell3D::Neighbor::distance, distance(), CompuCell3D::CellG::extraAttribPtr, fieldDim, CompuCell3D::CellInventory::getCellInventorySize(), CompuCell3D::BoundaryStrategy::getNeighborDirect(), isBoundaryPixel(), maxNeighborIndex, neighborTrackerAccessor, CompuCell3D::Neighbor::pt, CompuCell3D::Point3D::x, CompuCell3D::Point3D::y, and CompuCell3D::Point3D::z.

Referenced by field3DChange().

bool NeighborTrackerPlugin::isBoundaryPixel ( Point3D  pt  )  [protected]

Definition at line 464 of file NeighborTrackerPlugin.cpp.

References cellFieldG, and distance().

Referenced by testLatticeSanityFull().


Member Data Documentation

Definition at line 52 of file NeighborTrackerPlugin.h.

Referenced by init(), and testLatticeSanityFull().

Definition at line 53 of file NeighborTrackerPlugin.h.

Referenced by field3DChange(), init(), and testLatticeSanityFull().

Reimplemented from CompuCell3D::SimObject.

Definition at line 54 of file NeighborTrackerPlugin.h.

Referenced by init().

Definition at line 55 of file NeighborTrackerPlugin.h.

Referenced by init().

Definition at line 55 of file NeighborTrackerPlugin.h.

Referenced by init().

Definition at line 55 of file NeighborTrackerPlugin.h.

Referenced by init().

Definition at line 56 of file NeighborTrackerPlugin.h.

Referenced by init(), and testLatticeSanityFull().

Definition at line 57 of file NeighborTrackerPlugin.h.

Referenced by field3DChange(), and init().

Definition at line 58 of file NeighborTrackerPlugin.h.

Referenced by field3DChange(), and init().

Definition at line 60 of file NeighborTrackerPlugin.h.

Referenced by field3DChange(), init(), and testLatticeSanityFull().

Definition at line 61 of file NeighborTrackerPlugin.h.

Referenced by field3DChange(), init(), and testLatticeSanityFull().

Definition at line 90 of file NeighborTrackerPlugin.h.

Definition at line 91 of file NeighborTrackerPlugin.h.

Referenced by field3DChange(), and init().

Definition at line 92 of file NeighborTrackerPlugin.h.

Definition at line 93 of file NeighborTrackerPlugin.h.

Referenced by field3DChange().


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

Generated on Thu Dec 4 11:42:26 2008 for CompuCell3D by  doxygen 1.5.6