Lagrange
Loading...
Searching...
No Matches
GeodesicEngineHeat< Scalar, Index > Class Template Reference

Computes surface geodesics using the heat method. More...

#include <lagrange/geodesic/GeodesicEngineHeat.h>

Inheritance diagram for GeodesicEngineHeat< Scalar, Index >:
GeodesicEngine< Scalar, Index >

Classes

struct  Impl
 

Public Types

using Super = GeodesicEngine<Scalar, Index>
 Parent class type.
 
using Mesh = typename Super::Mesh
 The mesh type.
 
- Public Types inherited from GeodesicEngine< Scalar, Index >
using Mesh = SurfaceMesh<Scalar, Index>
 The mesh type.
 

Public Member Functions

 GeodesicEngineHeat (Mesh &mesh)
 Precompute any data required for repeated geodesic distance computation.
 
 GeodesicEngineHeat (GeodesicEngineHeat &&)
 
GeodesicEngineHeatoperator= (GeodesicEngineHeat &&)
 
 GeodesicEngineHeat (const GeodesicEngineHeat &)=delete
 
GeodesicEngineHeatoperator= (const GeodesicEngineHeat &)=delete
 
SingleSourceGeodesicResult single_source_geodesic (const SingleSourceGeodesicOptions &options) override
 Compute single source geodesic distances using the heat method.
 
- Public Member Functions inherited from GeodesicEngine< Scalar, Index >
 GeodesicEngine (Mesh &mesh)
 Base class constructor.
 
virtual ~GeodesicEngine ()=default
 Base class destructor.
 
virtual Scalar point_to_point_geodesic (const PointToPointGeodesicOptions &options)
 Computes the geodesic distance between two points on the mesh.
 

Protected Attributes

lagrange::value_ptr< Implm_impl
 

Additional Inherited Members

- Protected Member Functions inherited from GeodesicEngine< Scalar, Index >
const Meshmesh () const
 
Meshmesh ()
 

Detailed Description

template<typename Scalar, typename Index>
class lagrange::geodesic::GeodesicEngineHeat< Scalar, Index >

Computes surface geodesics using the heat method.

The heat method offers fast geodesic computation for all points on the mesh, at the expense of some accuracy compared to exact methods.

Template Parameters
ScalarMesh scalar type.
IndexMesh index type.

Constructor & Destructor Documentation

◆ GeodesicEngineHeat()

template<typename Scalar, typename Index>
GeodesicEngineHeat ( Mesh & mesh)
explicit

Precompute any data required for repeated geodesic distance computation.

Parameters
meshReference to the input mesh.

Member Function Documentation

◆ single_source_geodesic()

template<typename Scalar, typename Index>
SingleSourceGeodesicResult single_source_geodesic ( const SingleSourceGeodesicOptions & options)
overridevirtual

Compute single source geodesic distances using the heat method.

This function only computes a distance, and does not compute polar angles. It is based on the following paper:

  • Crane, Keenan, Clarisse Weischedel, and Max Wardetzky. "Geodesics in heat: A new approach to computing distance based on heat flow." ACM Transactions on Graphics (TOG) 32.5 (2013): 1-11.
Parameters
optionsThe options for the computation.
Returns
The attribute ids of the geodesic distance (id for polar angle will be invalid).

Implements GeodesicEngine< Scalar, Index >.


The documentation for this class was generated from the following files: