#include <ExternalPotentialPlugin.h>


Public Member Functions | |
| ExternalPotentialPlugin () | |
| ~ExternalPotentialPlugin () | |
| virtual void | init (Simulator *_simulator, CC3DXMLElement *_xmlData=0) |
| virtual void | extraInit (Simulator *_simulator) |
| virtual double | changeEnergy (const Point3D &pt, const CellG *newCell, const CellG *oldCell) |
| virtual void | update (CC3DXMLElement *_xmlData, bool _fullInitFlag=false) |
| virtual std::string | steerableName () |
| virtual std::string | toString () |
| void | initData () |
Private Types | |
| enum | FunctionType { GLOBAL = 0, BYCELLTYPE = 1, BYCELLID = 2 } |
| typedef double(ExternalPotentialPlugin::* | changeEnergy_t )(const Point3D &pt, const CellG *newCell, const CellG *oldCell) |
Private Member Functions | |
| double | changeEnergyGlobal (const Point3D &pt, const CellG *newCell, const CellG *oldCell) |
| double | changeEnergyByCellType (const Point3D &pt, const CellG *newCell, const CellG *oldCell) |
| double | changeEnergyByCellId (const Point3D &pt, const CellG *newCell, const CellG *oldCell) |
Private Attributes | |
| Potts3D * | potts |
| AdjacentNeighbor | adjNeighbor |
| CC3DXMLElement * | xmlData |
| Coordinates3D< float > | lambdaVec |
| AdjacentNeighbor * | adjNeighbor_ptr |
| WatchableField3D< CellG * > * | cellFieldG |
| Dim3D | fieldDim |
| FunctionType | functionType |
| std::vector < ExternalPotentialParam > | externalPotentialParamVector |
| ExternalPotentialPlugin::changeEnergy_t | changeEnergyFcnPtr |
Definition at line 41 of file ExternalPotentialPlugin.h.
typedef double(ExternalPotentialPlugin::* CompuCell3D::ExternalPotentialPlugin::changeEnergy_t)(const Point3D &pt, const CellG *newCell, const CellG *oldCell) [private] |
enum CompuCell3D::ExternalPotentialPlugin::FunctionType [private] |
| CompuCell3D::ExternalPotentialPlugin::ExternalPotentialPlugin | ( | ) |
Definition at line 19 of file ExternalPotentialPlugin.cpp.
| CompuCell3D::ExternalPotentialPlugin::~ExternalPotentialPlugin | ( | ) |
Definition at line 22 of file ExternalPotentialPlugin.cpp.
| double CompuCell3D::ExternalPotentialPlugin::changeEnergyGlobal | ( | const Point3D & | pt, | |
| const CellG * | newCell, | |||
| const CellG * | oldCell | |||
| ) | [private] |
COMMENT TO deltaCoordinate calculations
process old energy
process new energy
Definition at line 146 of file ExternalPotentialPlugin.cpp.
References adjNeighbor_ptr, cellFieldG, fieldDim, CompuCell3D::AdjacentNeighbor::getAdjFace2FaceNeighborOffsetVec(), CompuCell3D::Potts3D::getFlipNeighbor(), lambdaVec, potts, Coordinates3D< T >::X(), CompuCell3D::Point3D::x, Coordinates3D< T >::XRef(), Coordinates3D< T >::Y(), CompuCell3D::Point3D::y, Coordinates3D< T >::YRef(), Coordinates3D< T >::Z(), CompuCell3D::Point3D::z, and Coordinates3D< T >::ZRef().
Referenced by update().
| double CompuCell3D::ExternalPotentialPlugin::changeEnergyByCellType | ( | const Point3D & | pt, | |
| const CellG * | newCell, | |||
| const CellG * | oldCell | |||
| ) | [private] |
COMMENT TO deltaCoordinate calculations
process old energy
process new energy
Definition at line 264 of file ExternalPotentialPlugin.cpp.
References adjNeighbor_ptr, cellFieldG, externalPotentialParamVector, fieldDim, CompuCell3D::AdjacentNeighbor::getAdjFace2FaceNeighborOffsetVec(), CompuCell3D::Potts3D::getFlipNeighbor(), potts, CompuCell3D::CellG::type, Coordinates3D< T >::X(), CompuCell3D::Point3D::x, Coordinates3D< T >::XRef(), Coordinates3D< T >::Y(), CompuCell3D::Point3D::y, Coordinates3D< T >::YRef(), Coordinates3D< T >::Z(), CompuCell3D::Point3D::z, and Coordinates3D< T >::ZRef().
Referenced by update().
| double CompuCell3D::ExternalPotentialPlugin::changeEnergyByCellId | ( | const Point3D & | pt, | |
| const CellG * | newCell, | |||
| const CellG * | oldCell | |||
| ) | [private] |
COMMENT TO deltaCoordinate calculations
process old energy
process new energy
Definition at line 382 of file ExternalPotentialPlugin.cpp.
References adjNeighbor_ptr, cellFieldG, fieldDim, CompuCell3D::AdjacentNeighbor::getAdjFace2FaceNeighborOffsetVec(), CompuCell3D::Potts3D::getFlipNeighbor(), CompuCell3D::CellG::lambdaVecX, CompuCell3D::CellG::lambdaVecY, CompuCell3D::CellG::lambdaVecZ, potts, Coordinates3D< T >::X(), CompuCell3D::Point3D::x, Coordinates3D< T >::XRef(), Coordinates3D< T >::Y(), CompuCell3D::Point3D::y, Coordinates3D< T >::YRef(), Coordinates3D< T >::Z(), CompuCell3D::Point3D::z, and Coordinates3D< T >::ZRef().
Referenced by update().
| void CompuCell3D::ExternalPotentialPlugin::init | ( | Simulator * | _simulator, | |
| CC3DXMLElement * | _xmlData = 0 | |||
| ) | [virtual] |
Reimplemented from CompuCell3D::SimObject.
Definition at line 27 of file ExternalPotentialPlugin.cpp.
References adjNeighbor, adjNeighbor_ptr, cellFieldG, fieldDim, CompuCell3D::Potts3D::getBoundaryXName(), CompuCell3D::Potts3D::getBoundaryYName(), CompuCell3D::Potts3D::getBoundaryZName(), CompuCell3D::Potts3D::getCellFieldG(), CompuCell3D::Simulator::getPotts(), CompuCell3D::AdjacentNeighbor::initialize(), potts, CompuCell3D::Potts3D::registerEnergyFunctionWithName(), CompuCell3D::Simulator::registerSteerableObject(), CompuCell3D::AdjacentNeighbor::setPeriodicX(), CompuCell3D::AdjacentNeighbor::setPeriodicY(), CompuCell3D::AdjacentNeighbor::setPeriodicZ(), and xmlData.
| void CompuCell3D::ExternalPotentialPlugin::extraInit | ( | Simulator * | _simulator | ) | [virtual] |
Reimplemented from CompuCell3D::SimObject.
Definition at line 61 of file ExternalPotentialPlugin.cpp.
| double CompuCell3D::ExternalPotentialPlugin::changeEnergy | ( | const Point3D & | pt, | |
| const CellG * | newCell, | |||
| const CellG * | oldCell | |||
| ) | [virtual] |
| pt | The point of change. | |
| newCell | The new spin. |
Reimplemented from CompuCell3D::EnergyFunction.
Definition at line 502 of file ExternalPotentialPlugin.cpp.
References changeEnergyFcnPtr.
| void CompuCell3D::ExternalPotentialPlugin::update | ( | CC3DXMLElement * | _xmlData, | |
| bool | _fullInitFlag = false | |||
| ) | [virtual] |
Reimplemented from CompuCell3D::SteerableObject.
Definition at line 72 of file ExternalPotentialPlugin.cpp.
References BYCELLID, BYCELLTYPE, changeEnergyByCellId(), changeEnergyByCellType(), changeEnergyFcnPtr, changeEnergyGlobal(), externalPotentialParamVector, CC3DXMLElement::findElement(), functionType, CC3DXMLElement::getAttributeAsDouble(), CompuCell3D::Potts3D::getAutomaton(), CC3DXMLElement::getElements(), CC3DXMLElement::getFirstElement(), CC3DXMLElement::getNumberOfChildren(), CompuCell3D::Automaton::getTypeId(), GLOBAL, lambdaVec, CompuCell3D::ExternalPotentialParam::lambdaVec, potts, CompuCell3D::ExternalPotentialParam::typeName, Coordinates3D< T >::x, Coordinates3D< T >::y, and Coordinates3D< T >::z.
Referenced by extraInit().
| std::string CompuCell3D::ExternalPotentialPlugin::steerableName | ( | ) | [virtual] |
Reimplemented from CompuCell3D::SteerableObject.
Definition at line 521 of file ExternalPotentialPlugin.cpp.
References toString().
| std::string CompuCell3D::ExternalPotentialPlugin::toString | ( | ) | [virtual] |
Reimplemented from CompuCell3D::Plugin.
Definition at line 516 of file ExternalPotentialPlugin.cpp.
Referenced by steerableName().
| void CompuCell3D::ExternalPotentialPlugin::initData | ( | ) |
Definition at line 46 of file ExternalPotentialPlugin.h.
Referenced by changeEnergyByCellId(), changeEnergyByCellType(), changeEnergyGlobal(), init(), and update().
Coordinates3D<float> CompuCell3D::ExternalPotentialPlugin::lambdaVec [private] |
Definition at line 50 of file ExternalPotentialPlugin.h.
Referenced by changeEnergyGlobal(), and update().
Definition at line 52 of file ExternalPotentialPlugin.h.
Referenced by changeEnergyByCellId(), changeEnergyByCellType(), changeEnergyGlobal(), and init().
Definition at line 53 of file ExternalPotentialPlugin.h.
Referenced by changeEnergyByCellId(), changeEnergyByCellType(), changeEnergyGlobal(), and init().
Definition at line 54 of file ExternalPotentialPlugin.h.
Referenced by changeEnergyByCellId(), changeEnergyByCellType(), changeEnergyGlobal(), and init().
std::vector<ExternalPotentialParam> CompuCell3D::ExternalPotentialPlugin::externalPotentialParamVector [private] |
Definition at line 57 of file ExternalPotentialPlugin.h.
Referenced by changeEnergyByCellType(), and update().
ExternalPotentialPlugin::changeEnergy_t CompuCell3D::ExternalPotentialPlugin::changeEnergyFcnPtr [private] |
Definition at line 61 of file ExternalPotentialPlugin.h.
Referenced by changeEnergy(), and update().
1.5.6