18 #ifndef itkBioCellularAggregate_h
19 #define itkBioCellularAggregate_h
42 template<
unsigned int NSpaceDimension = 3 >
58 itkStaticConstMacro(SpaceDimension,
unsigned int, NSpaceDimension);
113 unsigned int GetNumberOfCells()
const;
117 void SetGrowthRadiusLimit(
double value);
119 void SetGrowthRadiusIncrement(
double value);
121 itkGetModifiableObjectMacro(
Mesh, MeshType);
123 virtual void AdvanceTimeStep();
125 virtual void SetEgg(BioCellType *cell,
const PointType & position);
131 virtual void Add(
CellBase *cellA,
CellBase *cellB,
double perturbationLength) ITK_OVERRIDE;
133 virtual void Remove(
CellBase *cell) ITK_OVERRIDE;
135 virtual void GetVoronoi(
IdentifierType cellId, VoronoiRegionAutoPointer &)
const;
137 void DumpContent(std::ostream & os)
const;
139 virtual void AddSubstrate(SubstrateType *substrate);
141 virtual SubstratesVector & GetSubstrates();
143 virtual SubstrateValueType GetSubstrateValue(
IdentifierType cellId,
144 unsigned int substrateId)
const ITK_OVERRIDE;
146 virtual void KillAll();
152 void operator=(const Self &);
154 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
156 virtual
void ComputeForces();
158 virtual
void UpdatePositions();
160 virtual
void ComputeClosestPoints();
162 virtual
void ClearForces();
168 double m_FrictionForce;
175 #ifndef ITK_MANUAL_INSTANTIATION
176 #include "itkBioCellularAggregate.hxx"
Base class for different types of cellular groups, including bacterial colonies and pluricellular org...
Light weight base class for most itk classes.
MeshTraits::PointDataContainer PointDataContainer
Image< ImagePixelType, NSpaceDimension > SubstrateType
CellInterface< typename MeshType::CellPixelType, typename MeshType::CellTraits > CellInterfaceType
ImagePixelType SubstrateValueType
MeshType::ConstPointer MeshConstPointer
DefaultDynamicMeshTraits< PointPixelType, NSpaceDimension, NSpaceDimension, double, double, CellPixelType > MeshTraits
MeshTraits::PointsContainer PointsContainer
CellularAggregateBase Superclass
MeshTraits::PointType PointType
Implements the N-dimensional mesh structure.
An abstract interface for cells.
unsigned long SizeValueType
This class implements the minimal behavior of a biological cell.
BioCellType * PointPixelType
ImageBaseType::SpacingType VectorType
BioCellType::VectorType VectorType
MeshType::PointType PointType
SizeValueType IdentifierType
PolygonCell< CellInterfaceType > VoronoiRegionType
MeshType::PointDataContainer PointDataContainer
Base class for the CellularAggregates.
PointDataContainer::ConstIterator CellsConstIterator
PointDataContainer::Iterator CellsIterator
PointsContainer::ConstIterator PointsConstIterator
VoronoiRegionsContainer::Iterator VoronoiIterator
ImageBaseType::PointType PointType
SmartPointer< const Self > ConstPointer
CellType::CellAutoPointer CellAutoPointer
PointsContainer::Iterator PointsIterator
Represents a polygon in a Mesh.
Mesh< PointPixelType, NSpaceDimension, MeshTraits > MeshType
MeshTraits::CellsContainer CellsContainer
Non-templated Base class from which the templated Cell classes will be derived.
SmartPointer< Self > Pointer
VoronoiRegionType::SelfAutoPointer VoronoiRegionAutoPointer
MeshTraits::CellPixelType CellPixelType
Control indentation during Print() invocation.
SubstrateType::Pointer SubstratePointer
MeshType::Pointer MeshPointer
A simple structure that holds type information for a mesh and its cells.
MeshTraits::CellTraits CellTraits
MeshType::PointsContainer PointsContainer
VoronoiRegionsContainer::ConstIterator VoronoiConstIterator
std::vector< SubstratePointer > SubstratesVector
Templated n-dimensional image class.
MeshType::CellsContainer VoronoiRegionsContainer
static unsigned int GetDimension()
Cell< NSpaceDimension > BioCellType
MeshType::CellAutoPointer CellAutoPointer