#include <BasicClassGroupFactory.h>


Public Member Functions | |
| virtual | ~BasicClassGroupFactory () |
| void | registerClass (BasicClassAccessorBase *accessor) |
| virtual BasicClassGroup * | create () |
| virtual void | destroy (BasicClassGroup *group) |
Private Attributes | |
| BasicArray < BasicClassFactoryBase< void > * > | classFactories |
| BasicArray < BasicClassAccessorBase * > | classAccessors |
Pros:
Cons:
See also BasicDynamicClassFactory.
Definition at line 57 of file BasicClassGroupFactory.h.
| BasicClassGroupFactory::~BasicClassGroupFactory | ( | ) | [virtual] |
Definition at line 35 of file BasicClassGroupFactory.cpp.
References classFactories, and BasicArray< T >::getSize().
| void BasicClassGroupFactory::registerClass | ( | BasicClassAccessorBase * | accessor | ) |
Register a new class with the group. BasicClassAccessor::createClassFactory() is called to get an instance of the class factory. BasicClassGroupFactory will deallocate this factory when it is destructed.
| accessor | The accessor for the class. |
Definition at line 40 of file BasicClassGroupFactory.cpp.
References classAccessors, classFactories, BasicClassAccessorBase::createClassFactory(), BasicArray< T >::put(), and BasicClassAccessorBase::setId().
Referenced by CompuCell3D::VelocityPlugin::extraInit(), CompuCell3D::CellVelocityPlugin::extraInit(), CompuCell3D::SimpleClockPlugin::init(), CompuCell3D::SimpleArrayPlugin::init(), CompuCell3D::RealPlasticityTrackerPlugin::init(), CompuCell3D::PolarizationVectorPlugin::init(), CompuCell3D::PlasticityTrackerPlugin::init(), CompuCell3D::PixelTrackerPlugin::init(), CompuCell3D::BoundaryPixelTrackerPlugin::init(), CompuCell3D::NeighborTrackerPlugin::init(), CompuCell3D::LengthConstraintLocalFlexPlugin::init(), CompuCell3D::ContactMultiCadPlugin::init(), CompuCell3D::ContactLocalProductPlugin::init(), CompuCell3D::ContactLocalFlexPlugin::init(), CompuCell3D::ConnectivityLocalFlexPlugin::init(), CompuCell3D::ConcentrationPlugin::init(), CompuCell3D::CellOrientationPlugin::init(), CompuCell3D::CellBoundaryTrackerPlugin::init(), BasicClassGroupArray::registerClass(), and CompuCell3D::Potts3D::registerClassAccessor().
| BasicClassGroup * BasicClassGroupFactory::create | ( | ) | [virtual] |
The constructors of each of the classes in the group will be called in the order they where registered with the factory.
Implements BasicClassFactoryBase< BasicClassGroup >.
Definition at line 46 of file BasicClassGroupFactory.cpp.
References classFactories, and BasicArray< T >::getSize().
Referenced by BasicClassGroupArray::create(), and CompuCell3D::Potts3D::createCellG().
| void BasicClassGroupFactory::destroy | ( | BasicClassGroup * | group | ) | [virtual] |
The destructors of each of the classes in the group will be called in the order they were registered with the factory.
| group | The class group to be deallocated. |
Implements BasicClassFactoryBase< BasicClassGroup >.
Definition at line 55 of file BasicClassGroupFactory.cpp.
References ASSERT_OR_THROW, classAccessors, BasicClassGroup::classes, and BasicClassGroup::size.
Referenced by BasicClassGroupArray::destroy(), and CompuCell3D::Potts3D::destroyCellG().
BasicArray<BasicClassFactoryBase<void> *> BasicClassGroupFactory::classFactories [private] |
Definition at line 58 of file BasicClassGroupFactory.h.
Referenced by create(), registerClass(), and ~BasicClassGroupFactory().
Definition at line 59 of file BasicClassGroupFactory.h.
Referenced by destroy(), and registerClass().
1.5.6