18 #ifndef __itkPSMNeighborhood_h 19 #define __itkPSMNeighborhood_h 21 #include "itkDataObject.h" 23 #include "itkWeakPointer.h" 24 #include "itkPSMDomain.h" 25 #include "itkPSMContainer.h" 26 #include "itkPSMPointIndexPair.h" 43 template <
unsigned int VDimension>
49 typedef DataObject Superclass;
50 typedef SmartPointer<Self> Pointer;
51 typedef SmartPointer<const Self> ConstPointer;
52 typedef WeakPointer<const Self> ConstWeakPointer;
61 itkStaticConstMacro(Dimension,
unsigned int, VDimension);
80 itkSetObjectMacro(PointContainer, PointContainerType);
81 itkGetConstObjectMacro(PointContainer, PointContainerType);
88 itkExceptionMacro(
"No algorithm for finding neighbors has been specified.");
96 itkExceptionMacro(
"No algorithm for finding neighbors has been specified.");
107 itkSetObjectMacro(Domain, DomainType);
108 itkGetConstObjectMacro(Domain, DomainType);
116 virtual void AddPosition(
const PointType &,
unsigned int,
int ) {}
117 virtual void SetPosition(
const PointType &,
unsigned int,
int) {}
118 virtual void RemovePosition(
unsigned int,
int) {}
122 void PrintSelf(std::ostream& os, Indent indent)
const 124 Superclass::PrintSelf(os, indent);
130 void operator=(
const Self&);
132 typename PointContainerType::Pointer m_PointContainer;
133 typename DomainType::Pointer m_Domain;
virtual void AddPosition(const PointType &, unsigned int, int)
PSMContainer< PointType > PointContainerType
virtual PointVectorType FindNeighborhoodPoints(const PointType &, double) const
virtual PointVectorType FindNeighborhoodPointsWithWeights(const PointType &, std::vector< double > &, double) const
PSMDomain< VDimension > DomainType
Base class for defining the domain in which a particle system exists.
std::vector< PSMPointIndexPair< VDimension > > PointVectorType
A container class that holds particle position information for the PSMParticleSystem class...
Point< double, VDimension > PointType