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