diff --git a/Mesh/Voronoi3D.cpp b/Mesh/Voronoi3D.cpp index e607294a34bcfd44f92072e2c11a50e0fb32274b..326d96e501fef552bf890d03cc5ada794be10497 100755 --- a/Mesh/Voronoi3D.cpp +++ b/Mesh/Voronoi3D.cpp @@ -3,15 +3,19 @@ // See the LICENSE.txt file for license information. Please report all // bugs and problems to <gmsh@geuz.org>. -#include "voro++.hh" #include "Voronoi3D.h" #include "GModel.h" #include "MElement.h" #include "meshGRegion.h" #include <fstream> #include "Levy3D.h" +#if defined(HAVE_Voro3D) +#include "voro++.hh" +#endif +#if defined(HAVE_Voro3D) using namespace voro; +#endif /*********class clip*********/ @@ -72,6 +76,7 @@ void clip::execute(GRegion* gr){ } void clip::execute(std::vector<SPoint3>& vertices,std::vector<VoronoiElement>& clipped){ +#if defined(HAVE_Voro3D) int i; int j; int start; @@ -265,6 +270,9 @@ void clip::execute(std::vector<SPoint3>& vertices,std::vector<VoronoiElement>& c //printf("%f %f\n",volume1,volume2); for(i=0;i<pointers.size();i++) delete pointers[i]; +#else + Msg::Error("Gmsh needs to be compiled with Voro3D to use clip"); +#endif } double clip::min(double a,double b){ @@ -296,4 +304,4 @@ void clip::print_segment(SPoint3 p1,SPoint3 p2,std::ofstream& file){ << p1.x() << ", " << p1.y() << ", " << p1.z() << ", " << p2.x() << ", " << p2.y() << ", " << p2.z() << "){10, 20};\n"; -} \ No newline at end of file +} diff --git a/Mesh/meshMetric.cpp b/Mesh/meshMetric.cpp index b1fa1ad386627ca461a7afa62f260f8a617bf682..03c64c472e11cc8104fb3eafbb288e4f87f54aca 100644 --- a/Mesh/meshMetric.cpp +++ b/Mesh/meshMetric.cpp @@ -171,7 +171,7 @@ void meshMetric::exportInfo(const char * fileendname){ meshMetric::~meshMetric(){ if (_octree) delete _octree; - for (int i=0; i< _elements.size(); i++) + for (unsigned int i = 0; i < _elements.size(); i++) delete _elements[i]; } diff --git a/Mesh/periodical.cpp b/Mesh/periodical.cpp index db4d40006e74d0b890bbbfd416b637bca69bf9a0..a010cd1de008965fda7499b1eacd0018afbfa74a 100755 --- a/Mesh/periodical.cpp +++ b/Mesh/periodical.cpp @@ -3,15 +3,19 @@ // See the LICENSE.txt file for license information. Please report all // bugs and problems to <gmsh@geuz.org>. -#include "voro++.hh" #include "periodical.h" #include "GModel.h" #include "meshGRegion.h" #include <fstream> #include <algorithm> #include "MElement.h" +#if defined(HAVE_Voro3D) +#include "voro++.hh" +#endif +#if defined(HAVE_Voro3D) using namespace voro; +#endif /*********class voroMetal3D*********/ @@ -58,6 +62,7 @@ void voroMetal3D::execute(GRegion* gr){ } void voroMetal3D::execute(std::vector<SPoint3>& vertices){ +#if defined(HAVE_Voro3D) int i; int j; int start; @@ -144,6 +149,9 @@ void voroMetal3D::execute(std::vector<SPoint3>& vertices){ file << "};\n"; for(i=0;i<pointers.size();i++) delete pointers[i]; +#else + Msg::Error("Gmsh needs to be compiled with Voro3D to use voroMetal3D"); +#endif } void voroMetal3D::print_segment(SPoint3 p1,SPoint3 p2,std::ofstream& file){ @@ -151,4 +159,4 @@ void voroMetal3D::print_segment(SPoint3 p1,SPoint3 p2,std::ofstream& file){ << p1.x() << ", " << p1.y() << ", " << p1.z() << ", " << p2.x() << ", " << p2.y() << ", " << p2.z() << "){10, 20};\n"; -} \ No newline at end of file +} diff --git a/Mesh/simple3D.cpp b/Mesh/simple3D.cpp index 80313594e7824703c5ecd8505fa451185c50ec23..805c5c007b9b965cd327259e1116eec1ad2e2f98 100755 --- a/Mesh/simple3D.cpp +++ b/Mesh/simple3D.cpp @@ -9,7 +9,9 @@ #include "MElementOctree.h" #include "meshGRegion.h" #include <queue> +#if defined(HAVE_RTREE) #include "rtree.h" +#endif #include <fstream> #define k1 0.7 //k1*h is the minimal distance between two nodes @@ -325,6 +327,7 @@ void Filler::treat_model(){ } void Filler::treat_region(GRegion* gr){ +#if defined(HAVE_RTREE) int i,j; int count; bool ok; @@ -433,6 +436,9 @@ void Filler::treat_region(GRegion* gr){ for(i=0;i<garbage.size();i++) delete garbage[i]; for(i=0;i<new_vertices.size();i++) delete new_vertices[i]; new_vertices.clear(); +#else + Msg::Error("Gmsh needs to be compiled with rtree to use Filler::treat_region"); +#endif } Metric Filler::get_metric(double x,double y,double z){