8#ifndef IGL_COPYLEFT_MARCHINGCUBES_H
9#define IGL_COPYLEFT_MARCHINGCUBES_H
10#include "../igl_inline.h"
39 template <
typename DerivedValues,
typename DerivedPo
ints,
typename DerivedVertices,
typename DerivedFaces>
41 const Eigen::MatrixBase<DerivedValues> &values,
42 const Eigen::MatrixBase<DerivedPoints> &points,
46 const double isovalue,
47 Eigen::PlainObjectBase<DerivedVertices> &vertices,
48 Eigen::PlainObjectBase<DerivedFaces> &faces);
51 template <
typename DerivedValues,
typename DerivedPo
ints,
typename DerivedVertices,
typename DerivedFaces>
53 const Eigen::MatrixBase<DerivedValues> &values,
54 const Eigen::MatrixBase<DerivedPoints> &points,
58 Eigen::PlainObjectBase<DerivedVertices> &vertices,
59 Eigen::PlainObjectBase<DerivedFaces> &faces);
63 typename DerivedValue,
64 typename DerivedPoint,
65 typename DerivedPoints,
66 typename DerivedVertices,
67 typename DerivedFaces>
69 const std::function< DerivedValue(
const DerivedPoint & ) > & value_fun,
70 const Eigen::MatrixBase<DerivedPoints> &points,
74 const double isovalue,
75 Eigen::PlainObjectBase<DerivedVertices> &vertices,
76 Eigen::PlainObjectBase<DerivedFaces> &faces);
94 template <
typename DerivedValues,
typename DerivedPo
ints,
typename DerivedVertices,
typename DerivedIndices,
typename DerivedFaces>
96 const Eigen::MatrixBase<DerivedValues> &values,
97 const Eigen::MatrixBase<DerivedPoints> &points,
98 const Eigen::MatrixBase<DerivedIndices> &indices,
99 const double isovalue,
100 Eigen::PlainObjectBase<DerivedVertices> &vertices,
101 Eigen::PlainObjectBase<DerivedFaces> &faces);
104 template <
typename DerivedValues,
typename DerivedPo
ints,
typename DerivedVertices,
typename DerivedIndices,
typename DerivedFaces>
106 const Eigen::MatrixBase<DerivedValues> &values,
107 const Eigen::MatrixBase<DerivedPoints> &points,
108 const Eigen::MatrixBase<DerivedIndices> &indices,
109 Eigen::PlainObjectBase<DerivedVertices> &vertices,
110 Eigen::PlainObjectBase<DerivedFaces> &faces);
114#ifndef IGL_STATIC_LIBRARY
115# include "marching_cubes.cpp"
#define IGL_INLINE
Definition igl_inline.h:15
void marching_cubes(const Eigen::MatrixBase< DerivedValues > &values, const Eigen::MatrixBase< DerivedPoints > &points, const unsigned x_res, const unsigned y_res, const unsigned z_res, const double isovalue, Eigen::PlainObjectBase< DerivedVertices > &vertices, Eigen::PlainObjectBase< DerivedFaces > &faces)
Performs marching cubes reconstruction on a grid defined by values, and points, and generates a mesh ...