shapeworks::ParticleRegionNeighborhood
#include <ParticleRegionNeighborhood.h>
Inherits from shapeworks::ParticleNeighborhood, itk::DataObject
Inherited by shapeworks::ParticleSurfaceNeighborhood
Protected Classes
| Name | |
|---|---|
| struct | IteratorNodePair | 
Public Types
| Name | |
|---|---|
| typedef ParticleRegionNeighborhood | Self | 
| typedef ParticleNeighborhood | Superclass | 
| typedef itk::SmartPointer< Self > | Pointer | 
| typedef itk::SmartPointer< const Self > | ConstPointer | 
| typedef itk::WeakPointer< const Self > | ConstWeakPointer | 
| using ParticleDomain | DomainType | 
| typedef Superclass::PointType | PointType | 
| typedef Superclass::PointContainerType | PointContainerType | 
| typedef Superclass::PointVectorType | PointVectorType | 
| typedef PowerOfTwoPointTree | PointTreeType | 
Protected Types
| Name | |
|---|---|
| typedef GenericContainer< IteratorNodePair > | IteratorMapType | 
Public Functions
| Name | |
|---|---|
| itkNewMacro(Self ) | |
| itkTypeMacro(ParticleRegionNeighborhood , ParticleNeighborhood ) | |
| itkStaticConstMacro(Dimension , unsigned int , VDimension ) | |
| virtual PointVectorType | FindNeighborhoodPoints(const PointType & , int idx, double ) const | 
| virtual void | set_domain(DomainType::Pointer p) override | 
| itkSetMacro(TreeLevels , unsigned int ) | |
| itkGetMacro(TreeLevels , unsigned int ) | |
| void | PrintSelf(std::ostream & os, itk::Indent indent) 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 | |
|---|---|
| ParticleRegionNeighborhood() | |
| virtual | ~ParticleRegionNeighborhood() | 
Public Attributes
| Name | |
|---|---|
| constexpr static unsigned int | VDimension | 
Protected Attributes
| Name | |
|---|---|
| PointTreeType::Pointer | m_Tree | 
| IteratorMapType::Pointer | m_IteratorMap | 
| unsigned int | m_TreeLevels | 
Additional inherited members
Public Functions inherited from shapeworks::ParticleNeighborhood
| Name | |
|---|---|
| itkSetObjectMacro(PointContainer , PointContainerType ) | |
| itkGetConstObjectMacro(PointContainer , PointContainerType ) | |
| DomainType::Pointer | get_domain() const | 
Protected Functions inherited from shapeworks::ParticleNeighborhood
| Name | |
|---|---|
| ParticleNeighborhood() | |
| virtual | ~ParticleNeighborhood() | 
Detailed Description
class shapeworks::ParticleRegionNeighborhood;
ParticleRegionNeighborhood is a general purpose neighborhood object that computes neighborhoods based on distance from a point. It requires a domain that provides bounds information and a distance metric. This class uses a PowerOfTwoPointTree to cache point and index values so that FindNeighborhoodPoints is somewhat optimized.
Public Types Documentation
typedef Self
typedef ParticleRegionNeighborhood shapeworks::ParticleRegionNeighborhood::Self;
Standard class typedefs
typedef Superclass
typedef ParticleNeighborhood shapeworks::ParticleRegionNeighborhood::Superclass;
typedef Pointer
typedef itk::SmartPointer<Self> shapeworks::ParticleRegionNeighborhood::Pointer;
typedef ConstPointer
typedef itk::SmartPointer<const Self> shapeworks::ParticleRegionNeighborhood::ConstPointer;
typedef ConstWeakPointer
typedef itk::WeakPointer<const Self> shapeworks::ParticleRegionNeighborhood::ConstWeakPointer;
using DomainType
using shapeworks::ParticleRegionNeighborhood::DomainType =  ParticleDomain;
typedef PointType
typedef Superclass::PointType shapeworks::ParticleRegionNeighborhood::PointType;
Inherited typedefs from parent class.
typedef PointContainerType
typedef Superclass::PointContainerType shapeworks::ParticleRegionNeighborhood::PointContainerType;
typedef PointVectorType
typedef Superclass::PointVectorType shapeworks::ParticleRegionNeighborhood::PointVectorType;
typedef PointTreeType
typedef PowerOfTwoPointTree shapeworks::ParticleRegionNeighborhood::PointTreeType;
PowerOfTwoTree type used to sort points according to location.
Protected Types Documentation
typedef IteratorMapType
typedef GenericContainer<IteratorNodePair> shapeworks::ParticleRegionNeighborhood::IteratorMapType;
Public Functions Documentation
function itkNewMacro
itkNewMacro(
    Self 
)
Method for creation through the object factory.
function itkTypeMacro
itkTypeMacro(
    ParticleRegionNeighborhood ,
    ParticleNeighborhood 
)
Run-time type information (and related methods).
function itkStaticConstMacro
itkStaticConstMacro(
    Dimension ,
    unsigned int ,
    VDimension 
)
Dimensionality of the domain of the particle system.
function FindNeighborhoodPoints
virtual PointVectorType FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    double 
) const
Reimplements: shapeworks::ParticleNeighborhood::FindNeighborhoodPoints
Compile a list of points that are within a specified radius of a given point. This implementation uses a PowerOfTwoTree to sort points according to location.
function set_domain
virtual void set_domain(
    DomainType::Pointer p
) override
Reimplements: shapeworks::ParticleNeighborhood::set_domain
Override set_domain so that we can grab the region extent info and construct our tree.
function itkSetMacro
itkSetMacro(
    TreeLevels ,
    unsigned int 
)
Set/Get the number of levels in the sorting tree.
function itkGetMacro
itkGetMacro(
    TreeLevels ,
    unsigned int 
)
function PrintSelf
inline void PrintSelf(
    std::ostream & os,
    itk::Indent indent
) const
function AddPosition
virtual void AddPosition(
    const PointType & p,
    unsigned int idx,
    int threadId =0
)
Reimplements: shapeworks::ParticleNeighborhood::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
virtual void SetPosition(
    const PointType & p,
    unsigned int idx,
    int threadId =0
)
Reimplements: shapeworks::ParticleNeighborhood::SetPosition
function RemovePosition
virtual void RemovePosition(
    unsigned int idx,
    int threadId =0
)
Reimplements: shapeworks::ParticleNeighborhood::RemovePosition
Protected Functions Documentation
function ParticleRegionNeighborhood
inline ParticleRegionNeighborhood()
function ~ParticleRegionNeighborhood
inline virtual ~ParticleRegionNeighborhood()
Public Attributes Documentation
variable VDimension
static constexpr static unsigned int VDimension = 3;
Protected Attributes Documentation
variable m_Tree
PointTreeType::Pointer m_Tree;
variable m_IteratorMap
IteratorMapType::Pointer m_IteratorMap;
variable m_TreeLevels
unsigned int m_TreeLevels;
Updated on 2024-03-17 at 12:58:44 -0600