14#include <lagrange/SurfaceMesh.h>
17#include <lagrange/utils/warnoff.h>
18#include <geometrycentral/surface/vertex_position_geometry.h>
19#include <geometrycentral/surface/surface_point.h>
20#include <lagrange/utils/warnon.h>
25namespace lagrange::geodesic::gc {
27using gcSurfaceMesh = geometrycentral::surface::SurfaceMesh;
28using gcGeometry = geometrycentral::surface::VertexPositionGeometry;
29using gcSurfacePoint = geometrycentral::surface::SurfacePoint;
31template <
typename Scalar,
typename Index>
32std::tuple<std::unique_ptr<gcSurfaceMesh>, std::unique_ptr<gcGeometry>> extract_gc_mesh(
33 SurfaceMesh<Scalar, Index>& mesh)
37 auto gc_mesh = std::make_unique<gcSurfaceMesh>(facets);
38 auto gc_geom = std::make_unique<gcGeometry>(*gc_mesh, vertices);
39 return std::make_tuple(std::move(gc_mesh), std::move(gc_geom));
ConstRowMatrixView< Scalar > vertex_view(const SurfaceMesh< Scalar, Index > &mesh)
Returns a read-only view of the mesh vertices in the form of an Eigen matrix.
Definition views.cpp:156
ConstRowMatrixView< Index > facet_view(const SurfaceMesh< Scalar, Index > &mesh)
Returns a read-only view of a mesh facets in the form of an Eigen matrix.
Definition views.cpp:170