[issm-svn] r19605 - issm/trunk/src/c/bamg
morlighe at issm.ess.uci.edu
morlighe at issm.ess.uci.edu
Wed Sep 30 08:31:13 PDT 2015
Author: morlighe
Date: 2015-09-30 08:31:13 -0700 (Wed, 30 Sep 2015)
New Revision: 19605
Modified:
issm/trunk/src/c/bamg/BamgQuadtree.h
issm/trunk/src/c/bamg/BamgVertex.h
issm/trunk/src/c/bamg/Mesh.cpp
issm/trunk/src/c/bamg/Triangle.h
issm/trunk/src/c/bamg/VertexOnGeom.cpp
Log:
BUG: fixing bamg with new clang compilers on mac OSX
Modified: issm/trunk/src/c/bamg/BamgQuadtree.h
===================================================================
--- issm/trunk/src/c/bamg/BamgQuadtree.h 2015-09-30 06:40:03 UTC (rev 19604)
+++ issm/trunk/src/c/bamg/BamgQuadtree.h 2015-09-30 15:31:13 UTC (rev 19605)
@@ -34,6 +34,7 @@
int Id() {_error_("not implemented yet"); };
int ObjectEnum() {_error_("not implemented yet"); };
Object *copy() {_error_("not implemented yet"); };
+ void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction){ _error_("not implemented yet!"); };
};
/*BamgQuadtree private Fields*/
Modified: issm/trunk/src/c/bamg/BamgVertex.h
===================================================================
--- issm/trunk/src/c/bamg/BamgVertex.h 2015-09-30 06:40:03 UTC (rev 19604)
+++ issm/trunk/src/c/bamg/BamgVertex.h 2015-09-30 15:31:13 UTC (rev 19605)
@@ -47,6 +47,7 @@
void MetricFromHessian(const double Hxx,const double Hyx, const double Hyy, const double smin,const double smax,const double s,const double err,BamgOpts* bamgopts);
void Echo();
int GetReferenceNumber() const;
+ I2 GetIntegerCoordinates() const{return this->i;};// avoid operator I2()
long Optim(int =1,int =0);
//inline functions
Modified: issm/trunk/src/c/bamg/Mesh.cpp
===================================================================
--- issm/trunk/src/c/bamg/Mesh.cpp 2015-09-30 06:40:03 UTC (rev 19604)
+++ issm/trunk/src/c/bamg/Mesh.cpp 2015-09-30 15:31:13 UTC (rev 19605)
@@ -1098,7 +1098,7 @@
}
}
/*}}}*/
- void Mesh::AddVertex( BamgVertex &s,Triangle* t, Icoor2* det3) {/*{{{*/
+ void Mesh::AddVertex( BamgVertex &s,Triangle* t, Icoor2* det3){/*{{{*/
/*Original code from Frederic Hecht <hecht at ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Add)*/
// -------------------------------
// s2
@@ -1123,9 +1123,9 @@
int iedge;
/*three vertices of t*/
- BamgVertex &s0=(*t)[0];
- BamgVertex &s1=(*t)[1];
- BamgVertex &s2=(*t)[2];
+ BamgVertex* s0=t->GetVertex(0);
+ BamgVertex* s1=t->GetVertex(1);
+ BamgVertex* s2=t->GetVertex(2);
//determinant of t
Icoor2 detOld=t->det;
@@ -1133,7 +1133,7 @@
/* infvertexindex = index of the infinite vertex (NULL)
if no infinite vertex (NULL) infvertexindex=-1
else if v_i is infinite, infvertexindex=i*/
- int infvertexindex = &s0 ? (( &s1 ? ( &s2 ? -1 : 2) : 1 )) : 0;
+ int infvertexindex = s0 ? ((s1? (s2?-1:2):1)):0;
//some checks
if(((infvertexindex <0 ) && (detOld <0)) || ((infvertexindex >=0) && (detOld >0)) ){
@@ -1146,14 +1146,14 @@
det3 = det3local;
//if no infinite vertex
if (infvertexindex<0 ) {
- det3[0]=bamg::det(s ,s1,s2);
- det3[1]=bamg::det(s0,s ,s2);
- det3[2]=bamg::det(s0,s1,s );}
+ det3[0]=bamg::det(s .GetIntegerCoordinates(),s1->GetIntegerCoordinates(),s2->GetIntegerCoordinates());
+ det3[1]=bamg::det(s0->GetIntegerCoordinates(),s .GetIntegerCoordinates(),s2->GetIntegerCoordinates());
+ det3[2]=bamg::det(s0->GetIntegerCoordinates(),s1->GetIntegerCoordinates(),s.GetIntegerCoordinates());}
else {
// one of &s1 &s2 &s0 is NULL
- det3[0]= &s0 ? -1 : bamg::det(s ,s1,s2) ;
- det3[1]= &s1 ? -1 : bamg::det(s0,s ,s2) ;
- det3[2]= &s2 ? -1 : bamg::det(s0,s1,s ) ;
+ det3[0]= s0 ? -1 : bamg::det(s.GetIntegerCoordinates(),s1->GetIntegerCoordinates(),s2->GetIntegerCoordinates()) ;
+ det3[1]= s1 ? -1 : bamg::det(s0->GetIntegerCoordinates(),s.GetIntegerCoordinates(),s2->GetIntegerCoordinates()) ;
+ det3[2]= s2 ? -1 : bamg::det(s0->GetIntegerCoordinates(),s1->GetIntegerCoordinates(),s.GetIntegerCoordinates()) ;
}
}
@@ -3799,15 +3799,15 @@
// computation of the det
int number_of_errors=0;
for (i=0;i<nbt;i++) {
- BamgVertex & v0 = triangles[i][0];
- BamgVertex & v1 = triangles[i][1];
- BamgVertex & v2 = triangles[i][2];
+ BamgVertex* v0 = triangles[i](0);
+ BamgVertex* v1 = triangles[i](1);
+ BamgVertex* v2 = triangles[i](2);
//If this is not a boundary triangle
- if ( &v0 && &v1 && &v2 ){
+ if (v0 && v1 && v2){
/*Compute determinant*/
- triangles[i].det= det(v0,v1,v2);
+ triangles[i].det= det(v0->GetIntegerCoordinates(),v1->GetIntegerCoordinates(),v2->GetIntegerCoordinates());
/*Check that determinant is positive*/
if (triangles[i].det <=0){
Modified: issm/trunk/src/c/bamg/Triangle.h
===================================================================
--- issm/trunk/src/c/bamg/Triangle.h 2015-09-30 06:40:03 UTC (rev 19604)
+++ issm/trunk/src/c/bamg/Triangle.h 2015-09-30 15:31:13 UTC (rev 19605)
@@ -64,6 +64,7 @@
double qualite() ;
void Set(const Triangle &,const Mesh &,Mesh &);
int In(BamgVertex *v) const { return vertices[0]==v || vertices[1]==v || vertices[2]==v ;}
+ BamgVertex* GetVertex(int i){return vertices[i];}; // FIXME: this is used to avoid BamgVertex * operator()
};
Modified: issm/trunk/src/c/bamg/VertexOnGeom.cpp
===================================================================
--- issm/trunk/src/c/bamg/VertexOnGeom.cpp 2015-09-30 06:40:03 UTC (rev 19604)
+++ issm/trunk/src/c/bamg/VertexOnGeom.cpp 2015-09-30 15:31:13 UTC (rev 19605)
@@ -43,11 +43,11 @@
}
/*}}}*/
int VertexOnGeom::OnGeomVertex()const{/*{{{*/
- return this? curvilincoord <0 :0;
+ return curvilincoord<0;
}
/*}}}*/
int VertexOnGeom::OnGeomEdge() const{/*{{{*/
- return this? curvilincoord >=0 :0;
+ return curvilincoord>=0;
}
/*}}}*/
int VertexOnGeom::IsRequiredVertex() {/*{{{*/
More information about the issm-svn
mailing list