Skip to content

shapeworks::ParticleRegionDomain

Inherits from shapeworks::ParticleDomain

Inherited by shapeworks::ParticleImageDomain< T >

Public Types

Name
using std::shared_ptr< ParticleRegionDomain > Pointer
typedef ParticleDomain::PointType PointType

Public Functions

Name
virtual bool ApplyConstraints(PointType & p) const
virtual const PointType & GetUpperBound() const
virtual const PointType & GetLowerBound() const
void SetUpperBound(const PointType _UpperBound)
void SetLowerBound(const PointType _LowerBound)
void SetRegion(const PointType & lowerBound, const PointType & upperBound)

Protected Functions

Name
ParticleRegionDomain()
virtual ~ParticleRegionDomain()
void PrintSelf(std::ostream & os, itk::Indent indent) const
bool IsInsideBuffer(const PointType & p) const

Additional inherited members

Public Types inherited from shapeworks::ParticleDomain

Name
using vnl_matrix_fixed< float, 3, 3 > GradNType
using vnl_vector_fixed< double, 3 > VectorDoubleType
using vnl_vector_fixed< float, 3 > VectorFloatType

Public Functions inherited from shapeworks::ParticleDomain

Name
virtual PointType UpdateParticlePosition(const PointType & point, int idx, VectorDoubleType & update) const =0
virtual void InvalidateParticlePosition(int idx) const
virtual VectorDoubleType ProjectVectorToSurfaceTangent(VectorDoubleType & gradE, const PointType & pos, int idx) const =0
virtual VectorFloatType SampleGradientAtPoint(const PointType & point, int idx) const =0
virtual VectorFloatType SampleNormalAtPoint(const PointType & point, int idx) const =0
virtual GradNType SampleGradNAtPoint(const PointType & p, int idx) const =0
virtual double Distance(const PointType & a, int idx_a, const PointType & b, int idx_b, VectorDoubleType * out_grad =nullptr) const
virtual double SquaredDistance(const PointType & a, int idx_a, const PointType & b, int idx_b) const
virtual bool IsWithinDistance(const PointType & a, int idx_a, const PointType & b, int idx_b, double test_dist, double & distance) const
virtual double GetCurvature(const PointType & p, int idx) const =0
virtual double GetSurfaceMeanCurvature() const =0
virtual double GetSurfaceStdDevCurvature() const =0
virtual PointType GetZeroCrossingPoint() const =0
virtual double GetSurfaceArea() const =0
virtual PointType GetValidLocationNear(PointType p) const =0
virtual double GetMaxDiameter() const =0
virtual void DeleteImages() =0
virtual void DeletePartialDerivativeImages() =0
virtual void UpdateZeroCrossingPoint() =0
bool IsDomainFixed() const
virtual shapeworks::DomainType GetDomainType() const =0
std::shared_ptr< shapeworks::Constraints > GetConstraints() const
virtual PointType GetPositionAfterSplit(const PointType & pt, const VectorDoubleType & local_direction, const VectorDoubleType & global_direction, double epsilon) const
void SetDomainID(int id)
void SetDomainName(std::string name)

Protected Functions inherited from shapeworks::ParticleDomain

Name
ParticleDomain()
virtual ~ParticleDomain()

Protected Attributes inherited from shapeworks::ParticleDomain

Name
bool m_FixedDomain
int m_DomainID
std::string m_DomainName
std::shared_ptr< shapeworks::Constraints > constraints

Public Types Documentation

using Pointer

using shapeworks::ParticleRegionDomain::Pointer =  std::shared_ptr<ParticleRegionDomain>;

Standard class typedefs

typedef PointType

typedef ParticleDomain::PointType shapeworks::ParticleRegionDomain::PointType;

Point type used to store particle locations.

Public Functions Documentation

function ApplyConstraints

inline virtual bool ApplyConstraints(
    PointType & p
) const

Apply any constraints to the given point location. This method may, for example, implement boundary conditions or restrict points to lie on a surface. This function will clip the point to the boundaries.

function GetUpperBound

inline virtual const PointType & GetUpperBound() const

Reimplements: shapeworks::ParticleDomain::GetUpperBound

Gets the maximum x, y, z values of the bounding box for the domain. This is used for setting up the PowerOfTwoPointTree.

function GetLowerBound

inline virtual const PointType & GetLowerBound() const

Reimplements: shapeworks::ParticleDomain::GetLowerBound

Gets the minimum x, y, z values of the bounding box for the domain. This is used for setting up the PowerOfTwoPointTree.

function SetUpperBound

inline void SetUpperBound(
    const PointType _UpperBound
)

function SetLowerBound

inline void SetLowerBound(
    const PointType _LowerBound
)

function SetRegion

inline void SetRegion(
    const PointType & lowerBound,
    const PointType & upperBound
)

Protected Functions Documentation

function ParticleRegionDomain

inline ParticleRegionDomain()

function ~ParticleRegionDomain

inline virtual ~ParticleRegionDomain()

function PrintSelf

inline void PrintSelf(
    std::ostream & os,
    itk::Indent indent
) const

function IsInsideBuffer

inline bool IsInsideBuffer(
    const PointType & p
) const

Check whether the point p may be sampled in this domain.


Updated on 2022-07-23 at 17:50:03 -0600