KrisLibrary  1.0.0
MarchingCubes.h
Go to the documentation of this file.
1 #ifndef MESHING_MARCHING_CUBES_H
2 #define MESHING_MARCHING_CUBES_H
3 
4 #include "TriMesh.h"
5 #include <KrisLibrary/structs/array3d.h>
6 
13 namespace Math {
14  class ScalarFieldFunction;
15 } //namespace Math
16 
17 namespace Meshing {
18 
21 
23 void MarchingCubes(ScalarFieldFunction& f,Real isoval,const AABB3D& bb,const int dims[3],TriMesh& m);
24 
26 void MarchingCubes(Real (*f)(Real,Real,Real),Real isoval,const AABB3D& bb,const int dims[3],TriMesh& m);
27 
33 template <class T>
34 void MarchingCubes(const Array3D<T>& input,T isoval,const AABB3D& bb,TriMesh& m);
35 
40 void CubeToMesh(const Real vals[8],Real isoval,const AABB3D& bb,TriMesh& m);
41 
44 } //namespace Meshing
45 
46 #endif
The namespace for all classes/functions in the Meshing package.
Definition: AnyGeometry.h:10
void MarchingCubes(ScalarFieldFunction &input, Real isoLevel, const AABB3D &bb, const int dims[3], TriMesh &m)
Takes a 3D function as input, meshes the isosurface at f(x)=isoval.
Definition: MarchingCubes.cpp:377
void CubeToMesh(const Real origvals[8], Real isoLevel, const AABB3D &bb, TriMesh &m)
Definition: MarchingCubes.cpp:850
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
A three-dimensional m x n x parray.
Definition: array3d.h:31