Changeset 5149 for issm/trunk


Ignore:
Timestamp:
08/11/10 10:45:38 (15 years ago)
Author:
Mathieu Morlighem
Message:

moved Number to GetId

Location:
issm/trunk/src/c
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp

    r5146 r5149  
    9494                                areacoord[2]= (double) dete[2] / tb.det;
    9595                                //3 vertices of the triangle
    96                                 i0=Th.Number(tb[0]);
    97                                 i1=Th.Number(tb[1]);
    98                                 i2=Th.Number(tb[2]);
     96                                i0=Th.GetId(tb[0]);
     97                                i1=Th.GetId(tb[1]);
     98                                i2=Th.GetId(tb[2]);
    9999                                //triangle number
    100                                 it=Th.Number(tb);
     100                                it=Th.GetId(tb);
    101101                        }
    102102                        //external point
     
    111111                                areacoord[OppositeVertex[k]] = 1 - aa -bb;
    112112                                //3 vertices of the triangle
    113                                 i0=Th.Number(tc[0]);
    114                                 i1=Th.Number(tc[1]);
    115                                 i2=Th.Number(tc[2]);
     113                                i0=Th.GetId(tc[0]);
     114                                i1=Th.GetId(tc[1]);
     115                                i2=Th.GetId(tc[2]);
    116116                                //triangle number
    117                                 it=Th.Number(tc);
     117                                it=Th.GetId(tc);
    118118                        }
    119119                       
  • issm/trunk/src/c/objects/Bamg/Curve.cpp

    r5130 r5149  
    2727        void Curve::Set(const Curve & rec,const Geometry & Gh ,Geometry & GhNew){
    2828                *this = rec;
    29                 be = GhNew.edges + Gh.Number(be);   
    30                 ee = GhNew.edges + Gh.Number(ee);
    31                 if(next) next= GhNew.curves + Gh.Number(next);
     29                be = GhNew.edges + Gh.GetId(be);   
     30                ee = GhNew.edges + Gh.GetId(ee);
     31                if(next) next= GhNew.curves + Gh.GetId(next);
    3232        }
    3333        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/Edge.cpp

    r5148 r5149  
    1616        void Edge::Set(const Mesh & Th ,long i,Mesh & ThNew){
    1717                *this = Th.edges[i];
    18                 v[0] = ThNew.vertices + Th.Number(v[0]);   
    19                 v[1] = ThNew.vertices + Th.Number(v[1]);
     18                v[0] = ThNew.vertices + Th.GetId(v[0]);   
     19                v[1] = ThNew.vertices + Th.GetId(v[1]);
    2020                if (GeometricalEdgeHook)
    21                  GeometricalEdgeHook =  ThNew.Gh.edges+Th.Gh.Number(GeometricalEdgeHook);
    22                 if (adj[0]) adj[0] =   ThNew.edges +   Th.Number(adj[0]);
    23                 if (adj[1]) adj[1] =   ThNew.edges +   Th.Number(adj[1]);
     21                 GeometricalEdgeHook =  ThNew.Gh.edges+Th.Gh.GetId(GeometricalEdgeHook);
     22                if (adj[0]) adj[0] =   ThNew.edges +   Th.GetId(adj[0]);
     23                if (adj[1]) adj[1] =   ThNew.edges +   Th.GetId(adj[1]);
    2424        }
    2525        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/GeometricalEdge.cpp

    r3913 r5149  
    132132        void GeometricalEdge::Set(const GeometricalEdge & rec,const Geometry & Gh ,Geometry & GhNew){
    133133                *this = rec;
    134                 v[0] = GhNew.vertices + Gh.Number(v[0]);   
    135                 v[1] = GhNew.vertices + Gh.Number(v[1]);
    136                 if (Adj[0]) Adj[0] =  GhNew.edges + Gh.Number(Adj[0]);     
    137                 if (Adj[1]) Adj[1] =  GhNew.edges + Gh.Number(Adj[1]);     
     134                v[0] = GhNew.vertices + Gh.GetId(v[0]);   
     135                v[1] = GhNew.vertices + Gh.GetId(v[1]);
     136                if (Adj[0]) Adj[0] =  GhNew.edges + Gh.GetId(Adj[0]);     
     137                if (Adj[1]) Adj[1] =  GhNew.edges + Gh.GetId(Adj[1]);     
    138138        }
    139139        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/GeometricalSubDomain.cpp

    r3913 r5149  
    1515        void GeometricalSubDomain::Set(const GeometricalSubDomain & rec,const Geometry & Gh ,const Geometry & GhNew){
    1616                *this = rec;
    17                 edge = Gh.Number(edge) + GhNew.edges;
     17                edge = Gh.GetId(edge) + GhNew.edges;
    1818        }/*}}}*/
    1919
  • issm/trunk/src/c/objects/Bamg/Geometry.cpp

    r5148 r5149  
    317317                        bamggeom->Edges=(double*)xmalloc(3*nbe*sizeof(double));
    318318                        for (i=0;i<nbe;i++){
    319                                 bamggeom->Edges[i*3+0]=Number(edges[i][0])+1; //back to Matlab indexing
    320                                 bamggeom->Edges[i*3+1]=Number(edges[i][1])+1; //back to Matlab indexing
     319                                bamggeom->Edges[i*3+0]=GetId(edges[i][0])+1; //back to Matlab indexing
     320                                bamggeom->Edges[i*3+1]=GetId(edges[i][1])+1; //back to Matlab indexing
    321321                                bamggeom->Edges[i*3+2]=(double)edges[i].ReferenceNumber;
    322322
     
    368368                        for (i=0;i<nbsubdomains;i++){
    369369                                bamggeom->SubDomains[4*i+0]=2;
    370                                 bamggeom->SubDomains[4*i+1]=Number(subdomains[i].edge)+1; //back to Matlab indexing
     370                                bamggeom->SubDomains[4*i+1]=GetId(subdomains[i].edge)+1; //back to Matlab indexing
    371371                                bamggeom->SubDomains[4*i+2]=subdomains[i].direction;
    372372                                bamggeom->SubDomains[4*i+3]=subdomains[i].ReferenceNumber;
     
    523523                        //build chains head_v and next_p
    524524                        for (j=0;j<2;j++){
    525                                 long v=Number(edges[i].v[j]);
     525                                long v=GetId(edges[i].v[j]);
    526526                                next_p[k]=head_v[v];
    527527                                head_v[v]=k++; //post increment: head_v[v]=k; and then k=k+1;
     
    788788                return Max(pmax.x-pmin.x,pmax.y-pmin.y);
    789789        }/*}}}*/
    790         /*FUNCTION Geometry::Number(const GeometricalVertex &t){{{1*/
    791         long Geometry::Number(const GeometricalVertex & t) const  {
     790        /*FUNCTION Geometry::GetId(const GeometricalVertex &t){{{1*/
     791        long Geometry::GetId(const GeometricalVertex & t) const  {
    792792                return &t - vertices;
    793793        }/*}}}*/
    794         /*FUNCTION Geometry::Number(const GeometricalVertex * t){{{1*/
    795         long Geometry::Number(const GeometricalVertex * t) const  {
     794        /*FUNCTION Geometry::GetId(const GeometricalVertex * t){{{1*/
     795        long Geometry::GetId(const GeometricalVertex * t) const  {
    796796                return t - vertices;
    797797        }/*}}}*/
    798         /*FUNCTION Geometry::Number(const GeometricalEdge & t){{{1*/
    799         long Geometry::Number(const GeometricalEdge & t) const  {
     798        /*FUNCTION Geometry::GetId(const GeometricalEdge & t){{{1*/
     799        long Geometry::GetId(const GeometricalEdge & t) const  {
    800800                return &t - edges;
    801801        }/*}}}*/
    802         /*FUNCTION Geometry::Number(const GeometricalEdge * t){{{1*/
    803         long Geometry::Number(const GeometricalEdge * t) const  {
     802        /*FUNCTION Geometry::GetId(const GeometricalEdge * t){{{1*/
     803        long Geometry::GetId(const GeometricalEdge * t) const  {
    804804                return t - edges;
    805805        }/*}}}*/
    806         /*FUNCTION Geometry::Number(const Curve * c){{{1*/
    807         long Geometry::Number(const Curve * c) const  {
     806        /*FUNCTION Geometry::GetId(const Curve * c){{{1*/
     807        long Geometry::GetId(const Curve * c) const  {
    808808                return c - curves;
    809809        }/*}}}*/
  • issm/trunk/src/c/objects/Bamg/Geometry.h

    r5148 r5149  
    5454                        void             Init(void);
    5555                        void             AfterRead();
    56                         long             Number(const GeometricalVertex &t) const;
    57                         long             Number(const GeometricalVertex *t) const;
    58                         long             Number(const GeometricalEdge &t) const;
    59                         long             Number(const GeometricalEdge *t) const;
    60                         long             Number(const Curve *c) const;
     56                        long             GetId(const GeometricalVertex &t) const;
     57                        long             GetId(const GeometricalVertex *t) const;
     58                        long             GetId(const GeometricalEdge &t) const;
     59                        long             GetId(const GeometricalEdge *t) const;
     60                        long             GetId(const Curve *c) const;
    6161                        void             UnMarkEdges();
    6262                        GeometricalEdge *ProjectOnCurve(const Edge &,double,BamgVertex &,VertexOnGeom &) const;
  • issm/trunk/src/c/objects/Bamg/Mesh.cpp

    r5148 r5149  
    7373                                const Triangle & t = Tho.triangles[i];
    7474                                kt++;
    75                                 kk[Tho.Number(t[0])]=1;
    76                                 kk[Tho.Number(t[1])]=1;
    77                                 kk[Tho.Number(t[2])]=1;
    78                                 itadj=Tho.Number(t.TriangleAdj(0));
     75                                kk[Tho.GetId(t[0])]=1;
     76                                kk[Tho.GetId(t[1])]=1;
     77                                kk[Tho.GetId(t[2])]=1;
     78                                itadj=Tho.GetId(t.TriangleAdj(0));
    7979                                if (  reft[itadj] >=0 && !flag[itadj])
    8080                                  { nbNewBedge++;
    81                                         refv[Tho.Number(t[VerticesOfTriangularEdge[0][0]])]=bb[i];
    82                                         refv[Tho.Number(t[VerticesOfTriangularEdge[0][1]])]=bb[i];
     81                                        refv[Tho.GetId(t[VerticesOfTriangularEdge[0][0]])]=bb[i];
     82                                        refv[Tho.GetId(t[VerticesOfTriangularEdge[0][1]])]=bb[i];
    8383                                  }
    84                                 itadj=Tho.Number(t.TriangleAdj(1));
     84                                itadj=Tho.GetId(t.TriangleAdj(1));
    8585                                if (  reft[itadj] >=0 && !flag[itadj])
    8686                                  { nbNewBedge++;
    87                                         refv[Tho.Number(t[VerticesOfTriangularEdge[1][0]])]=bb[i];
    88                                         refv[Tho.Number(t[VerticesOfTriangularEdge[1][1]])]=bb[i];}
    89                                         itadj=Tho.Number(t.TriangleAdj(2));
     87                                        refv[Tho.GetId(t[VerticesOfTriangularEdge[1][0]])]=bb[i];
     88                                        refv[Tho.GetId(t[VerticesOfTriangularEdge[1][1]])]=bb[i];}
     89                                        itadj=Tho.GetId(t.TriangleAdj(2));
    9090                                        if (  reft[itadj] >=0 && !flag[itadj])
    9191                                          { nbNewBedge++;
    92                                                 refv[Tho.Number(t[VerticesOfTriangularEdge[2][0]])]=bb[i];
    93                                                 refv[Tho.Number(t[VerticesOfTriangularEdge[2][1]])]=bb[i];}
     92                                                refv[Tho.GetId(t[VerticesOfTriangularEdge[2][0]])]=bb[i];
     93                                                refv[Tho.GetId(t[VerticesOfTriangularEdge[2][1]])]=bb[i];}
    9494                          }
    9595                  k=0;
     
    117117                          {
    118118                                const Triangle & t = Tho.triangles[i];
    119                                 int i0 = Tho.Number(t[0]);
    120                                 int i1 = Tho.Number(t[1]);
    121                                 int i2 = Tho.Number(t[2]);
     119                                int i0 = Tho.GetId(t[0]);
     120                                int i1 = Tho.GetId(t[1]);
     121                                int i2 = Tho.GetId(t[2]);
    122122                                if (i0<0 || i1<0 || i2<0){
    123123                                        ISSMERROR("i0<0 || i1<0 || i2< 0");
     
    554554                        if (reft[i]>=0){
    555555                                for (j=0;j<3;j++){
    556                                         int v=Number(triangles[i][j]); //jth vertex of the ith triangle
     556                                        int v=GetId(triangles[i][j]); //jth vertex of the ith triangle
    557557                                        if (k>3*nbt-1 || k<0) ISSMERROR("k = %i, nbt = %i",k,nbt);
    558558                                        next_1[k]=head_1[v];
     
    592592                        bamgmesh->Edges=(double*)xmalloc(3*nbe*sizeof(double));
    593593                        for (i=0;i<nbe;i++){
    594                                 bamgmesh->Edges[i*3+0]=Number(edges[i][0])+1; //back to M indexing
    595                                 bamgmesh->Edges[i*3+1]=Number(edges[i][1])+1; //back to M indexing
     594                                bamgmesh->Edges[i*3+0]=GetId(edges[i][0])+1; //back to M indexing
     595                                bamgmesh->Edges[i*3+1]=GetId(edges[i][1])+1; //back to M indexing
    596596                                bamgmesh->Edges[i*3+2]=edges[i].ReferenceNumber;
    597597                                if(edges[i].GeometricalEdgeHook){
     
    612612                        if (reft[i]>=0){
    613613                                for  (j=0;j<3;j++) {
    614                                         i1=Number(triangles[i][VerticesOfTriangularEdge[j][0]]);
    615                                         i2=Number(triangles[i][VerticesOfTriangularEdge[j][1]]);
     614                                        i1=GetId(triangles[i][VerticesOfTriangularEdge[j][0]]);
     615                                        i2=GetId(triangles[i][VerticesOfTriangularEdge[j][1]]);
    616616                                        n =edge4->SortAndFind(i1,i2);
    617617                                        if (n==-1){
     
    666666                        if(edges[i].GeometricalEdgeHook){
    667667                                //build segment
    668                                 int i1=Number(edges[i][0]);
    669                                 int i2=Number(edges[i][1]);
     668                                int i1=GetId(edges[i][0]);
     669                                int i2=GetId(edges[i][1]);
    670670                                bool stop=false;
    671671                                for(j=head_1[i1];j!=-1;j=next_1[j]){
    672672                                        for(k=0;k<3;k++){
    673                                                 if (Number(triangles[(int)j/3][k])==i1){
    674                                                         if (Number(triangles[(int)j/3][(int)((k+1)%3)])==i2){
    675                                                                 bamgmesh->IssmSegments[num*4+0]=Number(edges[i][0])+1; //back to M indexing
    676                                                                 bamgmesh->IssmSegments[num*4+1]=Number(edges[i][1])+1; //back to M indexing
     673                                                if (GetId(triangles[(int)j/3][k])==i1){
     674                                                        if (GetId(triangles[(int)j/3][(int)((k+1)%3)])==i2){
     675                                                                bamgmesh->IssmSegments[num*4+0]=GetId(edges[i][0])+1; //back to M indexing
     676                                                                bamgmesh->IssmSegments[num*4+1]=GetId(edges[i][1])+1; //back to M indexing
    677677                                                                bamgmesh->IssmSegments[num*4+2]=(int)j/3+1;            //back to M indexing
    678678                                                                bamgmesh->IssmSegments[num*4+3]=edges[i].ReferenceNumber;
     
    681681                                                                break;
    682682                                                        }
    683                                                         if (Number(triangles[(int)j/3][(int)((k+2)%3)])==i2){
    684                                                                 bamgmesh->IssmSegments[num*4+0]=Number(edges[i][1])+1; //back to M indexing
    685                                                                 bamgmesh->IssmSegments[num*4+1]=Number(edges[i][0])+1; //back to M indexing
     683                                                        if (GetId(triangles[(int)j/3][(int)((k+2)%3)])==i2){
     684                                                                bamgmesh->IssmSegments[num*4+0]=GetId(edges[i][1])+1; //back to M indexing
     685                                                                bamgmesh->IssmSegments[num*4+1]=GetId(edges[i][0])+1; //back to M indexing
    686686                                                                bamgmesh->IssmSegments[num*4+2]=(int)j/3+1;            //back to M indexing
    687687                                                                bamgmesh->IssmSegments[num*4+3]=edges[i].ReferenceNumber;
     
    712712                                //reft[i]=-1 for outside triangle
    713713                                if (reft[i]>=0 && !( t.Hidden(0) || t.Hidden(1) || t.Hidden(2) )){
    714                                         bamgmesh->Triangles[num*4+0]=Number(t[0])+1; //back to M indexing
    715                                         bamgmesh->Triangles[num*4+1]=Number(t[1])+1; //back to M indexing
    716                                         bamgmesh->Triangles[num*4+2]=Number(t[2])+1; //back to M indexing
     714                                        bamgmesh->Triangles[num*4+0]=GetId(t[0])+1; //back to M indexing
     715                                        bamgmesh->Triangles[num*4+1]=GetId(t[1])+1; //back to M indexing
     716                                        bamgmesh->Triangles[num*4+2]=GetId(t[2])+1; //back to M indexing
    717717                                        bamgmesh->Triangles[num*4+3]=subdomains[reft[i]].ReferenceNumber;
    718718                                        num=num+1;
     
    733733                                if (reft[i]<0) continue;
    734734                                if ((ta=t.Quadrangle(v0,v1,v2,v3)) !=0 && &t<ta) {
    735                                         bamgmesh->Quadrilaterals[i*5+0]=Number(v0)+1; //back to M indexing
    736                                         bamgmesh->Quadrilaterals[i*5+1]=Number(v1)+1; //back to M indexing
    737                                         bamgmesh->Quadrilaterals[i*5+2]=Number(v2)+1; //back to M indexing
    738                                         bamgmesh->Quadrilaterals[i*5+3]=Number(v3)+1; //back to M indexing
     735                                        bamgmesh->Quadrilaterals[i*5+0]=GetId(v0)+1; //back to M indexing
     736                                        bamgmesh->Quadrilaterals[i*5+1]=GetId(v1)+1; //back to M indexing
     737                                        bamgmesh->Quadrilaterals[i*5+2]=GetId(v2)+1; //back to M indexing
     738                                        bamgmesh->Quadrilaterals[i*5+3]=GetId(v3)+1; //back to M indexing
    739739                                        bamgmesh->Quadrilaterals[i*5+4]=subdomains[reft[i]].ReferenceNumber;
    740740                                }
     
    750750                        for (i=0;i<nbsubdomains;i++){
    751751                                bamgmesh->SubDomains[i*4+0]=3;
    752                                 bamgmesh->SubDomains[i*4+1]=reft[Number(subdomains[i].head)];
     752                                bamgmesh->SubDomains[i*4+1]=reft[GetId(subdomains[i].head)];
    753753                                bamgmesh->SubDomains[i*4+2]=1;
    754754                                bamgmesh->SubDomains[i*4+3]=subdomains[i].ReferenceNumber;
     
    764764                        for (i=0;i<Gh.nbsubdomains;i++){
    765765                                bamgmesh->SubDomainsFromGeom[i*4+0]=2;
    766                                 bamgmesh->SubDomainsFromGeom[i*4+1]=Number(subdomains[i].edge)+1; //back to Matlab indexing
     766                                bamgmesh->SubDomainsFromGeom[i*4+1]=GetId(subdomains[i].edge)+1; //back to Matlab indexing
    767767                                bamgmesh->SubDomainsFromGeom[i*4+2]=subdomains[i].direction;
    768768                                bamgmesh->SubDomainsFromGeom[i*4+3]=Gh.subdomains[i].ReferenceNumber;
     
    779779                                VertexOnGeom &v=VerticesOnGeomVertex[i];
    780780                                ISSMASSERT(v.OnGeomVertex());
    781                                 bamgmesh->VerticesOnGeometricVertex[i*2+0]=Number((BamgVertex*)v)+1; //back to Matlab indexing
    782                                 bamgmesh->VerticesOnGeometricVertex[i*2+1]=Gh.Number((GeometricalVertex*)v)+1; //back to Matlab indexing
     781                                bamgmesh->VerticesOnGeometricVertex[i*2+0]=GetId((BamgVertex*)v)+1; //back to Matlab indexing
     782                                bamgmesh->VerticesOnGeometricVertex[i*2+1]=Gh.GetId((GeometricalVertex*)v)+1; //back to Matlab indexing
    783783                        }
    784784                }
     
    795795                                        ISSMERROR("A vertices supposed to be OnGeometricEdge is actually not");
    796796                                }
    797                                 bamgmesh->VerticesOnGeometricEdge[i*3+0]=Number((BamgVertex*)v)+1; //back to Matlab indexing
    798                                 bamgmesh->VerticesOnGeometricEdge[i*3+1]=Gh.Number((const GeometricalEdge*)v)+1; //back to Matlab indexing
     797                                bamgmesh->VerticesOnGeometricEdge[i*3+0]=GetId((BamgVertex*)v)+1; //back to Matlab indexing
     798                                bamgmesh->VerticesOnGeometricEdge[i*3+1]=Gh.GetId((const GeometricalEdge*)v)+1; //back to Matlab indexing
    799799                                bamgmesh->VerticesOnGeometricEdge[i*3+2]=(double)v; //absisce
    800800                        }
     
    815815                                if (edges[i].GeometricalEdgeHook){
    816816                                        bamgmesh->EdgesOnGeometricEdge[count*2+0]=(double)i+1; //back to Matlab indexing
    817                                         bamgmesh->EdgesOnGeometricEdge[count*2+1]=(double)Gh.Number(edges[i].GeometricalEdgeHook)+1; //back to Matlab indexing
     817                                        bamgmesh->EdgesOnGeometricEdge[count*2+1]=(double)Gh.GetId(edges[i].GeometricalEdgeHook)+1; //back to Matlab indexing
    818818                                        count=count+1;
    819819                                }
     
    831831                        if (reft[i]>=0){
    832832                                for (j=0;j<3;j++){
    833                                         k=Number(triangles[i].TriangleAdj(j));
     833                                        k=GetId(triangles[i].TriangleAdj(j));
    834834                                        if (reft[k]>=0){
    835835                                                ISSMASSERT(3*num+j<3*(nbt-nbtout));
     
    12891289                //build edge4 (chain)
    12901290                for (i=0;i<nbe;i++){
    1291                         edge4->SortAndAdd(Number(edges[i][0]),Number(edges[i][1]));
     1291                        edge4->SortAndAdd(GetId(edges[i][0]),GetId(edges[i][1]));
    12921292                }
    12931293                //check that there is no double edge
     
    13031303                        for  (j=0;j<3;j++) {
    13041304                                //Add Edge to edge4 (k=numberofedges in edge4)
    1305                                 long k =edge4->SortAndAdd(Number(triangles[i][VerticesOfTriangularEdge[j][0]]), Number(triangles[i][VerticesOfTriangularEdge[j][1]]));
     1305                                long k =edge4->SortAndAdd(GetId(triangles[i][VerticesOfTriangularEdge[j][0]]), GetId(triangles[i][VerticesOfTriangularEdge[j][1]]));
    13061306                                long invisible = triangles[i].Hidden(j);
    13071307
     
    13271327                                //else (see 3 lines above), the edge has been called more than twice: return error
    13281328                                else {
    1329                                         printf("The edge (%i,%i) belongs to more than 2 triangles (%i)\n",Number(triangles[i][VerticesOfTriangularEdge[j][0]]),Number(triangles[i][VerticesOfTriangularEdge[j][1]]),k);
     1329                                        printf("The edge (%i,%i) belongs to more than 2 triangles (%i)\n",GetId(triangles[i][VerticesOfTriangularEdge[j][0]]),GetId(triangles[i][VerticesOfTriangularEdge[j][1]]),k);
    13301330                                        printf("Edge %i of triangle %i\n",j,i);
    13311331                                        printf("Edge %i of triangle %i\n",(-st[k]+2)%3,(-st[k]+2)/3);
    1332                                         printf("Edge %i of triangle %i\n",triangles[(-st[k]+2)/3].NuEdgeTriangleAdj((int)((-st[k]+2)%3)),Number(triangles[(-st[k]+2)/3].TriangleAdj((int)((-st[k]+2)%3))));
     1332                                        printf("Edge %i of triangle %i\n",triangles[(-st[k]+2)/3].NuEdgeTriangleAdj((int)((-st[k]+2)%3)),GetId(triangles[(-st[k]+2)/3].TriangleAdj((int)((-st[k]+2)%3))));
    13331333                                        ISSMERROR("An edge belongs to more than 2 triangles");
    13341334                                }       
     
    15071507
    15081508                                                //color the adjacent triangle
    1509                                                 if ( ! t->Locked(j) && tt && (colorT[jt = Number(tt)] == -1) && ( tt->color==kolor)) {
     1509                                                if ( ! t->Locked(j) && tt && (colorT[jt = GetId(tt)] == -1) && ( tt->color==kolor)) {
    15101510                                                        colorT[jt]=nbsubdomains;
    15111511                                                        st[++level]=jt;
     
    15551555                for (i=0;i<nbv;i++) colorV[i]=-1;
    15561556                for (i=0;i<nbe;i++){
    1557                  for ( j=0;j<2;j++) colorV[Number(edges[i][j])]=0;
     1557                 for ( j=0;j<2;j++) colorV[GetId(edges[i][j])]=0;
    15581558                }
    15591559                //number the vertices belonging to edges
     
    16181618                for (i=0;i<nbe;i++){
    16191619
    1620                         long i0 = Number(edges[i][0]);
    1621                         long i1 = Number(edges[i][1]);
     1620                        long i0 = GetId(edges[i][0]);
     1621                        long i1 = GetId(edges[i][1]);
    16221622                        long j0 = colorV[i0];
    16231623                        long j1 = colorV[i1];
     
    16701670                //Build Gh.subdomains
    16711671                for (i=0;i<nbsubdomains;i++){
    1672                         it = Number(subdomains[i].head);
     1672                        it = GetId(subdomains[i].head);
    16731673                        j = subdomains[i].direction;
    1674                         long i0 = Number(triangles[it][VerticesOfTriangularEdge[j][0]]);
    1675                         long i1 = Number(triangles[it][VerticesOfTriangularEdge[j][1]]);
     1674                        long i0 = GetId(triangles[it][VerticesOfTriangularEdge[j][0]]);
     1675                        long i1 = GetId(triangles[it][VerticesOfTriangularEdge[j][1]]);
    16761676                        k = edge4->SortAndFind(i0,i1);
    16771677                        if(k>=0){
     
    17841784                                //compute chains
    17851785                                for(j=0;j<3;j++){
    1786                                         k=Number(triangles[i][j]);
     1786                                        k=GetId(triangles[i][j]);
    17871787                                        next_p[p]=head_s[k];
    17881788                                        head_s[k]=p++;
     
    18231823                                if(triangles[i].link){
    18241824                                        // number of the 3 vertices
    1825                                         iA = Number(triangles[i][0]);
    1826                                         iB = Number(triangles[i][1]);
    1827                                         iC = Number(triangles[i][2]);
     1825                                        iA = GetId(triangles[i][0]);
     1826                                        iB = GetId(triangles[i][1]);
     1827                                        iC = GetId(triangles[i][2]);
    18281828
    18291829                                        // value of the P1 fonction on 3 vertices
     
    18521852                                if(triangles[i].link){
    18531853                                        // number of the 3 vertices
    1854                                         iA = Number(triangles[i][0]);
    1855                                         iB = Number(triangles[i][1]);
    1856                                         iC = Number(triangles[i][2]);
     1854                                        iA = GetId(triangles[i][0]);
     1855                                        iB = GetId(triangles[i][1]);
     1856                                        iC = GetId(triangles[i][2]);
    18571857
    18581858                                        //Hessian
     
    19601960
    19611961                                // number of the 3 vertices
    1962                                 iA = Number(t[0]);
    1963                                 iB = Number(t[1]);
    1964                                 iC = Number(t[2]);
     1962                                iA = GetId(t[0]);
     1963                                iB = GetId(t[1]);
     1964                                iC = GetId(t[2]);
    19651965
    19661966                                //compute triangle determinant (2*Area)
     
    19771977                                        if ( !ta || !ta->link){
    19781978                                                //mark the two vertices of the edge as OnBoundary
    1979                                                 OnBoundary[Number(t[VerticesOfTriangularEdge[j][0]])]=1;
    1980                                                 OnBoundary[Number(t[VerticesOfTriangularEdge[j][1]])]=1;
     1979                                                OnBoundary[GetId(t[VerticesOfTriangularEdge[j][0]])]=1;
     1980                                                OnBoundary[GetId(t[VerticesOfTriangularEdge[j][1]])]=1;
    19811981                                                nbb++;
    19821982                                        }
     
    20502050
    20512051                                                // number of the 3 vertices
    2052                                                 iA = Number(triangles[i][0]);
    2053                                                 iB = Number(triangles[i][1]);
    2054                                                 iC = Number(triangles[i][2]);
     2052                                                iA = GetId(triangles[i][0]);
     2053                                                iB = GetId(triangles[i][1]);
     2054                                                iC = GetId(triangles[i][2]);
    20552055
    20562056                                                // for the test of  boundary edge
     
    21382138                                                 if(triangles[i].link){// the real triangles
    21392139                                                         // number of the 3 vertices
    2140                                                          iA = Number(triangles[i][0]);
    2141                                                          iB = Number(triangles[i][1]);
    2142                                                          iC = Number(triangles[i][2]);
     2140                                                         iA = GetId(triangles[i][0]);
     2141                                                         iB = GetId(triangles[i][1]);
     2142                                                         iC = GetId(triangles[i][2]);
    21432143                                                         double cc=3;
    21442144                                                         if(ijacobi==0)
     
    21512151                                                        if(triangles[i].link){ // the real triangles
    21522152                                                                // number of the 3 vertices
    2153                                                                 iA = Number(triangles[i][0]);
    2154                                                                 iB = Number(triangles[i][1]);
    2155                                                                 iC = Number(triangles[i][2]);
     2153                                                                iA = GetId(triangles[i][0]);
     2154                                                                iB = GetId(triangles[i][1]);
     2155                                                                iC = GetId(triangles[i][2]);
    21562156                                                                double cc =  workT[i]*detT[i];
    21572157                                                                workV[iA] += cc;
     
    22282228
    22292229                                //Get number of the two vertices on the edge
    2230                                 i1=Number(edges[i][0]);
    2231                                 i2=Number(edges[i][1]);
     2230                                i1=GetId(edges[i][0]);
     2231                                i2=GetId(edges[i][1]);
    22322232                                ISSMASSERT(i1>=0 && i1<nbv && i2>=0 && i2<nbv);
    22332233                                splitvertex[i1]++;
     
    22702270                for(i=0;i<NbCrackedEdges;i++){
    22712271                        //Get the numbers of the 2 vertices of the crren cracked edge
    2272                         i1=Number((*CrackedEdges[i].e1)[0]);
    2273                         i2=Number((*CrackedEdges[i].e1)[1]);
     2272                        i1=GetId((*CrackedEdges[i].e1)[0]);
     2273                        i2=GetId((*CrackedEdges[i].e1)[1]);
    22742274
    22752275                        //find a triangle holding the vertex i1 (first vertex of the ith cracked edge)
    22762276                        Triangle* tbegin=vertices[i1].t;
    22772277                        k=vertices[i1].vint;//local number of i in triangle tbegin
    2278                         ISSMASSERT(Number((*tbegin)[k])==Number(vertices[i1]));
     2278                        ISSMASSERT(GetId((*tbegin)[k])==GetId(vertices[i1]));
    22792279
    22802280                        //Now, we are going to go through the adjacent triangle that hold i1 till
     
    22852285                                for(j=0;j<3;j++){
    22862286                                        //Find the position of i1 in the triangle index
    2287                                         if (Number((*ta.t)[j])==i1){
     2287                                        if (GetId((*ta.t)[j])==i1){
    22882288                                                j1=j;
    22892289                                                break;
     
    22922292                                for(j=0;j<3;j++){
    22932293                                        //Check wether i2 is also in the triangle index
    2294                                         if (Number((*ta.t)[j])==i2){
     2294                                        if (GetId((*ta.t)[j])==i2){
    22952295                                                j2=j;
    22962296                                                //Invert j1 and j2 if necessary
     
    23162316                                        }
    23172317                                }
    2318                                 //printf("%i -> %i %i %i, edge [%i->%i %i->%i]\n",element_renu[Number(ta.t)],Number((*ta.t)[0])+1,Number((*ta.t)[1])+1,Number((*ta.t)[2])+1,i1,j1,i2,j2);
     2318                                //printf("%i -> %i %i %i, edge [%i->%i %i->%i]\n",element_renu[GetId(ta.t)],GetId((*ta.t)[0])+1,GetId((*ta.t)[1])+1,GetId((*ta.t)[2])+1,i1,j1,i2,j2);
    23192319                                ta = Next(ta).Adj();
    23202320                                if (count++>50) ISSMERROR("Maximum number of iteration exceeded");
     
    23652365                                if (nbswp) nbfe++;
    23662366                                if ( nbswp < 0 && k < 5){
    2367                                         ISSMERROR("Missing Edge %i, v0=%i,v1=%i",i,Number(edges[i][0]),Number(edges[i][1]));
     2367                                        ISSMERROR("Missing Edge %i, v0=%i,v1=%i",i,GetId(edges[i][0]),GetId(edges[i][1]));
    23682368                                }
    23692369                        }
     
    24812481                                                subdomains[k].head = t1;
    24822482                                                do {
    2483                                                         mark[Number(t)]=k;
     2483                                                        mark[GetId(t)]=k;
    24842484                                                        t=t->link;
    24852485                                                } while (t!=t1);
     
    25012501                                                                 {
    25022502                                                                  Triangle *ta = triangles[it].TriangleAdj(na);
    2503                                                                   long kl = ta ? mark[Number(ta)] : -2;
     2503                                                                  long kl = ta ? mark[GetId(ta)] : -2;
    25042504                                                                  long kr = mark[it];
    25052505                                                                  if(kr !=kl) {
     
    25572557                                        // by carefull is not easy to find a edge create from a GeometricalEdge
    25582558                                        // see routine MakeGeometricalEdgeToEdge
    2559                                         Edge &e = *GeometricalEdgetoEdge[Gh.Number(eg)];
     2559                                        Edge &e = *GeometricalEdgetoEdge[Gh.GetId(eg)];
    25602560                                        if (&e==NULL){
    25612561                                                ISSMERROR("&e==NULL");
     
    25862586                                                                ISSMERROR("bad definition of SubSomain %i",i);
    25872587                                                        }
    2588                                                         long it = Number(t);
     2588                                                        long it = GetId(t);
    25892589                                                        if (mark[it] >=0) {
    25902590                                                                break;
     
    25982598                                                          {
    25992599                                                                kkk++;
    2600                                                                 if (mark[Number(tt)]>=0){
    2601                                                                         ISSMERROR("mark[Number(tt)]>=0");
     2600                                                                if (mark[GetId(tt)]>=0){
     2601                                                                        ISSMERROR("mark[GetId(tt)]>=0");
    26022602                                                                }
    2603                                                                 mark[Number(tt)]=i;
     2603                                                                mark[GetId(tt)]=i;
    26042604                                                                tt=tt->link;
    26052605                                                          } while (tt!=t);
     
    29252925                        Edge * ei = edges+i;
    29262926                        GeometricalEdge *GeometricalEdgeHook = ei->GeometricalEdgeHook;
    2927                         e[Gh.Number(GeometricalEdgeHook)] = ei;   
     2927                        e[Gh.GetId(GeometricalEdgeHook)] = ei;   
    29282928                  }
    29292929                for ( i=0;i<nbe ; i++)
     
    29352935                                 Adj(GeometricalEdgeHook,j); // next geom edge
    29362936                                 j=1-j;
    2937                                  if (e[Gh.Number(GeometricalEdgeHook)])  break; // optimisation
    2938                                  e[Gh.Number(GeometricalEdgeHook)] = ei;
     2937                                 if (e[Gh.GetId(GeometricalEdgeHook)])  break; // optimisation
     2938                                 e[Gh.GetId(GeometricalEdgeHook)] = ei;
    29392939                         }
    29402940                 }
     
    30203020                        for (int j=0;j<3;j++){
    30213021                                Triangle &tt = *t.TriangleAdj(j);
    3022                                 if ( ! &tt ||  it < Number(tt) && ( tt.link || t.link)){
     3022                                if ( ! &tt ||  it < GetId(tt) && ( tt.link || t.link)){
    30233023                                        BamgVertex &v0 = t[VerticesOfTriangularEdge[j][0]];
    30243024                                        BamgVertex &v1 = t[VerticesOfTriangularEdge[j][1]];
     
    31603160                                        R2 A=vA;
    31613161                                        R2 B=vB;
    3162                                         k=Number(ta);
     3162                                        k=GetId(ta);
    31633163
    31643164                                        //if this edge has already been done, go to next edge of triangle
     
    31813181                                long kt;
    31823182                                do {
    3183                                         kt = Number((Triangle*) ta);
     3183                                        kt = GetId((Triangle*) ta);
    31843184                                        if (first_np_or_next_t[kt]>0){
    31853185                                                first_np_or_next_t[kt]=-Headt;
     
    32223222                }
    32233223                else {
    3224                         ISSMERROR("ProjectOnCurve On BamgVertex %i forget call to SetVertexFieldOnBTh",BTh.Number(vA));
     3224                        ISSMERROR("ProjectOnCurve On BamgVertex %i forget call to SetVertexFieldOnBTh",BTh.GetId(vA));
    32253225                }
    32263226
     
    32333233                }
    32343234                else {
    3235                         ISSMERROR("ProjectOnCurve On BamgVertex %i forget call to SetVertexFieldOnBTh",BTh.Number(vB));
     3235                        ISSMERROR("ProjectOnCurve On BamgVertex %i forget call to SetVertexFieldOnBTh",BTh.GetId(vB));
    32363236                }
    32373237                Edge * e = &BhAB;
     
    33683368        SetOfEdges4* edge4= new SetOfEdges4(nbt*3,nbv);
    33693369        for (i=0;i<nbe;i++){
    3370                 kk=kk+(i==edge4->SortAndAdd(Number(edges[i][0]),Number(edges[i][1])));
     3370                kk=kk+(i==edge4->SortAndAdd(GetId(edges[i][0]),GetId(edges[i][1])));
    33713371        }
    33723372        if (kk != nbe){
     
    33813381
    33823382                        //Add current triangle edge to edge4
    3383                         long k =edge4->SortAndAdd(Number(triangles[i][VerticesOfTriangularEdge[j][0]]),Number(triangles[i][VerticesOfTriangularEdge[j][1]]));
     3383                        long k =edge4->SortAndAdd(GetId(triangles[i][VerticesOfTriangularEdge[j][0]]),GetId(triangles[i][VerticesOfTriangularEdge[j][1]]));
    33843384
    33853385                        long invisible=triangles[i].Hidden(j);
     
    34033403                        //An edge belongs to 2 triangles
    34043404                        else {
    3405                                 ISSMERROR("The edge (%i , %i) belongs to more than 2 triangles",Number(triangles[i][VerticesOfTriangularEdge[j][0]]),Number(triangles[i][VerticesOfTriangularEdge[j][1]]));
     3405                                ISSMERROR("The edge (%i , %i) belongs to more than 2 triangles",GetId(triangles[i][VerticesOfTriangularEdge[j][0]]),GetId(triangles[i][VerticesOfTriangularEdge[j][1]]));
    34063406                        }
    34073407                }
     
    35473547                                        BamgVertex *v0= ta.EdgeVertex(0);
    35483548                                        BamgVertex *v1= ta.EdgeVertex(1);
    3549                                         long k =edge4->SortAndAdd(v0?Number(v0):nbv,v1? Number(v1):nbv);
     3549                                        long k =edge4->SortAndAdd(v0?GetId(v0):nbv,v1? GetId(v1):nbv);
    35503550
    35513551                                        ISSMASSERT(st[k]>=0);
     
    36233623                                        /*Check that the 2 vertices are on geometry AND required*/
    36243624                                        if(!edges[i][j].GeometricalEdgeHook->IsRequiredVertex()){
    3625                                                 printf("ReconstructExistingMesh error message: problem with the edge number %i: [%i %i]\n",i+1,Number(edges[i][0])+1,Number(edges[i][1])+1);
    3626                                                 printf("This edge is on geometrical edge number %i\n",Gh.Number(edges[i].GeometricalEdgeHook)+1);
     3625                                                printf("ReconstructExistingMesh error message: problem with the edge number %i: [%i %i]\n",i+1,GetId(edges[i][0])+1,GetId(edges[i][1])+1);
     3626                                                printf("This edge is on geometrical edge number %i\n",Gh.GetId(edges[i].GeometricalEdgeHook)+1);
    36273627                                                if (edges[i][j].GeometricalEdgeHook->OnGeomVertex())
    3628                                                  printf("the vertex number %i of this edge is a geometric BamgVertex number %i\n",Number(edges[i][j])+1,Gh.Number(edges[i][j].GeometricalEdgeHook->gv)+1);
     3628                                                 printf("the vertex number %i of this edge is a geometric BamgVertex number %i\n",GetId(edges[i][j])+1,Gh.GetId(edges[i][j].GeometricalEdgeHook->gv)+1);
    36293629                                                else if (edges[i][j].GeometricalEdgeHook->OnGeomEdge())
    3630                                                  printf("the vertex number %i of this edge is a geometric Edge number %i\n",Number(edges[i][j])+1,Gh.Number(edges[i][j].GeometricalEdgeHook->ge)+1);
     3630                                                 printf("the vertex number %i of this edge is a geometric Edge number %i\n",GetId(edges[i][j])+1,Gh.GetId(edges[i][j].GeometricalEdgeHook->ge)+1);
    36313631                                                else
    36323632                                                 printf("Its pointer is %p\n",edges[i][j].GeometricalEdgeHook);
     
    36593659                        }
    36603660                        do {
    3661                                 long kt = Number(t);
     3661                                long kt = GetId(t);
    36623662                                if (kt<0 || kt >= nbt ){
    36633663                                        ISSMERROR("kt<0 || kt >= nbt");
     
    36883688
    36893689                for ( i=0;i<nbsubdomains;i++)
    3690                  subdomains[i].head=triangles+renu[Number(subdomains[i].head)];
     3690                 subdomains[i].head=triangles+renu[GetId(subdomains[i].head)];
    36913691
    36923692                // move the Triangles  without a copy of the array
     
    37333733                        BamgVertex *v = VerticesOnGeomVertex[i].mv;
    37343734                        if (v>=vertices && v < ve)
    3735                          VerticesOnGeomVertex[i].mv=vertices+renu[Number(v)];
     3735                         VerticesOnGeomVertex[i].mv=vertices+renu[GetId(v)];
    37363736                  }
    37373737
     
    37413741                        BamgVertex *v =VerticesOnGeomEdge[i].mv;
    37423742                        if (v>=vertices && v < ve)
    3743                          VerticesOnGeomEdge[i].mv=vertices+renu[Number(v)];
     3743                         VerticesOnGeomEdge[i].mv=vertices+renu[GetId(v)];
    37443744                  }
    37453745
     
    37493749                        BamgVertex *v=VertexOnBThVertex[i].v;
    37503750                        if (v>=vertices && v < ve)
    3751                          VertexOnBThVertex[i].v=vertices+renu[Number(v)];
     3751                         VertexOnBThVertex[i].v=vertices+renu[GetId(v)];
    37523752                  }
    37533753
     
    37563756                        BamgVertex *v=VertexOnBThEdge[i].v;
    37573757                        if (v>=vertices && v < ve)
    3758                          VertexOnBThEdge[i].v=vertices+renu[Number(v)];
     3758                         VertexOnBThEdge[i].v=vertices+renu[GetId(v)];
    37593759                  }
    37603760
     
    39273927                        {
    39283928                         Triangle *ta = triangles[it].TriangleAdj(j);
    3929                          if ( !ta || !ta->link || Number(ta) >= it)
     3929                         if ( !ta || !ta->link || GetId(ta) >= it)
    39303930                                {
    39313931                                 BamgVertex & vP = triangles[it][VerticesOfTriangularEdge[j][0]];
     
    39753975          tstart[i]=0;
    39763976        for ( j=0;j<NbVerticesOnGeomVertex;j++ )
    3977          tstart[ Number(VerticesOnGeomVertex[j].mv)]=&vide;
     3977         tstart[ GetId(VerticesOnGeomVertex[j].mv)]=&vide;
    39783978        for ( k=0;k<NbVerticesOnGeomEdge;k++ )
    3979          tstart[ Number(VerticesOnGeomEdge[k].mv)]=&vide;
     3979         tstart[ GetId(VerticesOnGeomEdge[k].mv)]=&vide;
    39803980        if(verbose>2) printf("   SmoothingVertex: nb Iteration = %i, Omega=%g\n",nbiter,omega);
    39813981        for (k=0;k<nbiter;k++)
     
    41534153
    41544154
    4155                         kk += (i == edge4->SortAndAdd(Number(edges[i][0]),Number(edges[i][1])));
     4155                        kk += (i == edge4->SortAndAdd(GetId(edges[i][0]),GetId(edges[i][1])));
    41564156                        if (ong) // a geometrical edges
    41574157                          {
     
    41644164                                                ISSMERROR("!edgesGtoB");
    41654165                                        }
    4166                                         ong= ProjectOnCurve(*edgesGtoB[Gh.Number(edges[i].GeometricalEdgeHook)],
     4166                                        ong= ProjectOnCurve(*edgesGtoB[Gh.GetId(edges[i].GeometricalEdgeHook)],
    41674167                                                                edges[i][0],edges[i][1],0.5,vertices[k],
    41684168                                                                newVertexOnBThEdge[kvb],
     
    42444244                                const BamgVertex & v0 = t[VerticesOfTriangularEdge[j][0]];
    42454245                                const BamgVertex & v1 = t[VerticesOfTriangularEdge[j][1]];
    4246                                 long  ke =edge4->SortAndFind(Number(v0),Number(v1));
     4246                                long  ke =edge4->SortAndFind(GetId(v0),GetId(v1));
    42474247                                if (ke>0)
    42484248                                  {
    4249                                         long ii = Number(tt);
     4249                                        long ii = GetId(tt);
    42504250                                        int  jj = ta;
    42514251                                        long ks = ke + nbvold;
     
    42954295                                if ( kedge[3*i+j] < 0)
    42964296                                  {
    4297                                         long  ke =edge4->SortAndFind(Number(v0),Number(v1));
     4297                                        long  ke =edge4->SortAndFind(GetId(v0),GetId(v1));
    42984298                                        if (ke<0) // new
    42994299                                          {
    43004300                                                if (&tt) // internal triangles all the boundary
    43014301                                                  { // new internal edges
    4302                                                         long ii = Number(tt);
     4302                                                        long ii = GetId(tt);
    43034303                                                        int  jj = ta;
    43044304
     
    46004600                  if(!t.Locked(j) && !t.Hidden(j)){
    46014601                          Triangle &tt = *t.TriangleAdj(j);
    4602                           if ( &tt && tt.link && it < Number(tt))
     4602                          if ( &tt && tt.link && it < GetId(tt))
    46034603                                 { // an internal edge
    46044604                                  BamgVertex &v0 = t[VerticesOfTriangularEdge[j][0]];
     
    46784678                /*Check output (Vertex a)*/
    46794679                if (!a)    ISSMERROR("problem while trying to find nearest vertex from a given point. No output found");
    4680                 if (!a->t) ISSMERROR("no triangle is associated to vertex number %i (orphan?)",Number(a)+1);
     4680                if (!a->t) ISSMERROR("no triangle is associated to vertex number %i (orphan?)",GetId(a)+1);
    46814681                ISSMASSERT(a>=vertices && a<vertices+nbv);
    46824682
     
    47864786
    47874787                        //get current triangle number
    4788                         num = Number(t);
     4788                        num = GetId(t);
    47894789
    47904790                        //check that num is in [0 nbt[
     
    52665266
    52675267                                                /*Get index of current curve*/
    5268                                                 int icurveequi= Gh.Number(curve);
     5268                                                int icurveequi= Gh.GetId(curve);
    52695269
    52705270                                                /*For phase 0, check that we are at the begining of the curve only*/
     
    53635363                                                                }
    53645364                                                                if (!ee.adj[k1]) {
    5365                                                                         ISSMERROR(" adj edge %i, nbe=%i, Gh.vertices=%i",BTh.Number(ee),nbe,Gh.vertices);
     5365                                                                        ISSMERROR(" adj edge %i, nbe=%i, Gh.vertices=%i",BTh.GetId(ee),nbe,Gh.vertices);
    53665366                                                                }
    53675367                                                                pe = ee.adj[k1]; // next edge
  • issm/trunk/src/c/objects/Bamg/Mesh.h

    r5148 r5149  
    105105                        Metric MetricAt (const R2 &) const;
    106106                        GeometricalEdge* ProjectOnCurve( Edge & AB, BamgVertex &  A, BamgVertex & B,double theta, BamgVertex & R,VertexOnEdge & BR,VertexOnGeom & GR);
    107                         long Number(const Triangle & t) const  { return &t - triangles;}
    108                         long Number(const Triangle * t) const  { return t - triangles;}
    109                         long Number(const BamgVertex & t) const  { return &t - vertices;}
    110                         long Number(const BamgVertex * t) const  { return t - vertices;}
    111                         long Number(const Edge & t) const  { return &t - edges;}
    112                         long Number(const Edge * t) const  { return t - edges;}
     107                        long GetId(const Triangle & t) const  { return &t - triangles;}
     108                        long GetId(const Triangle * t) const  { return t - triangles;}
     109                        long GetId(const BamgVertex & t) const  { return &t - vertices;}
     110                        long GetId(const BamgVertex * t) const  { return t - vertices;}
     111                        long GetId(const Edge & t) const  { return &t - edges;}
     112                        long GetId(const Edge * t) const  { return t - edges;}
    113113                        long Number2(const Triangle * t) const  { return t - triangles; }
    114114                        BamgVertex* NearestVertex(Icoor1 i,Icoor1 j) ;
  • issm/trunk/src/c/objects/Bamg/SubDomain.cpp

    r5095 r5149  
    1818                        ISSMERROR("head-Th.triangles<0 || head-Th.triangles>=Th.nbt");
    1919                }
    20                 head = ThNew.triangles + Th.Number(head) ;
     20                head = ThNew.triangles + Th.GetId(head) ;
    2121                if (edge-Th.edges<0 || edge-Th.edges>=Th.nbe);{
    2222                        ISSMERROR("edge-Th.edges<0 || edge-Th.edges>=Th.nbe");
    2323                }
    24                 edge = ThNew.edges+ Th.Number(edge);
     24                edge = ThNew.edges+ Th.GetId(edge);
    2525        }
    2626        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/Triangle.cpp

    r5148 r5149  
    200200        void Triangle::Set(const Triangle & rec,const Mesh & Th ,Mesh & ThNew){
    201201                *this = rec;
    202                 if ( vertices[0] ) vertices[0] = ThNew.vertices +  Th.Number(vertices[0]);
    203                 if ( vertices[1] ) vertices[1] = ThNew.vertices +  Th.Number(vertices[1]);
    204                 if ( vertices[2] ) vertices[2] = ThNew.vertices +  Th.Number(vertices[2]);
    205                 if(adj[0]) adj[0] =  ThNew.triangles + Th.Number(adj[0]);
    206                 if(adj[1]) adj[1] =  ThNew.triangles + Th.Number(adj[1]);
    207                 if(adj[2]) adj[2] =  ThNew.triangles + Th.Number(adj[2]);
     202                if ( vertices[0] ) vertices[0] = ThNew.vertices +  Th.GetId(vertices[0]);
     203                if ( vertices[1] ) vertices[1] = ThNew.vertices +  Th.GetId(vertices[1]);
     204                if ( vertices[2] ) vertices[2] = ThNew.vertices +  Th.GetId(vertices[2]);
     205                if(adj[0]) adj[0] =  ThNew.triangles + Th.GetId(adj[0]);
     206                if(adj[1]) adj[1] =  ThNew.triangles + Th.GetId(adj[1]);
     207                if(adj[2]) adj[2] =  ThNew.triangles + Th.GetId(adj[2]);
    208208                if (link  >= Th.triangles && link  < Th.triangles + Th.nbt)
    209                  link = ThNew.triangles + Th.Number(link);
     209                 link = ThNew.triangles + Th.GetId(link);
    210210        }
    211211        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/VertexOnEdge.cpp

    r5095 r5149  
    1515        void VertexOnEdge::Set(const Mesh & Th ,long i,Mesh & ThNew){
    1616                *this = Th.VertexOnBThEdge[i]; 
    17                 v = ThNew.vertices + Th.Number(v);
     17                v = ThNew.vertices + Th.GetId(v);
    1818        }
    1919        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/VertexOnGeom.cpp

    r5095 r5149  
    1616        void VertexOnGeom::Set(const VertexOnGeom & rec,const Mesh & Th ,Mesh & ThNew){
    1717                *this = rec; 
    18                 mv = ThNew.vertices + Th.Number(mv);
     18                mv = ThNew.vertices + Th.GetId(mv);
    1919                if (gv)
    2020                 if (abscisse < 0 )
    21                   gv = ThNew.Gh.vertices + Th.Gh.Number(gv);
     21                  gv = ThNew.Gh.vertices + Th.Gh.GetId(gv);
    2222                 else
    23                   ge = ThNew.Gh.edges + Th.Gh.Number(ge);
     23                  ge = ThNew.Gh.edges + Th.Gh.GetId(ge);
    2424
    2525        }
  • issm/trunk/src/c/objects/Bamg/VertexOnVertex.cpp

    r5095 r5149  
    1515        void VertexOnVertex::Set(const Mesh &Th ,long i,Mesh &ThNew) {
    1616                *this = Th.VertexOnBThVertex[i]; 
    17                 v     = ThNew.vertices + Th.Number(v);
     17                v     = ThNew.vertices + Th.GetId(v);
    1818        }
    1919        /*}}}*/
Note: See TracChangeset for help on using the changeset viewer.