Skip to content

shapeworks::TriMeshWrapper

Inherits from shapeworks::MeshWrapper

Public Types

Name
typedef MeshWrapper::PointType PointType
typedef MeshWrapper::GradNType GradNType

Public Functions

Name
TriMeshWrapper(std::shared_ptr< trimesh::TriMesh > mesh)
~TriMeshWrapper() =default
virtual double ComputeDistance(const PointType & pointa, int idx_a, const PointType & pointb, int idx_b, vnl_vector_fixed< double, 3 > * out_grad) const override
virtual PointType GeodesicWalk(PointType pointa, int idx, vnl_vector_fixed< double, DIMENSION > vector) const override
virtual vnl_vector_fixed< double, DIMENSION > ProjectVectorToSurfaceTangent(const PointType & pointa, int idx, vnl_vector_fixed< double, DIMENSION > & vector) const override
virtual vnl_vector_fixed< float, DIMENSION > 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 bool IsGeodesicsEnabled() const override
virtual vtkSmartPointer< vtkPolyData > GetPolydata() const override

Additional inherited members

Public Functions inherited from shapeworks::MeshWrapper

Name
virtual bool IsWithinDistance(const PointType & a, int idx_a, const PointType & b, int idx_b, double test_dist, double & dist) const =0
virtual void InvalidateParticle(int idx)

Public Types Documentation

typedef PointType

typedef MeshWrapper::PointType shapeworks::TriMeshWrapper::PointType;

typedef GradNType

typedef MeshWrapper::GradNType shapeworks::TriMeshWrapper::GradNType;

Public Functions Documentation

function TriMeshWrapper

explicit TriMeshWrapper(
    std::shared_ptr< trimesh::TriMesh > mesh
)

function ~TriMeshWrapper

~TriMeshWrapper() =default

function ComputeDistance

virtual double ComputeDistance(
    const PointType & pointa,
    int idx_a,
    const PointType & pointb,
    int idx_b,
    vnl_vector_fixed< double, 3 > * out_grad
) const override

Reimplements: shapeworks::MeshWrapper::ComputeDistance

function GeodesicWalk

virtual PointType GeodesicWalk(
    PointType pointa,
    int idx,
    vnl_vector_fixed< double, DIMENSION > vector
) const override

Reimplements: shapeworks::MeshWrapper::GeodesicWalk

function ProjectVectorToSurfaceTangent

virtual vnl_vector_fixed< double, DIMENSION > ProjectVectorToSurfaceTangent(
    const PointType & pointa,
    int idx,
    vnl_vector_fixed< double, DIMENSION > & vector
) const override

Reimplements: shapeworks::MeshWrapper::ProjectVectorToSurfaceTangent

function SampleNormalAtPoint

virtual vnl_vector_fixed< float, DIMENSION > 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 IsGeodesicsEnabled

inline virtual bool IsGeodesicsEnabled() const override

Reimplements: shapeworks::MeshWrapper::IsGeodesicsEnabled

function GetPolydata

inline virtual vtkSmartPointer< vtkPolyData > GetPolydata() const override

Reimplements: shapeworks::MeshWrapper::GetPolydata


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