Skip to content
Snippets Groups Projects
Commit 0a5aec29 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

fix compile 2

parent 28d9ea13
Branches
Tags
No related merge requests found
......@@ -13,7 +13,7 @@
#include "GEdgeCompound.h"
#include "intersectCurveSurface.h"
#if defined(HAVE_SOLVER)
#if defined(HAVE_SOLVER) && defined(HAVE_ANN)
#include "Options.h"
#include "MLine.h"
......@@ -45,9 +45,7 @@
#include "MPoint.h"
#include "Numeric.h"
#include "meshGFace.h"
#if defined(HAVE_ANN)
#include <ANN/ANN.h>
#endif
static void fixEdgeToValue(GEdge *ed, double value, dofManager<double> &myAssembler)
{
......@@ -1217,14 +1215,12 @@ GFaceCompound::GFaceCompound(GModel *m, int tag, std::list<GFace*> &compound,
nbSplit = 0;
fillTris.clear();
#if defined(HAVE_ANN)
kdtree = NULL;
uv_kdtree = NULL;
uv_nodes = NULL;
nodes = NULL;
index = new ANNidx[2];
dist = new ANNdist[2];
#endif
}
GFaceCompound::GFaceCompound(GModel *m, int tag, std::list<GFace*> &compound,
......@@ -1272,14 +1268,12 @@ GFaceCompound::GFaceCompound(GModel *m, int tag, std::list<GFace*> &compound,
nbSplit = 0;
fillTris.clear();
#if defined(HAVE_ANN)
uv_kdtree = NULL;
kdtree = NULL;
uv_nodes = NULL;
nodes = NULL;
index = new ANNidx[2];
dist = new ANNdist[2];
#endif
}
GFaceCompound::~GFaceCompound()
......@@ -1295,15 +1289,12 @@ GFaceCompound::~GFaceCompound()
if (_lsys)delete _lsys;
delete ONE;
delete MONE;
#if defined(HAVE_ANN)
if(uv_kdtree) delete uv_kdtree;
if(kdtree) delete kdtree;
if(uv_nodes) annDeallocPts(uv_nodes);
if(nodes) annDeallocPts(nodes);
delete[]index;
delete[]dist;
#endif
}
SPoint2 GFaceCompound::getCoordinates(MVertex *v) const
......@@ -1972,7 +1963,6 @@ GPoint GFaceCompound::pointInRemeshedOctree(double par1, double par2) const
octNew = new MElementOctree(myParamElems);
//build kdtree boundary nodes in parametric space
#if defined(HAVE_ANN)
uv_nodes = annAllocPts(myBCNodes.size(), 3);
std::set<SPoint2>::iterator itp = myBCNodes.begin();
int ind = 0;
......@@ -1984,7 +1974,6 @@ GPoint GFaceCompound::pointInRemeshedOctree(double par1, double par2) const
itp++; ind++;
}
uv_kdtree = new ANNkd_tree(uv_nodes, myBCNodes.size(), 3);
#endif
}
//now use new octree to find point
......@@ -2012,7 +2001,6 @@ GPoint GFaceCompound::pointInRemeshedOctree(double par1, double par2) const
//if element not found in new octree find closest point
else{
GPoint gp(50,50,50);
#if defined(HAVE_ANN)
double pt[3] = {par1,par2,0.0};
uv_kdtree->annkSearch(pt, 2, index, dist);
SPoint3 p1(uv_nodes[index[0]][0], uv_nodes[index[0]][1], uv_nodes[index[0]][2]);
......@@ -2040,9 +2028,6 @@ GPoint GFaceCompound::pointInRemeshedOctree(double par1, double par2) const
else{
gp.setNoSuccess();
}
#else
gp.setNoSuccess();
#endif
if (gp.succeeded()) return gp;
else{
......@@ -2274,7 +2259,6 @@ void GFaceCompound::secondDer(const SPoint2 &param,
void GFaceCompound::computeHessianMapping() const
{
#if defined(HAVE_MESH)
unsigned int sysDim = 6; //for 2D
unsigned int minNbPtBlob = 3*sysDim;
......
......@@ -13,7 +13,7 @@
#include "GFace.h"
template <class scalar> class simpleFunction;
#if defined(HAVE_SOLVER)
#if defined(HAVE_SOLVER) && defined(HAVE_ANN)
#include "GEdge.h"
#include "GEdgeCompound.h"
......@@ -21,11 +21,8 @@ template <class scalar> class simpleFunction;
#include "linearSystem.h"
#include "GRbf.h"
#include "MElementOctree.h"
#if defined(HAVE_ANN)
#include <ANN/ANN.h>
class ANNkd_tree;
#endif
#define AR_MAX 5 //maximal geometrical aspect ratio
......@@ -101,14 +98,12 @@ class GFaceCompound : public GFace {
mutable std::vector<double> _coords;
mutable std::map<MVertex*, int> _mapV;
linearSystem <double> *_lsys;
#if defined(HAVE_ANN)
mutable ANNkd_tree *uv_kdtree;
mutable ANNkd_tree *kdtree;
mutable ANNpointArray uv_nodes;
mutable ANNpointArray nodes;
ANNidxArray index;
ANNdistArray dist;
#endif
mutable ANNkd_tree *uv_kdtree;
mutable ANNkd_tree *kdtree;
mutable ANNpointArray uv_nodes;
mutable ANNpointArray nodes;
ANNidxArray index;
ANNdistArray dist;
void buildOct() const ;
void buildAllNodes() const;
......@@ -200,7 +195,6 @@ class GFaceCompound : public GFace {
#else
//define empty class ifndef HAVE_SOLVER
template<class scalar> class linearSystem;
class GFaceCompound : public GFace {
public:
......@@ -215,7 +209,7 @@ class GFaceCompound : public GFace {
linearSystem<double>* lsys =0)
: GFace(m, tag)
{
Msg::Error("Gmsh has to be compiled with solver support to use GFaceCompounds");
Msg::Error("Gmsh has to be compiled with Solver and ANN support to use GFaceCompounds");
}
GFaceCompound(GModel *m, int tag, std::list<GFace*> &compound,
std::list<GEdge*> &U0, std::list<GEdge*> &V0,
......@@ -225,7 +219,7 @@ class GFaceCompound : public GFace {
linearSystem<double>* lsys =0)
: GFace(m, tag)
{
Msg::Error("Gmsh has to be compiled with solver support to use GFaceCompounds");
Msg::Error("Gmsh has to be compiled with Solver and ANN support to use GFaceCompounds");
}
virtual ~GFaceCompound() {}
GPoint point(double par1, double par2) const { return GPoint(); }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment