18#include <lagrange/MeshGeometry.h>
19#include <lagrange/common.h>
20#include <lagrange/utils/safe_cast.h>
24template <
typename _VertexArray,
typename _FacetArray>
29 using VertexArray =
typename Parent::VertexArray;
30 using FacetArray =
typename Parent::FacetArray;
31 using VertexType =
typename Parent::VertexType;
32 using Scalar =
typename Parent::Scalar;
33 using Index =
typename Parent::Index;
38 : m_vertices(vertices)
44 virtual Index get_dim()
const override {
return safe_cast<Index>(m_vertices.cols()); }
46 virtual Index get_num_vertices()
const override {
return safe_cast<Index>(m_vertices.rows()); }
48 virtual Index get_num_facets()
const override {
return safe_cast<Index>(m_facets.rows()); }
50 virtual Index get_vertex_per_facet()
const override
52 return safe_cast<Index>(m_facets.cols());
55 virtual const VertexArray& get_vertices()
const override {
return m_vertices; }
57 virtual const FacetArray& get_facets()
const override {
return m_facets; }
59 virtual VertexArray& get_vertices_ref()
override
63 throw std::runtime_error(
"ActingMeshGeometry does not support import/export!");
66 virtual FacetArray& get_facets_ref()
override
70 throw std::runtime_error(
"ActingMeshGeometry does not support import/export!");
74 const VertexArray& m_vertices;
75 const FacetArray& m_facets;
Definition: ActingMeshGeometry.h:26
Definition: MeshGeometry.h:25
Main namespace for Lagrange.
Definition: AABBIGL.h:30