#include <NeighborTrackerPlugin.h>
Definition at line 49 of file NeighborTrackerPlugin.h.
| NeighborTrackerPlugin::NeighborTrackerPlugin | ( | ) |
Definition at line 43 of file NeighborTrackerPlugin.cpp.
| NeighborTrackerPlugin::~NeighborTrackerPlugin | ( | ) | [virtual] |
Definition at line 58 of file NeighborTrackerPlugin.cpp.
| 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] |
getting cell inventory
will register NeighborTracker here
REMARK. HAVE TO USE THE SAME BASIC CLASS ACCESSOR INSTANCE THAT WAS USED TO REGISTER WITH FACTORY
************************************************************************************************
Reimplemented from CompuCell3D::SimObject.
Definition at line 61 of file NeighborTrackerPlugin.cpp.
References adjNeighbor, boundaryStrategy, cellFieldG, cellInventoryPtr, checkFreq, checkSanity, fieldDim, CC3DXMLElement::findElement(), CompuCell3D::Potts3D::getBoundaryXName(), CompuCell3D::Potts3D::getBoundaryYName(), CompuCell3D::Potts3D::getBoundaryZName(), CompuCell3D::Potts3D::getCellFactoryGroupPtr(), CompuCell3D::Potts3D::getCellFieldG(), CompuCell3D::Potts3D::getCellInventory(), CC3DXMLElement::getFirstElement(), CompuCell3D::BoundaryStrategy::getInstance(), CompuCell3D::BoundaryStrategy::getMaxNeighborIndexFromNeighborOrder(), CompuCell3D::Simulator::getPotts(), CC3DXMLElement::getUInt(), maxNeighborIndex, neighborTrackerAccessor, periodicX, periodicY, periodicZ, CompuCell3D::Potts3D::registerCellGChangeWatcher(), BasicClassGroupFactory::registerClass(), CompuCell3D::AdjacentNeighbor::setPeriodicX(), CompuCell3D::AdjacentNeighbor::setPeriodicY(), CompuCell3D::AdjacentNeighbor::setPeriodicZ(), and simulator.
Referenced by CompuCell3D::FoamDataOutput::extraInit(), CompuCell3D::RearrangementPlugin::init(), and CompuCell3D::NeighborStickPlugin::init().
| std::string NeighborTrackerPlugin::toString | ( | ) | [virtual] |
| BasicClassAccessor<NeighborTracker>* CompuCell3D::NeighborTrackerPlugin::getNeighborTrackerAccessorPtr | ( | ) | [inline] |
Definition at line 79 of file NeighborTrackerPlugin.h.
Referenced by CompuCell3D::FoamDataOutput::extraInit(), CompuCell3D::ViscosityPlugin::extraInit(), CompuCell3D::AdvectionDiffusionSolverFE::init(), CompuCell3D::RearrangementPlugin::init(), CompuCell3D::NeighborStickPlugin::init(), and CompuCell3D::ContactLocalFlexPlugin::updateContactEnergyData().
| int CompuCell3D::NeighborTrackerPlugin::returnNumber | ( | ) | [inline] |
Definition at line 81 of file NeighborTrackerPlugin.h.
| short CompuCell3D::NeighborTrackerPlugin::getCommonSurfaceArea | ( | NeighborSurfaceData * | _nsd | ) | [inline] |
Definition at line 82 of file NeighborTrackerPlugin.h.
References CompuCell3D::NeighborSurfaceData::commonSurfaceArea.
| double CompuCell3D::NeighborTrackerPlugin::distance | ( | double | , | |
| double | , | |||
| double | , | |||
| double | , | |||
| double | , | |||
| double | ||||
| ) | [protected] |
Referenced by field3DChange(), isBoundaryPixel(), and testLatticeSanityFull().
| 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().
Definition at line 51 of file NeighborTrackerPlugin.h.
Referenced by field3DChange(), init(), isBoundaryPixel(), and testLatticeSanityFull().
Definition at line 52 of file NeighborTrackerPlugin.h.
Referenced by init(), and testLatticeSanityFull().
BasicClassAccessor<NeighborTracker> CompuCell3D::NeighborTrackerPlugin::neighborTrackerAccessor [private] |
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().
bool CompuCell3D::NeighborTrackerPlugin::periodicX [private] |
bool CompuCell3D::NeighborTrackerPlugin::periodicY [private] |
bool CompuCell3D::NeighborTrackerPlugin::periodicZ [private] |
Definition at line 56 of file NeighborTrackerPlugin.h.
Referenced by init(), and testLatticeSanityFull().
bool CompuCell3D::NeighborTrackerPlugin::checkSanity [private] |
unsigned int CompuCell3D::NeighborTrackerPlugin::checkFreq [private] |
unsigned int CompuCell3D::NeighborTrackerPlugin::maxNeighborIndex [private] |
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().
bool CompuCell3D::NeighborTrackerPlugin::watchingAllowed [protected] |
Definition at line 90 of file NeighborTrackerPlugin.h.
long CompuCell3D::NeighborTrackerPlugin::maxIndex [protected] |
Definition at line 92 of file NeighborTrackerPlugin.h.
long CompuCell3D::NeighborTrackerPlugin::changeCounter [protected] |
1.5.6