shapeworks::ParticleNeighborhood
#include <ParticleNeighborhood.h>
Inherits from itk::DataObject
Inherited by shapeworks::ParticleRegionNeighborhood
Public Types
| Name | |
|---|---|
| typedef ParticleNeighborhood | Self | 
| typedef DataObject | Superclass | 
| typedef itk::SmartPointer< Self > | Pointer | 
| typedef itk::SmartPointer< const Self > | ConstPointer | 
| typedef itk::WeakPointer< const Self > | ConstWeakPointer | 
| typedef itk::Point< double, VDimension > | PointType | 
| using shapeworks::ParticleDomain | DomainType | 
| typedef GenericContainer< PointType > | PointContainerType | 
| typedef std::vector< ParticlePointIndexPair > | PointVectorType | 
Public Functions
| Name | |
|---|---|
| itkNewMacro(Self ) | |
| itkTypeMacro(ParticleNeighborhood , DataObject ) | |
| itkStaticConstMacro(Dimension , unsigned int , VDimension ) | |
| itkSetObjectMacro(PointContainer , PointContainerType ) | |
| itkGetConstObjectMacro(PointContainer , PointContainerType ) | |
| virtual PointVectorType | FindNeighborhoodPoints(const PointType & , int idx, double ) const | 
| virtual PointVectorType | FindNeighborhoodPoints(const PointType & , int idx, std::vector< double > & , double ) const | 
| virtual PointVectorType | FindNeighborhoodPoints(const PointType & , int idx, std::vector< double > & , std::vector< double > & , double ) const | 
| virtual unsigned int | FindNeighborhoodPoints(const PointType & , int idx, double , PointVectorType & ) const | 
| virtual void | SetDomain(DomainType::Pointer domain) | 
| DomainType::Pointer | GetDomain() const | 
| virtual void | AddPosition(const PointType & p, unsigned int idx, int threadId =0) | 
| virtual void | SetPosition(const PointType & p, unsigned int idx, int threadId =0) | 
| virtual void | RemovePosition(unsigned int idx, int threadId =0) | 
Protected Functions
| Name | |
|---|---|
| ParticleNeighborhood() | |
| void | PrintSelf(std::ostream & os, itk::Indent indent) const | 
| virtual | ~ParticleNeighborhood() | 
Public Attributes
| Name | |
|---|---|
| constexpr static unsigned int | VDimension | 
Detailed Description
class shapeworks::ParticleNeighborhood;
A ParticleNeighborhood is responsible for computing neighborhoods of particles. Given a point position in a domain, and a neighborhood radius, the ParticleNeighborhood returns a list of points that are neighbors of that point. The base class, ParticleNeighborhood, must be subclassed to provide functionality; the base class will throw an exception when FindNeighborhoodPoints is called.
Public Types Documentation
typedef Self
typedef ParticleNeighborhood shapeworks::ParticleNeighborhood::Self;
Standard class typedefs
typedef Superclass
typedef DataObject shapeworks::ParticleNeighborhood::Superclass;
typedef Pointer
typedef itk::SmartPointer<Self> shapeworks::ParticleNeighborhood::Pointer;
typedef ConstPointer
typedef itk::SmartPointer<const Self> shapeworks::ParticleNeighborhood::ConstPointer;
typedef ConstWeakPointer
typedef itk::WeakPointer<const Self> shapeworks::ParticleNeighborhood::ConstWeakPointer;
typedef PointType
typedef itk::Point<double, VDimension> shapeworks::ParticleNeighborhood::PointType;
Point type used to store particle locations.
using DomainType
using shapeworks::ParticleNeighborhood::DomainType =  shapeworks::ParticleDomain;
Domain type. The Domain object provides bounds and distance information.
typedef PointContainerType
typedef GenericContainer<PointType> shapeworks::ParticleNeighborhood::PointContainerType;
Container type for points. This matches the itkParticleSystem container type.
typedef PointVectorType
typedef std::vector<ParticlePointIndexPair> shapeworks::ParticleNeighborhood::PointVectorType;
Point list (vector) type. This is the type of list returned by FindNeighborhoodPoints.
Public Functions Documentation
function itkNewMacro
itkNewMacro(
    Self 
)
Method for creation through the object factory.
function itkTypeMacro
itkTypeMacro(
    ParticleNeighborhood ,
    DataObject 
)
Run-time type information (and related methods).
function itkStaticConstMacro
itkStaticConstMacro(
    Dimension ,
    unsigned int ,
    VDimension 
)
Dimensionality of the domain of the particle system.
function itkSetObjectMacro
itkSetObjectMacro(
    PointContainer ,
    PointContainerType 
)
Set/Get the point container. These are the points parsed by the Neighborhood class when FindNeighborhoodPoints is called.
function itkGetConstObjectMacro
itkGetConstObjectMacro(
    PointContainer ,
    PointContainerType 
)
function FindNeighborhoodPoints
inline virtual PointVectorType FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    double 
) const
Reimplemented by: shapeworks::ParticleRegionNeighborhood::FindNeighborhoodPoints
Compile a list of points that are within a specified radius of a given point. The default implementation will throw an exception.
function FindNeighborhoodPoints
inline virtual PointVectorType FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    std::vector< double > & ,
    double 
) const
Reimplemented by: shapeworks::ParticleSurfaceNeighborhood::FindNeighborhoodPoints
This method finds neighborhood points as in the previous method, but also computes a vector of weights associated with each of those points.
function FindNeighborhoodPoints
inline virtual PointVectorType FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    std::vector< double > & ,
    std::vector< double > & ,
    double 
) const
Reimplemented by: shapeworks::ParticleSurfaceNeighborhood::FindNeighborhoodPoints
This method finds neighborhood points as in the previous method, but also computes a vector of distances associated with each of those points.
function FindNeighborhoodPoints
inline virtual unsigned int FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    double ,
    PointVectorType & 
) const
function SetDomain
inline virtual void SetDomain(
    DomainType::Pointer domain
)
Reimplemented by: shapeworks::ParticleRegionNeighborhood::SetDomain
Set the Domain that this neighborhood will use. The Domain object is important because it defines bounds and distance measures.
function GetDomain
inline DomainType::Pointer GetDomain() const
function AddPosition
inline virtual void AddPosition(
    const PointType & p,
    unsigned int idx,
    int threadId =0
)
Reimplemented by: shapeworks::ParticleRegionNeighborhood::AddPosition
For efficiency, itkNeighborhoods are not necessarily observers of itkParticleSystem, but have specific methods invoked for various events. AddPosition is called by itkParticleSystem when a particle location is added. SetPosition is called when a particle location is set. RemovePosition is called when a particle location is removed.
function SetPosition
inline virtual void SetPosition(
    const PointType & p,
    unsigned int idx,
    int threadId =0
)
Reimplemented by: shapeworks::ParticleRegionNeighborhood::SetPosition
function RemovePosition
inline virtual void RemovePosition(
    unsigned int idx,
    int threadId =0
)
Reimplemented by: shapeworks::ParticleRegionNeighborhood::RemovePosition
Protected Functions Documentation
function ParticleNeighborhood
inline ParticleNeighborhood()
function PrintSelf
inline void PrintSelf(
    std::ostream & os,
    itk::Indent indent
) const
function ~ParticleNeighborhood
inline virtual ~ParticleNeighborhood()
Public Attributes Documentation
variable VDimension
static constexpr static unsigned int VDimension = 3;
Updated on 2024-03-17 at 12:58:44 -0600