Skip to content

shapeworks::Surface

Public Types

Name
using ParticleDomain::PointType PointType
using ParticleDomain::GradNType GradNType
using vnl_vector_fixed< float, 3 > NormalType
using vnl_vector_fixed< double, 3 > VectorType

Public Functions

Name
Surface(vtkSmartPointer< vtkPolyData > mesh, bool geodesics_enabled =false, size_t geodesics_cache_multiplier_size =0)
~Surface() =default
double compute_distance(const PointType & pointa, int idxa, const PointType & pointb, int idxb, VectorType * out_grad =nullptr) const
bool is_within_distance(const PointType & pointa, int idxa, const PointType & pointb, int idxb, double test_dist, double & dist) const
PointType geodesic_walk(PointType p, int idx, VectorType vector) const
VectorType project_vector_to_surface_tangent(const PointType & pointa, int idx, VectorType & vector) const
NormalType sample_normal_at_point(PointType p, int idx =-1) const
GradNType sample_gradient_normal_at_point(PointType p, int idx) const
PointType snap_to_mesh(PointType pointa, int idx) const
PointType get_point_on_mesh() const
const PointType & get_mesh_lower_bound() const
const PointType & get_mesh_upper_bound() const
virtual void invalidate_particle(int idx)
vtkSmartPointer< vtkPolyData > get_polydata() const
bool is_geodesics_enabled() const

Public Types Documentation

using PointType

cpp using shapeworks::Surface::PointType = ParticleDomain::PointType;

using GradNType

cpp using shapeworks::Surface::GradNType = ParticleDomain::GradNType;

using NormalType

cpp using shapeworks::Surface::NormalType = vnl_vector_fixed<float, 3>;

using VectorType

cpp using shapeworks::Surface::VectorType = vnl_vector_fixed<double, 3>;

Public Functions Documentation

function Surface

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

function ~Surface

cpp ~Surface() =default

function compute_distance

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

function is_within_distance

cpp bool is_within_distance( const PointType & pointa, int idxa, const PointType & pointb, int idxb, double test_dist, double & dist ) const

function geodesic_walk

cpp PointType geodesic_walk( PointType p, int idx, VectorType vector ) const

function project_vector_to_surface_tangent

cpp VectorType project_vector_to_surface_tangent( const PointType & pointa, int idx, VectorType & vector ) const

function sample_normal_at_point

cpp NormalType sample_normal_at_point( PointType p, int idx =-1 ) const

function sample_gradient_normal_at_point

cpp GradNType sample_gradient_normal_at_point( PointType p, int idx ) const

function snap_to_mesh

cpp PointType snap_to_mesh( PointType pointa, int idx ) const

function get_point_on_mesh

cpp PointType get_point_on_mesh() const

function get_mesh_lower_bound

cpp inline const PointType & get_mesh_lower_bound() const

function get_mesh_upper_bound

cpp inline const PointType & get_mesh_upper_bound() const

function invalidate_particle

cpp virtual void invalidate_particle( int idx )

function get_polydata

cpp inline vtkSmartPointer< vtkPolyData > get_polydata() const

function is_geodesics_enabled

cpp inline bool is_geodesics_enabled() const


Updated on 2026-03-31 at 16:02:10 +0000