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) 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

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
) 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


Updated on 2022-03-31 at 09:51:19 -0600