Computes surface geodesics using the Discrete Geodesic Polar Coordinates (DGPC) method.
More...
template<typename
Scalar, typename Index>
class lagrange::geodesic::GeodesicEngineDGPC< Scalar, Index >
Computes surface geodesics using the Discrete Geodesic Polar Coordinates (DGPC) method.
DGPC is fast and relatively accurate near the source point, but accuracy degrades with distance from the source.
- Template Parameters
-
| Scalar | Mesh scalar type. |
| Index | Mesh index type. |
template<typename
Scalar, typename Index>
Compute discrete geodesic polar coordinates for each vertex within the local neighborhood of seed point.
This function will create two new attributes in the mesh:
options.output_geodesic_attribute_name: The geodesic distance from the seed point to each vertex.
options.output_polar_angle_attribute_name: The geodesic polar coordinates of each vertex.
Together, they define a logarithmic map of the mesh around the seed point.
This function is roughly based on the following paper:
- Melvær, Eivind Lyche, and Martin Reimers. "Geodesic polar coordinates on polygonal meshes." Computer Graphics Forum. Vol. 31. No. 8. Oxford, UK: Blackwell Publishing Ltd, 2012.
- Parameters
-
| options | The options for the computation. |
- Returns
- The attribute ids of the geodesic distance and polar angle attributes.
Implements GeodesicEngine< Scalar, Index >.