Shapeworks Studio
2.1
Shape analysis software suite
|
Base class for defining the domain in which a particle system exists. More...
#include <itkPSMDomain.h>
Public Types | |
typedef PSMDomain | Self |
typedef DataObject | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef WeakPointer< const Self > | ConstWeakPointer |
typedef Point< double, VDimension > | PointType |
Public Member Functions | |
itkNewMacro (Self) | |
itkTypeMacro (PSMDomain, DataObject) | |
itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
virtual bool | ApplyConstraints (PointType &) const |
virtual double | Distance (const PointType &a, const PointType &b) const |
virtual const PointType & | GetLowerBound () const |
virtual const PointType & | GetUpperBound () const |
void | DisableConstraints () |
void | EnableConstraints () |
bool | GetConstraintsEnabled () const |
void | SetConstraintsEnabled (bool g) |
Protected Member Functions | |
void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Attributes | |
bool | m_ConstraintsEnabled |
Base class for defining the domain in which a particle system exists.
The PSMDomain class is an abstract base class for defining the domain in which a particle system exists. It is intended to be subclassed to fully define the domain characteristics.
A domain defines a distance metric between two points. By default, distance is defined in this base class as a Euclidean distance. PSMDomain subclasses may also define constraints on particle positions, such as constraints forcing particles to lie on a surface (submanifold of the domain). PSMDomain subclasses may also define boundaries using the BoundingBox methods.
Definition at line 48 of file itkPSMDomain.h.
typedef Point<double, VDimension> itk::PSMDomain< VDimension >::PointType |
Point type used to store particle locations.
Definition at line 68 of file itkPSMDomain.h.
typedef PSMDomain itk::PSMDomain< VDimension >::Self |
Standard class typedefs
Definition at line 52 of file itkPSMDomain.h.
|
inlinevirtual |
Apply any constraints to the given point location. This method may, for example, implement boundary conditions or restrict points to lie on a surface. Default behavior does nothing. Returns true if the value of the point was modified and false otherwise.
Reimplemented in itk::PSMImplicitSurfaceDomain< T, VDimension >, and itk::PSMRegionDomain< VDimension >.
Definition at line 74 of file itkPSMDomain.h.
|
inline |
Enable/Disable constraints on particle positions imposed by a domain.
Definition at line 105 of file itkPSMDomain.h.
|
inlinevirtual |
A Domain may define a distance calculation. This is useful in cases such as geodesic distance, where distance depends on some information contained in the Domain. The default implementation is Euclidean distance.
Reimplemented in itk::PSMImplicitSurfaceDomain< T, VDimension >.
Definition at line 81 of file itkPSMDomain.h.
|
inlinevirtual |
A Domain may optionally return a bounding box. The lower bound method gives the upper-left-hand corner of the domain. The upper bound method gives the lower-right-hand-corner of the domain. If a domain does not define boundaries, these methods will throw an exceptions
Reimplemented in itk::PSMRegionDomain< VDimension >.
Definition at line 95 of file itkPSMDomain.h.
itk::PSMDomain< VDimension >::itkNewMacro | ( | Self | ) |
Method for creation through the object factory.
itk::PSMDomain< VDimension >::itkStaticConstMacro | ( | Dimension | , |
unsigned | int, | ||
VDimension | |||
) |
Dimensionality of the domain of the particle system.
itk::PSMDomain< VDimension >::itkTypeMacro | ( | PSMDomain< VDimension > | , |
DataObject | |||
) |
Run-time type information (and related methods).