24 inline Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>
const>
25 vertexMap(Mesh<T>
const &mesh) {
26 return mesh.withUnsafeVertexPointer([&mesh](
auto const *ptr) {
27 return Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>
const>{
28 ptr, 3, gsl::narrow_cast<Eigen::Index>(mesh.vertexCount())};
33 inline Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>>
34 vertexMap(Mesh<T> &mesh) {
35 return mesh.withUnsafeVertexPointer([&mesh](
auto *ptr) {
36 return Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>>{
37 ptr, 3, gsl::narrow_cast<Eigen::Index>(mesh.vertexCount())};
42 inline Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>
const>
43 vertexNormalMap(Mesh<T>
const &mesh) {
44 return mesh.withUnsafeVertexNormalPointer([&mesh](
auto const *ptr) {
45 return Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>
const>{
46 ptr, 3, gsl::narrow_cast<Eigen::Index>(mesh.vertexCount())};
51 inline Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>>
52 vertexNormalMap(Mesh<T> &mesh) {
53 return mesh.withUnsafeVertexNormalPointer([&mesh](
auto *ptr) {
54 return Eigen::Map<Eigen::Matrix<T, 3, Eigen::Dynamic>>{
55 ptr, 3, gsl::narrow_cast<Eigen::Index>(mesh.vertexCount())};
61 Eigen::Matrix<typename Mesh<T>::Index, 3, Eigen::Dynamic>
const>
62 indexMap(Mesh<T>
const &mesh) {
64 return mesh.withUnsafeIndexPointer([&mesh](
auto const *ptr) {
65 return Eigen::Map<Eigen::Matrix<S, 3, Eigen::Dynamic>
const>{
66 ptr, 3, gsl::narrow_cast<Eigen::Index>(mesh.triangleCount())};
71 inline Eigen::Map<Eigen::Matrix<typename Mesh<T>::Index, 3, Eigen::Dynamic>>
72 indexMap(Mesh<T> &mesh) {
74 return mesh.withUnsafeIndexPointer([&mesh](
auto *ptr) {
75 return Eigen::Map<Eigen::Matrix<S, 3, Eigen::Dynamic>>{
76 ptr, 3, gsl::narrow_cast<Eigen::Index>(mesh.triangleCount())};
82 Eigen::Matrix<typename Mesh<T>::Label, Eigen::Dynamic, 1>
const>
83 labelMap(Mesh<T>
const &mesh) {
85 return mesh.withUnsafeLabelPointer([&mesh](
auto const *ptr) {
86 return Eigen::Map<Eigen::Matrix<S, Eigen::Dynamic, 1>
const>{
87 ptr, gsl::narrow_cast<Eigen::Index>(mesh.vertexCount())};
92 inline Eigen::Map<Eigen::Matrix<typename Mesh<T>::Label, Eigen::Dynamic, 1>>
93 labelMap(Mesh<T> &mesh) {
95 return mesh.withUnsafeLabelPointer([&mesh](
auto *ptr) {
96 return Eigen::Map<Eigen::Matrix<S, Eigen::Dynamic, 1>>{
97 ptr, gsl::narrow_cast<Eigen::Index>(mesh.vertexCount())};
Name namespace for CortidQCT library.
Definition: CortidQCT.h:23
std::ptrdiff_t Index
Index type.
Definition: Mesh.h:45
Include file defining the Mesh data type.
unsigned int Label
Label type.
Definition: Mesh.h:51