Skip to content

shapeworks::VtkMeshWrapper

Inherits from shapeworks::MeshWrapper

Public Types

Name
using MeshWrapper::PointType PointType
using MeshWrapper::GradNType GradNType
using vnl_vector_fixed< float, DIMENSION > NormalType
using vnl_vector_fixed< double, DIMENSION > VectorType

Public Functions

Name
VtkMeshWrapper(vtkSmartPointer< vtkPolyData > mesh, bool geodesics_enabled =false, size_t geodesics_cache_multiplier_size =0)
~VtkMeshWrapper() =default
double ComputeDistance(const PointType & pointa, int idxa, const PointType & pointb, int idxb, VectorType * out_grad =nullptr) const override
virtual bool IsWithinDistance(const PointType & pointa, int idxa, const PointType & pointb, int idxb, double test_dist, double & dist) const override
virtual PointType GeodesicWalk(PointType p, int idx, VectorType vector) const override
virtual VectorType ProjectVectorToSurfaceTangent(const PointType & pointa, int idx, VectorType & vector) const override
virtual NormalType SampleNormalAtPoint(PointType p, int idx =-1) const override
virtual GradNType SampleGradNAtPoint(PointType p, int idx) const override
virtual PointType SnapToMesh(PointType pointa, int idx) const override
virtual PointType GetPointOnMesh() const override
virtual const PointType & GetMeshLowerBound() const override
virtual const PointType & GetMeshUpperBound() const override
virtual void InvalidateParticle(int idx) override
virtual vtkSmartPointer< vtkPolyData > GetPolydata() const override

Public Types Documentation

using PointType

using shapeworks::VtkMeshWrapper::PointType =  MeshWrapper::PointType;

using GradNType

using shapeworks::VtkMeshWrapper::GradNType =  MeshWrapper::GradNType;

using NormalType

using shapeworks::VtkMeshWrapper::NormalType =  vnl_vector_fixed<float, DIMENSION>;

using VectorType

using shapeworks::VtkMeshWrapper::VectorType =  vnl_vector_fixed<double, DIMENSION>;

Public Functions Documentation

function VtkMeshWrapper

explicit VtkMeshWrapper(
    vtkSmartPointer< vtkPolyData > mesh,
    bool geodesics_enabled =false,
    size_t geodesics_cache_multiplier_size =0
)

function ~VtkMeshWrapper

~VtkMeshWrapper() =default

function ComputeDistance

double ComputeDistance(
    const PointType & pointa,
    int idxa,
    const PointType & pointb,
    int idxb,
    VectorType * out_grad =nullptr
) const override

function IsWithinDistance

virtual bool IsWithinDistance(
    const PointType & pointa,
    int idxa,
    const PointType & pointb,
    int idxb,
    double test_dist,
    double & dist
) const override

Reimplements: shapeworks::MeshWrapper::IsWithinDistance

function GeodesicWalk

virtual PointType GeodesicWalk(
    PointType p,
    int idx,
    VectorType vector
) const override

Reimplements: shapeworks::MeshWrapper::GeodesicWalk

function ProjectVectorToSurfaceTangent

virtual VectorType ProjectVectorToSurfaceTangent(
    const PointType & pointa,
    int idx,
    VectorType & vector
) const override

Reimplements: shapeworks::MeshWrapper::ProjectVectorToSurfaceTangent

function SampleNormalAtPoint

virtual NormalType SampleNormalAtPoint(
    PointType p,
    int idx =-1
) const override

Reimplements: shapeworks::MeshWrapper::SampleNormalAtPoint

function SampleGradNAtPoint

virtual GradNType SampleGradNAtPoint(
    PointType p,
    int idx
) const override

Reimplements: shapeworks::MeshWrapper::SampleGradNAtPoint

function SnapToMesh

virtual PointType SnapToMesh(
    PointType pointa,
    int idx
) const override

Reimplements: shapeworks::MeshWrapper::SnapToMesh

function GetPointOnMesh

virtual PointType GetPointOnMesh() const override

Reimplements: shapeworks::MeshWrapper::GetPointOnMesh

function GetMeshLowerBound

inline virtual const PointType & GetMeshLowerBound() const override

Reimplements: shapeworks::MeshWrapper::GetMeshLowerBound

function GetMeshUpperBound

inline virtual const PointType & GetMeshUpperBound() const override

Reimplements: shapeworks::MeshWrapper::GetMeshUpperBound

function InvalidateParticle

virtual void InvalidateParticle(
    int idx
) override

Reimplements: shapeworks::MeshWrapper::InvalidateParticle

function GetPolydata

inline virtual vtkSmartPointer< vtkPolyData > GetPolydata() const override

Reimplements: shapeworks::MeshWrapper::GetPolydata


Updated on 2022-07-23 at 16:40:07 -0600