From 29e46cb2af5a925cff3fa13c7ed4d571f6ec8abe Mon Sep 17 00:00:00 2001 From: cnr-isti-vclab Date: Wed, 19 Jan 2005 15:37:11 +0000 Subject: [PATCH] simple project that make use of the MC and EMC algorithms --- apps/test/extractors/extractor/Definitions.h | 22 ++ apps/test/extractors/extractor/Implicit.h | 18 ++ .../extractors/extractor/ImplicitSphere.h | 95 +++++++ .../extractors/extractor/SphereDifference.h | 69 +++++ apps/test/extractors/extractor/SphereUnion.h | 84 ++++++ apps/test/extractors/extractor/Volume.h | 91 +++++++ apps/test/extractors/extractor/Walker.h | 242 ++++++++++++++++++ .../extractors/extractor/extractor.vcproj | 155 +++++++++++ apps/test/extractors/extractor/main.cpp | 33 +++ apps/test/extractors/extractors.ncb | Bin 0 -> 306176 bytes apps/test/extractors/extractors.sln | 21 ++ apps/test/extractors/extractors.suo | Bin 0 -> 10752 bytes 12 files changed, 830 insertions(+) create mode 100644 apps/test/extractors/extractor/Definitions.h create mode 100644 apps/test/extractors/extractor/Implicit.h create mode 100644 apps/test/extractors/extractor/ImplicitSphere.h create mode 100644 apps/test/extractors/extractor/SphereDifference.h create mode 100644 apps/test/extractors/extractor/SphereUnion.h create mode 100644 apps/test/extractors/extractor/Volume.h create mode 100644 apps/test/extractors/extractor/Walker.h create mode 100644 apps/test/extractors/extractor/extractor.vcproj create mode 100644 apps/test/extractors/extractor/main.cpp create mode 100644 apps/test/extractors/extractors.ncb create mode 100644 apps/test/extractors/extractors.sln create mode 100644 apps/test/extractors/extractors.suo diff --git a/apps/test/extractors/extractor/Definitions.h b/apps/test/extractors/extractor/Definitions.h new file mode 100644 index 00000000..9d00b649 --- /dev/null +++ b/apps/test/extractors/extractor/Definitions.h @@ -0,0 +1,22 @@ +#ifndef ___DEFINITIONS +#define ___DEFINITIONS + +#include +#include +#include +#include +#include + +typedef float ScalarType; + +class Edge; +class Face; +class Vertex : public vcg::VertexAFVMVN< ScalarType, Edge, Face > {}; +class Face : public vcg::FaceAFAVFN< Vertex, Edge, Face> {}; +class Mesh : public vcg::tri::TriMesh< std::vector< Vertex>, std::vector< Face > > {}; + +typedef vcg::tri::Allocator< Mesh > Allocator; +typedef vcg::Box3< int > BoundingBox; +typedef Vertex* VertexPointer; + +#endif //___DEFINITIONS \ No newline at end of file diff --git a/apps/test/extractors/extractor/Implicit.h b/apps/test/extractors/extractor/Implicit.h new file mode 100644 index 00000000..22be0483 --- /dev/null +++ b/apps/test/extractors/extractor/Implicit.h @@ -0,0 +1,18 @@ +#ifndef __EXTRS_IMPLICIT +#define __EXTRS_IMPLICIT + +#include + +class Implicit +{ +public: + Implicit() {}; + + virtual ~Implicit() {}; + + virtual float V(int x, int y, int z) const = 0; + + virtual vcg::Point3f N(float x, float y, float z) const = 0; +}; + +#endif // __EXTRS_IMPLICIT \ No newline at end of file diff --git a/apps/test/extractors/extractor/ImplicitSphere.h b/apps/test/extractors/extractor/ImplicitSphere.h new file mode 100644 index 00000000..f8435e32 --- /dev/null +++ b/apps/test/extractors/extractor/ImplicitSphere.h @@ -0,0 +1,95 @@ +#ifndef __VCGTEST_IMPLICITSPHERE +#define __VCGTEST_IMPLICITSPHERE + +class ImplicitSphere +{ +public: + ImplicitSphere() + { + _center.Zero(); + _radius = _sqr_radius = 0.0; + }; + + ImplicitSphere(vcg::Point3f ¢er, float radius) + { + _center = center; + _radius = radius; + _sqr_radius = radius*radius; + }; + + ImplicitSphere(const ImplicitSphere &sphere) + { + _center = sphere._center; + _radius = sphere._radius; + _sqr_radius = sphere._sqr_radius; + }; + + ImplicitSphere& operator=(const ImplicitSphere &sphere) + { + if (this != &sphere) + { + _center = sphere._center; + _radius = sphere._radius; + _sqr_radius = sphere._sqr_radius; + } + return *this; + }; + + ~ImplicitSphere() + {}; + + bool operator!=(const ImplicitSphere &sphere) + { + return (sphere._center!=_center && sphere._radius!=_radius); + }; + + + float V(int x, int y, int z) const + { + vcg::Point3f point((float) x, (float) y, (float) z); + return (_center-point).Norm() - _radius; + }; + + bool DirectedDistance(const vcg::Point3i &p1, const vcg::Point3i &p2, vcg::Point3f &v, vcg::Point3f &n, float &dist) + { + vcg::Point3f orig, dir; + orig.X() = (float) p1.X(); + orig.Y() = (float) p1.Y(); + orig.Z() = (float) p1.Z(); + dir.X() = (float) p2.X()-p1.X(); + dir.Y() = (float) p2.Y()-p1.Y(); + dir.Z() = (float) p2.Z()-p1.Z(); + + double a = dir.SquaredNorm(); + double b = 2.0*(dir*(orig - _center)); + double c = (orig - _center).SquaredNorm() - _radius*_radius; + double d = b*b - 4.0*a*c; + + if (d >= 0) + { + d = sqrt(d); + + double t1 = (-b-d) / (2.0*a); + double t2 = (-b+d) / (2.0*a); + double t = 1.00001; + if (t1 >= 0.0 && t1 < t) t = t1; + if (t2 >= 0.0 && t2 < t) t = t2; + + if (t != 1.00001) + { + v = (vcg::Point3f) (orig + dir*((float)t)); + n = (vcg::Point3f) ((v - _center) / _radius); + dist = (float) ((dir*n) < 0.0) ? dir.Norm()*t : -dir.Norm()*t; + return true; + } + } + return false; + }; + +private: + vcg::Point3f _center; + float _radius; + float _sqr_radius; +}; + +#endif // __VCGTEST_IMPLICITSPHERE \ No newline at end of file diff --git a/apps/test/extractors/extractor/SphereDifference.h b/apps/test/extractors/extractor/SphereDifference.h new file mode 100644 index 00000000..8a660a72 --- /dev/null +++ b/apps/test/extractors/extractor/SphereDifference.h @@ -0,0 +1,69 @@ +#ifndef __VCGTEST_SPHEREDIFFERENCE +#define __VCGTEST_SPHEREDIFFERENCE + +class SphereDifference +{ +public: + SphereDifference() + {} + + SphereDifference( const SphereDifference &sphere_difference) + { + _union = sphere_difference._union; + _sphere = sphere_difference._sphere; + } + + SphereDifference( const SphereUnion &sphere_union, const ImplicitSphere &sphere) + { + _union = sphere_union; + _sphere = sphere; + } + + float V(int x, int y, int z) + { + return vcg::math::Max(_union.V(x, y, z), -_sphere.V(x, y, z)); + } + + inline bool DirectedDistance(const vcg::Point3i p1, const vcg::Point3i p2, vcg::Point3f &p, vcg::Point3f &n, float &d) + { + vcg::Point3f v1, n1; + vcg::Point3f v2, n2; + float d1, d2; + + bool ok1 = _union.DirectedDistance(p1, p2, v1, n1, d1); + bool ok2 = _sphere.DirectedDistance(p1, p2, v2, n2, d2); + d2 = -d2; + + if (ok1 && ok2) + { + if (d1 > d2) + ok2 = false; + else + ok1 = false; + } + + if (ok1) + { + p = v1; + n = n1; + d = d1; + return true; + } + else if (ok2) + { + p = v2; + n = n2; + d = d2; + return true; + } + + return false; + } + + private: + SphereUnion _union; + ImplicitSphere _sphere; + +}; + +#endif // __VCGTEST_SPHEREDIFFERENCE \ No newline at end of file diff --git a/apps/test/extractors/extractor/SphereUnion.h b/apps/test/extractors/extractor/SphereUnion.h new file mode 100644 index 00000000..e1a79817 --- /dev/null +++ b/apps/test/extractors/extractor/SphereUnion.h @@ -0,0 +1,84 @@ +#ifndef __VCGTEST_SPHEREUNION +#define __VCGTEST_SPHEREUNION + +class SphereUnion +{ +public: + SphereUnion() + {}; + + SphereUnion(const ImplicitSphere &sphere1, const ImplicitSphere &sphere2) + { + _sphere1 = sphere1; + _sphere2 = sphere2; + }; + + SphereUnion(const SphereUnion &sphere_union) + { + _sphere1 = sphere_union._sphere1; + _sphere2 = sphere_union._sphere2; + } + + SphereUnion& operator=(const SphereUnion &sphere_union) + { + if (this != &sphere_union) + { + _sphere1 = sphere_union._sphere1; + _sphere2 = sphere_union._sphere2; + } + return *this; + } + + bool operator!=(const SphereUnion &sphere_union) + { + bool comp1 = _sphere1 != sphere_union._sphere1; + bool comp2 = _sphere2 != sphere_union._sphere2; + return (comp1 && comp2); + } + + float V(int x, int y, int z) + { + return vcg::math::Min(_sphere1.V(x, y, z), _sphere2.V(x, y, z)); + }; + + bool DirectedDistance(const vcg::Point3i &p1, const vcg::Point3i &p2, vcg::Point3f &v, vcg::Point3f &n, float &d) + { + vcg::Point3f v1, n1; + vcg::Point3f v2, n2; + float d1, d2; + + bool ok1 = _sphere1.DirectedDistance(p1, p2, v1, n1, d1); + bool ok2 = _sphere2.DirectedDistance(p1, p2, v2, n2, d2); + + if (ok1 && ok2) + { + if (d1 < d2) + ok2 = false; + else + ok1 = false; + } + + if (ok1) + { + v = v1; + n = n1; + d = d1; + return true; + } + else if (ok2) + { + v = v2; + n = n2; + d = d2; + return true; + } + else + return false; + }; + +private: + ImplicitSphere _sphere1; + ImplicitSphere _sphere2; +}; + +#endif // __VCGTEST_SPHEREUNION \ No newline at end of file diff --git a/apps/test/extractors/extractor/Volume.h b/apps/test/extractors/extractor/Volume.h new file mode 100644 index 00000000..f361d315 --- /dev/null +++ b/apps/test/extractors/extractor/Volume.h @@ -0,0 +1,91 @@ +#ifndef __VCGTEST_VOLUME +#define __VCGTEST_VOLUME + +#include "ImplicitSphere.h" +#include "SphereUnion.h" +#include "SphereDifference.h" + +class Volume +{ +public: + Volume() + { + ImplicitSphere s1(vcg::Point3f(-5.0, 0.0, 0.0), 10.0); + ImplicitSphere s2(vcg::Point3f( 5.0, 5.0, 3.0), 7.0); + ImplicitSphere s3(vcg::Point3f( 1.0, 0.0, 10.0), 6.0); + SphereUnion sphere_union(s1, s2); + SphereDifference sphere_difference(sphere_union, s3); + _sphere_diff = sphere_difference; + } + + float V(const int pi, const int pj, const int pk) + { + return _sphere_diff.V(pi, pj, pk); + } + + void GetXIntercept(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + vcg::Point3f p, n; + float d; + if (_sphere_diff.DirectedDistance(p1, p2, p, n, d)) + { + v->P() = p; + v->N() = n; + } + else + { + float f1 = V(p1.X(), p1.Y(), p1.Z()); + float f2 = V(p2.X(), p2.Y(), p2.Z()); + float u = (float) f1/(f1-f2); + v->P().X() = (float) p1.X()*(1-u) + u*p2.X(); + v->P().Y() = (float) p1.Y(); + v->P().Z() = (float) p1.Z(); + + } + } + void GetYIntercept(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + vcg::Point3f p, n; + float d; + if (_sphere_diff.DirectedDistance(p1, p2, p, n, d)) + { + v->P() = p; + v->N() = n; + } + else + { + float f1 = V(p1.X(), p1.Y(), p1.Z()); + float f2 = V(p2.X(), p2.Y(), p2.Z()); + float u = (float) f1/(f1-f2); + v->P().X() = (float) p1.X(); + v->P().Y() = (float) p1.Y()*(1-u) + u*p2.Y(); + v->P().Z() = (float) p1.Z(); + + } + } + void GetZIntercept(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + vcg::Point3f p, n; + float d; + if (_sphere_diff.DirectedDistance(p1, p2, p, n, d)) + { + v->P() = p; + v->N() = n; + } + else + { + float f1 = V(p1.X(), p1.Y(), p1.Z()); + float f2 = V(p2.X(), p2.Y(), p2.Z()); + float u = (float) f1/(f1-f2); + v->P().X() = (float) p1.X(); + v->P().Y() = (float) p1.Y(); + v->P().Z() = (float) p1.Z()*(1-u) + u*p2.Z(); + + } + } + +private: + SphereDifference _sphere_diff; +}; + +#endif // __VCGTEST_VOLUME \ No newline at end of file diff --git a/apps/test/extractors/extractor/Walker.h b/apps/test/extractors/extractor/Walker.h new file mode 100644 index 00000000..3e314a81 --- /dev/null +++ b/apps/test/extractors/extractor/Walker.h @@ -0,0 +1,242 @@ +#ifndef __VCGTEST_WALKER +#define __VCGTEST_WALKER + +#include "Definitions.h" +#include "Volume.h" + +// La classe Walker implementa la politica di visita del volume; conoscendo l'ordine di visita del volume +// è conveniente che il Walker stesso si faccia carico del caching dei dati utilizzati durante l'esecuzione +// degli algoritmi MarchingCubes ed ExtendedMarchingCubes, in particolare il calcolo del volume ai vertici +// delle celle e delle intersezioni della superficie con le celle. In questo esempio il volume da processare +// viene suddiviso in fette; in questo modo se il volume ha dimensione h*l*w (rispettivamente altezza, +// larghezza e profondità), lo spazio richiesto per il caching dei vertici già allocati passa da O(h*l*w) +// a O(h*l). +class Walker +{ +private: + typedef int VertexIndex; + +public: + Walker(const BoundingBox &bbox, const vcg::Point3i &resolution) + { + _bbox = bbox; + _resolution = resolution; + _cell_size.X() = _bbox.DimX()/_resolution.X(); + _cell_size.Y() = _bbox.DimY()/_resolution.Y(); + _cell_size.Z() = _bbox.DimZ()/_resolution.Z(); + _slice_dimension = resolution.X()*resolution.Z(); + + _x_cs = new VertexIndex[ _slice_dimension ]; + _y_cs = new VertexIndex[ _slice_dimension ]; + _z_cs = new VertexIndex[ _slice_dimension ]; + _x_ns = new VertexIndex[ _slice_dimension ]; + _z_ns = new VertexIndex[ _slice_dimension ]; + _v_cs = new float[_slice_dimension]; + _v_ns = new float[_slice_dimension]; + + }; + + ~Walker() + {} + + template + void BuildMesh(Mesh &mesh, Volume &volume, EXTRACTOR_TYPE &extractor) + { + _volume = &volume; + _mesh = &mesh; + _mesh->Clear(); + vcg::Point3i p1, p2; + + Begin(); + extractor.Initialize(); + for (int j=_bbox.min.Y(); j<_bbox.max.Y()-_cell_size.Y(); j+=_cell_size.Y()) + { + for (int i=_bbox.min.X(); i<_bbox.max.X()-_cell_size.X(); i+=_cell_size.X()) + { + for (int k=_bbox.min.Z(); k<_bbox.max.Z()-_cell_size.Z(); k+=_cell_size.Z()) + { + p1.X()=i; p1.Y()=j; p1.Z()=k; + p2.X()=i+_cell_size.X(); p2.Y()=j+_cell_size.Y(); p2.Z()=k+_cell_size.Z(); + extractor.ProcessCell(p1, p2); + } + } + NextSlice(); + } + extractor.Finalize(); + _volume = NULL; + _mesh = NULL; + }; + + float V(int pi, int pj, int pk) + { + int i = pi - _bbox.min.X(); + int k = pk - _bbox.min.Z(); + return (pj==_current_slice) ? _v_cs[i+k*_resolution.X()] : _v_ns[i+k*_resolution.X()]; + } + + bool Exist(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + int i_idx = p1.X()-_bbox.min.X(); + int k_idx = p2.Z()-_bbox.min.Z(); + int index = i_idx+k_idx*_resolution.X(); + if (p1.X()!=p2.X()) //intersezione della superficie con un Xedge + return (p1.Y()==_current_slice)? _x_cs[index]!=-1 : _x_ns[index]!=-1; + else if (p1.Y()!=p2.Y()) //intersezione della superficie con un Yedge + return _y_cs[index]!=-1; + else if (p1.Z()!=p2.Z()) //intersezione della superficie con un Zedge + return (p1.Y()==_current_slice)? _z_cs[index]!=-1 : _z_ns[index]!=-1; + } + + void GetXIntercept(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + int i = p1.X() - _bbox.min.X(); + int z = p1.Z() - _bbox.min.Z(); + VertexIndex index = i+z*_resolution.X(); + VertexIndex pos; + if (p1.Y()==_current_slice) + { + if ((pos=_x_cs[index])==-1) + { + _x_cs[index] = (VertexIndex) _mesh->vert.size(); + pos = _x_cs[index]; + Allocator::AddVertices( *_mesh, 1 ); + v = &_mesh->vert[pos]; + _volume->GetXIntercept(p1, p2, v); + return; + } + } + if (p1.Y()==_current_slice+_cell_size.Y()) + { + if ((pos=_x_ns[index])==-1) + { + _x_ns[index] = (VertexIndex) _mesh->vert.size(); + pos = _x_ns[index]; + Allocator::AddVertices( *_mesh, 1 ); + v = &_mesh->vert[pos]; + _volume->GetXIntercept(p1, p2, v); + return; + } + } + v = &_mesh->vert[pos]; + } + void GetYIntercept(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + int i = p1.X() - _bbox.min.X(); + int z = p1.Z() - _bbox.min.Z(); + VertexIndex index = i+z*_resolution.X(); + VertexIndex pos; + if ((pos=_y_cs[index])==-1) + { + _y_cs[index] = (VertexIndex) _mesh->vert.size(); + pos = _y_cs[index]; + Allocator::AddVertices( *_mesh, 1); + v = &_mesh->vert[ pos ]; + _volume->GetYIntercept(p1, p2, v); + } + v = &_mesh->vert[pos]; + } + void GetZIntercept(const vcg::Point3i &p1, const vcg::Point3i &p2, VertexPointer &v) + { + int i = p1.X() - _bbox.min.X(); + int z = p1.Z() - _bbox.min.Z(); + VertexIndex index = i+z*_resolution.X(); + VertexIndex pos; + if (p1.Y()==_current_slice) + { + if ((pos=_z_cs[index])==-1) + { + _z_cs[index] = (VertexIndex) _mesh->vert.size(); + pos = _z_cs[index]; + Allocator::AddVertices( *_mesh, 1 ); + v = &_mesh->vert[pos]; + _volume->GetZIntercept(p1, p2, v); + return; + } + } + if (p1.Y()==_current_slice+_cell_size.Y()) + { + if ((pos=_z_ns[index])==-1) + { + _z_ns[index] = (VertexIndex) _mesh->vert.size(); + pos = _z_ns[index]; + Allocator::AddVertices( *_mesh, 1 ); + v = &_mesh->vert[pos]; + _volume->GetZIntercept(p1, p2, v); + return; + } + } + v = &_mesh->vert[pos]; + } + +protected: + BoundingBox _bbox; + vcg::Point3i _resolution; + vcg::Point3i _cell_size; + + int _slice_dimension; + int _current_slice; + + float *_v_cs; // il valore del campo campionato nella fetta di volumecorrente + float *_v_ns; // il valore del campo campionato nella prossima fetta di volume + + VertexIndex *_x_cs; // indici dell'intersezioni della superficie lungo gli Xedge della fetta corrente + VertexIndex *_y_cs; // indici dell'intersezioni della superficie lungo gli Yedge della fetta corrente + VertexIndex *_z_cs; // indici dell'intersezioni della superficie lungo gli Zedge della fetta corrente + VertexIndex *_x_ns; // indici dell'intersezioni della superficie lungo gli Xedge della prossima fetta + VertexIndex *_z_ns; // indici dell'intersezioni della superficie lungo gli Zedge della prossima fetta + + Mesh *_mesh; + Volume *_volume; + + void NextSlice() + { + memset(_x_cs, -1, _slice_dimension*sizeof(VertexIndex)); + memset(_y_cs, -1, _slice_dimension*sizeof(VertexIndex)); + memset(_z_cs, -1, _slice_dimension*sizeof(VertexIndex)); + + std::swap(_x_cs, _x_ns); + std::swap(_z_cs, _z_ns); + std::swap(_v_cs, _v_ns); + + _current_slice += _cell_size.Y(); + int j = _current_slice + _cell_size.Y(); + int k_idx, i_idx, index; + for (int i=_bbox.min.X(); i<_bbox.max.X(); i+=_cell_size.X()) + { + i_idx = i-_bbox.min.X(); + for (int k=_bbox.min.Z(); k<_bbox.max.Z(); k+=_cell_size.Z()) + { + k_idx = k-_bbox.min.Z(); + index = i_idx+k_idx*_resolution.X(); + _v_ns[ index ] = _volume->V(i, j, k); + } + } + } + + void Begin() + { + _current_slice = _bbox.min.Y(); + + memset(_x_cs, -1, _slice_dimension*sizeof(VertexIndex)); + memset(_y_cs, -1, _slice_dimension*sizeof(VertexIndex)); + memset(_z_cs, -1, _slice_dimension*sizeof(VertexIndex)); + memset(_x_ns, -1, _slice_dimension*sizeof(VertexIndex)); + memset(_z_ns, -1, _slice_dimension*sizeof(VertexIndex)); + + int index; + int j = _current_slice; + int i_idx, k_idx; + for (int i=_bbox.min.X(); i<_bbox.max.X(); i+=_cell_size.X()) + { + i_idx = i-_bbox.min.X(); + for (int k=_bbox.min.Z(); k<_bbox.max.Z(); k+=_cell_size.Z()) + { + k_idx = k-_bbox.min.Z(); + index = i_idx+k_idx*_resolution.X(); + _v_cs[index] = _volume->V(i, j, k); + _v_ns[index] = _volume->V(i, j+_cell_size.Y(), k); + } + } + } +}; +#endif // __VCGTEST_WALKER \ No newline at end of file diff --git a/apps/test/extractors/extractor/extractor.vcproj b/apps/test/extractors/extractor/extractor.vcproj new file mode 100644 index 00000000..35015474 --- /dev/null +++ b/apps/test/extractors/extractor/extractor.vcproj @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/test/extractors/extractor/main.cpp b/apps/test/extractors/extractor/main.cpp new file mode 100644 index 00000000..30ef405e --- /dev/null +++ b/apps/test/extractors/extractor/main.cpp @@ -0,0 +1,33 @@ +#include +#include +#include "Definitions.h" +#include "Volume.h" +#include "Walker.h" +#include +#include + +int main(int argc, char *argv[]) +{ + BoundingBox bbox(vcg::Point3i(-20, -20, -20), vcg::Point3i(20, 20, 20)); + vcg::Point3i resolution(40, 40, 40); + + Volume volume; + Walker walker(bbox, resolution); + + typedef vcg::tri::MarchingCubes MarchingCubes; + typedef vcg::tri::ExtendedMarchingCubes ExtendedMarchingCubes; + + + + // MARCHING CUBES + Mesh mc_mesh; + MarchingCubes mc(mc_mesh, walker); + walker.BuildMesh(mc_mesh, volume, mc); + vcg::tri::io::ExporterPLY::Save( mc_mesh, "marching_cubes.ply"); + + // EXTENDED MARCHING CUBES + Mesh emc_mesh; + ExtendedMarchingCubes emc(emc_mesh, walker, 30); + walker.BuildMesh(emc_mesh, volume, emc); + vcg::tri::io::ExporterPLY::Save( emc_mesh, "extended_marching_cubes.ply"); +}; \ No newline at end of file diff --git a/apps/test/extractors/extractors.ncb b/apps/test/extractors/extractors.ncb new file mode 100644 index 0000000000000000000000000000000000000000..0a7030745b4facf9b6b664a6800a875259331378 GIT binary patch literal 306176 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

%wNPIW?PIS>pI2QV^*X?Ra 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 L{SBb(bH@JxH{_Rq literal 0 HcmV?d00001