Changeset 5460


Ignore:
Timestamp:
08/20/10 16:03:01 (15 years ago)
Author:
Mathieu Morlighem
Message:

as usual: renaming

Location:
issm/trunk/src/c/objects/Bamg
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Bamg/BamgVertex.cpp

    r5400 r5460  
    109109        long BamgVertex::Optim(int i,int koption){
    110110                long ret=0;
    111                 if ( t && (vint >= 0 ) && (vint <3) ){
    112                         ret = t->Optim(vint,koption);
     111                if ( t && (IndexInTriangle >= 0 ) && (IndexInTriangle <3) ){
     112                        ret = t->Optim(IndexInTriangle,koption);
    113113                        if(!i){
    114114                                t =0; // for no future optime
    115                                 vint= 0;
     115                                IndexInTriangle= 0;
    116116                        }
    117117                }
     
    128128                register Triangle* tbegin= t , *tria = t , *ttc;
    129129
    130                 register int k=0,kk=0,j = EdgesVertexTriangle[vint][0],jc;
     130                register int k=0,kk=0,j = EdgesVertexTriangle[IndexInTriangle][0],jc;
    131131                R2 P(s->r),PNew(0,0);
    132132                do {
  • issm/trunk/src/c/objects/Bamg/BamgVertex.h

    r5447 r5460  
    2525                        long      ReferenceNumber;
    2626                        Direction DirOfSearch;
    27                         short     vint;              // the vertex number in triangle; varies between 0 and 2 in t
     27                        short     IndexInTriangle;              // the vertex number in triangle; varies between 0 and 2 in t
    2828
    2929                        union {
    3030                                Triangle     *t;                      // one triangle which is containing the vertex
    3131                                long          color;
    32                                 BamgVertex   *to;                     // used in geometry BamgVertex to know the Mesh Vertex associated
    33                                 VertexOnGeom *GeometricalEdgeHook;    // if vint == 8; // set with Mesh::SetVertexFieldOn()
    34                                 BamgVertex   *BackgroundVertexHook;   // if vint == 16 on Background vertex Mesh::SetVertexFieldOnBTh()
    35                                 VertexOnEdge *BackgroundEdgeHook;     // if vint == 32 on Background edge
     32                                BamgVertex   *MeshVertexHook;         // used in geometry BamgVertex to know the Mesh Vertex associated
     33                                VertexOnGeom *GeometricalEdgeHook;    // if IndexInTriangle == 8; // set with Mesh::SetVertexFieldOn()
     34                                BamgVertex   *BackgroundVertexHook;   // if IndexInTriangle == 16 on Background vertex Mesh::SetVertexFieldOnBTh()
     35                                VertexOnEdge *BackgroundEdgeHook;     // if IndexInTriangle == 32 on Background edge
    3636                        };
    3737
  • issm/trunk/src/c/objects/Bamg/Mesh.cpp

    r5448 r5460  
    219219        /*}}}1*/
    220220        /*FUNCTION Mesh::Mesh(long maxnbv,Mesh & BT,BamgOpts* bamgopts,int keepBackVertices){{{1*/
    221         Mesh::Mesh(long maxnbv,Mesh & BT,BamgOpts* bamgopts,int keepBackVertices) :Gh(BT.Gh),BTh(BT) {
    222                 TriangulateFromGeom1(maxnbv,bamgopts,keepBackVertices);
     221        Mesh::Mesh(long imaxnbv,Mesh & BT,BamgOpts* bamgopts,int keepBackVertices) :Gh(BT.Gh),BTh(BT) {
     222                this->Init(imaxnbv);
     223                TriangulateFromGeom1(bamgopts,keepBackVertices);
    223224        }
    224225        /*}}}1*/
    225226        /*FUNCTION Mesh::Mesh(long maxnbv,Geometry & G,BamgOpts* bamgopts){{{1*/
    226         Mesh::Mesh(long maxnbv,Geometry & G,BamgOpts* bamgopts):Gh(G),BTh(*this){
    227                 TriangulateFromGeom0(maxnbv,bamgopts);
     227        Mesh::Mesh(long imaxnbv,Geometry & G,BamgOpts* bamgopts):Gh(G),BTh(*this){
     228                Init(imaxnbv);
     229                TriangulateFromGeom0(bamgopts);
    228230        }
    229231        /*}}}1*/
     
    22672269                        //find a triangle holding the vertex i1 (first vertex of the ith cracked edge)
    22682270                        Triangle* tbegin=vertices[i1].t;
    2269                         k=vertices[i1].vint;//local number of i in triangle tbegin
     2271                        k=vertices[i1].IndexInTriangle;//local number of i in triangle tbegin
    22702272                        ISSMASSERT(GetId((*tbegin)[k])==GetId(vertices[i1]));
    22712273
     
    25842586                                        ISSMASSERT(t && direction);
    25852587
    2586                                         AdjacentTriangle  ta(t,EdgesVertexTriangle[v0->vint][0]);// previous edges
     2588                                        AdjacentTriangle  ta(t,EdgesVertexTriangle[v0->IndexInTriangle][0]);// previous edges
    25872589
    25882590                                        while (1) {
     
    32313233                        for (i=nbvold;i<nbv;i++){
    32323234                                BamgVertex*          s  = vertices + i;
    3233                                 AdjacentTriangle ta(s->t, EdgesVertexTriangle[s->vint][1]);
     3235                                AdjacentTriangle ta(s->t, EdgesVertexTriangle[s->IndexInTriangle][1]);
    32343236                                Triangle*        tbegin= (Triangle*) ta;
    32353237                                long kt;
     
    32733275                R2 A=vA,B=vB;
    32743276                BamgVertex * pvA=&vA, * pvB=&vB;
    3275                 if (vA.vint == IsVertexOnVertex){
     3277                if (vA.IndexInTriangle == IsVertexOnVertex){
    32763278                        pA=vA.BackgroundVertexHook;
    32773279                }
    3278                 else if (vA.vint == IsVertexOnEdge){
     3280                else if (vA.IndexInTriangle == IsVertexOnEdge){
    32793281                        pA=vA.BackgroundEdgeHook->be;
    32803282                        tA=vA.BackgroundEdgeHook->abcisse;
     
    32843286                }
    32853287
    3286                 if (vB.vint == IsVertexOnVertex){
     3288                if (vB.IndexInTriangle == IsVertexOnVertex){
    32873289                        pB=vB.BackgroundVertexHook;
    32883290                }
    3289                 else if(vB.vint == IsVertexOnEdge){
     3291                else if(vB.IndexInTriangle == IsVertexOnEdge){
    32903292                        pB=vB.BackgroundEdgeHook->be;
    32913293                        tB=vB.BackgroundEdgeHook->abcisse;
     
    33093311                // 2 walk n back gound boundary to find the final vertex B
    33103312
    3311                 if( vA.vint == IsVertexOnEdge)
     3313                if( vA.IndexInTriangle == IsVertexOnEdge)
    33123314                  { // find the start edge
    33133315                        e = vA.BackgroundEdgeHook->be;   
    33143316
    33153317                  }
    3316                 else if (vB.vint == IsVertexOnEdge)
     3318                else if (vB.IndexInTriangle == IsVertexOnEdge)
    33173319                  {
    33183320                        theta = 1-theta;
     
    35073509        for (i=0;i<nbv;i++){
    35083510                vertices[i].t=0;
    3509                 vertices[i].vint=0;
     3511                vertices[i].IndexInTriangle=0;
    35103512                if (ordre[i]) ordre[nbvb++]=ordre[i];
    35113513        }
     
    40864088                        }
    40874089                        BamgVertex & vi = vertices[i];
    4088                         AdjacentTriangle ta(t,EdgesVertexTriangle[vertices[i].vint][0]);
     4090                        AdjacentTriangle ta(t,EdgesVertexTriangle[vertices[i].IndexInTriangle][0]);
    40894091                        BamgVertex *pvj0 = ta.EdgeVertex(0);
    40904092                        while (1) {
     
    48714873/*}}}1*/
    48724874        /*FUNCTION Mesh::TriangulateFromGeom0{{{1*/
    4873         void Mesh::TriangulateFromGeom0(long imaxnbv,BamgOpts* bamgopts){
     4875        void Mesh::TriangulateFromGeom0(BamgOpts* bamgopts){
    48744876                /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/GeomToTriangles0)*/
    48754877                /*Generate mesh from geometry*/
     
    48944896
    48954897                //initialize Mesh
    4896                 Init(imaxnbv);
    48974898                nbv=0;
    48984899                NbVerticesOnGeomVertex=0;
     
    49224923                               
    49234924                                //Add pointer from geometry (Gh) to vertex from mesh (Th)
    4924                                 Gh[i].to=vertices+nbv;
     4925                                Gh[i].MeshVertexHook=vertices+nbv;
    49254926
    49264927                                //Build VerticesOnGeomVertex for current point
    4927                                 VerticesOnGeomVertex[nbv]=VertexOnGeom(*Gh[i].to,Gh[i]);
     4928                                VerticesOnGeomVertex[nbv]=VertexOnGeom(*Gh[i].MeshVertexHook,Gh[i]);
    49284929
    49294930                                //nbv increment
     
    49794980                                                                //check that edges has been allocated
    49804981                                                                ISSMASSERT(edges);
    4981                                                                 edges[nbe].v[0]=a->to;
    4982                                                                 edges[nbe].v[1]=b->to;;
     4982                                                                edges[nbe].v[0]=a->MeshVertexHook;
     4983                                                                edges[nbe].v[1]=b->MeshVertexHook;;
    49834984                                                                edges[nbe].ReferenceNumber = e->ReferenceNumber;
    49844985                                                                edges[nbe].GeometricalEdgeHook = e;
     
    50065007                                                                e=&ei;          // e = reference of current edge
    50075008                                                                a=ei(k);        // a = pointer toward the kth vertex of the current edge
    5008                                                                 va = a->to;    // va = pointer toward mesh vertex associated
     5009                                                                va = a->MeshVertexHook; // va = pointer toward mesh vertex associated
    50095010                                                                e->SetMark();   // Mark edge
    50105011
     
    51045105                                                                        ISSMASSERT(e);
    51055106                                                                }// for(;;)
    5106                                                                 vb = b->to;
     5107                                                                vb = b->MeshVertexHook;
    51075108                                                                NbEdgeCurve = Max((long) (lcurve +0.5), (long) 1);
    51085109                                                                NbNewPoints = NbEdgeCurve-1;
     
    51655166        /*}}}1*/
    51665167        /*FUNCTION Mesh::TriangulateFromGeom1{{{1*/
    5167         void Mesh::TriangulateFromGeom1(long imaxnbv,BamgOpts* bamgopts,int KeepVertices){
     5168        void Mesh::TriangulateFromGeom1(BamgOpts* bamgopts,int KeepVertices){
    51685169                /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/GeomToTriangles1)*/
    51695170
     
    51955196
    51965197                //Initialize new mesh
    5197                 this->Init(imaxnbv);
    51985198                BTh.SetVertexFieldOn();
    51995199                int* bcurve = new int[Gh.nbcurves]; //
     
    52245224                                vertices[nbv]  =Gh[i];
    52255225                                vertices[nbv].i=I2(0,0);
    5226                                 Gh[i].to = vertices + nbv;// save Geom -> Th
     5226                                Gh[i].MeshVertexHook = vertices + nbv;// save Geom -> Th
    52275227                                VerticesOnGeomVertex[nbv]= VertexOnGeom(vertices[nbv],Gh[i]);
    52285228                                nbv++;
    52295229                        }
    5230                         else Gh[i].to=0;
     5230                        else Gh[i].MeshVertexHook=0;
    52315231                }
    52325232                for (i=0;i<BTh.NbVerticesOnGeomVertex;i++){
     
    52355235                                GeometricalVertex* gv=vog;
    52365236                                BamgVertex *bv = vog;
    5237                                 ISSMASSERT(gv->to); // use of Geom -> Th
    5238                                 VertexOnBThVertex[NbVertexOnBThVertex++]=VertexOnVertex(gv->to,bv);
    5239                                 gv->to->m = bv->m; // for taking the metrix of the background mesh
     5237                                ISSMASSERT(gv->MeshVertexHook); // use of Geom -> Th
     5238                                VertexOnBThVertex[NbVertexOnBThVertex++]=VertexOnVertex(gv->MeshVertexHook,bv);
     5239                                gv->MeshVertexHook->m = bv->m; // for taking the metrix of the background mesh
    52405240                        }
    52415241                }
     
    53375337                                        register GeometricalVertex * GA0 = *(*peequi)[k0equi].GeometricalEdgeHook;
    53385338                                        BamgVertex *A0;
    5339                                         A0 = GA0->to;  // the vertex in new mesh
     5339                                        A0 = GA0->MeshVertexHook;  // the vertex in new mesh
    53405340                                        BamgVertex *A1;
    53415341                                        VertexOnGeom *GA1;
     
    53465346                                        if(ongequi->Required()){
    53475347                                                GeometricalVertex *GA1 = *(*peequi)[1-k0equi].GeometricalEdgeHook;
    5348                                                 A1 = GA1->to;  //
     5348                                                A1 = GA1->MeshVertexHook;  //
    53495349                                        }       
    53505350                                        else {
     
    54105410                                                                ISSMASSERT(eeequi[k1equi].GeometricalEdgeHook->IsRequiredVertex());
    54115411                                                                register GeometricalVertex * GA1 = *eeequi[k1equi].GeometricalEdgeHook;
    5412                                                                 A1=GA1->to;// the vertex in new mesh
     5412                                                                A1=GA1->MeshVertexHook;// the vertex in new mesh
    54135413                                                                ISSMASSERT(A1-vertices>=0 && A1-vertices<nbv);
    54145414                                                                break;
     
    56915691        taret=AdjacentTriangle(0,0); // erreur
    56925692
    5693         AdjacentTriangle tta(a.t,EdgesVertexTriangle[a.vint][0]);
     5693        AdjacentTriangle tta(a.t,EdgesVertexTriangle[a.IndexInTriangle][0]);
    56945694        BamgVertex   *v1, *v2 = tta.EdgeVertex(0),*vbegin =v2;
    56955695        // we turn around a in the  direct direction 
  • issm/trunk/src/c/objects/Bamg/Mesh.h

    r5401 r5460  
    125125                        //Inline methods
    126126                        inline  void CreateSingleVertexToTriangleConnectivity(){
    127                                 for (int i=0;i<nbv;i++) vertices[i].vint=0, vertices[i].t=NULL;
     127                                for (int i=0;i<nbv;i++) vertices[i].IndexInTriangle=0, vertices[i].t=NULL;
    128128                                for (int i=0;i<nbt;i++) triangles[i].SetSingleVertexToTriangleConnectivity();
    129129                        }
     
    145145
    146146                private:
    147                         void TriangulateFromGeom1(long maxnbv,BamgOpts* bamgopts,int KeepVertices=1);// the real constructor mesh adaption
    148                         void TriangulateFromGeom0(long maxnbv,BamgOpts* bamgopts);// the real constructor mesh generator
     147                        void TriangulateFromGeom1(BamgOpts* bamgopts,int KeepVertices=1);// the real constructor mesh adaption
     148                        void TriangulateFromGeom0(BamgOpts* bamgopts);// the real constructor mesh generator
    149149                        void Init(long);
    150150        };
  • issm/trunk/src/c/objects/Bamg/Triangle.cpp

    r5401 r5460  
    299299        /*FUNCTION Triangle::SetSingleVertexToTriangleConnectivity{{{1*/
    300300        void Triangle::SetSingleVertexToTriangleConnectivity() {
    301                 if (vertices[0]) (vertices[0]->t=this,vertices[0]->vint=0);
    302                 if (vertices[1]) (vertices[1]->t=this,vertices[1]->vint=1);
    303                 if (vertices[2]) (vertices[2]->t=this,vertices[2]->vint=2);
     301                if (vertices[0]) (vertices[0]->t=this,vertices[0]->IndexInTriangle=0);
     302                if (vertices[1]) (vertices[1]->t=this,vertices[1]->IndexInTriangle=1);
     303                if (vertices[2]) (vertices[2]->t=this,vertices[2]->IndexInTriangle=2);
    304304        }/*}}}*/
    305305        /*FUNCTION Triangle::SetUnMarkUnSwap{{{1*/
  • issm/trunk/src/c/objects/Bamg/VertexOnEdge.cpp

    r5150 r5460  
    2121        void VertexOnEdge::SetOnBTh(){
    2222                v->BackgroundEdgeHook=this;
    23                 v->vint=IsVertexOnEdge; 
     23                v->IndexInTriangle=IsVertexOnEdge; 
    2424        }
    2525        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/VertexOnGeom.cpp

    r5447 r5460  
    5858        void VertexOnGeom::SetOn(){
    5959                mv->GeometricalEdgeHook=this;
    60                 mv->vint=IsVertexOnGeom;
     60                mv->IndexInTriangle=IsVertexOnGeom;
    6161        }
    6262        /*}}}*/
  • issm/trunk/src/c/objects/Bamg/VertexOnVertex.cpp

    r5151 r5460  
    2828        /*FUNCTION VertexOnVertex::SetOnBTh{{{1*/
    2929        void VertexOnVertex::SetOnBTh(){
    30                 v->BackgroundVertexHook=bv;v->vint=IsVertexOnVertex;
     30                v->BackgroundVertexHook=bv;v->IndexInTriangle=IsVertexOnVertex;
    3131        }/*}}}*/
    3232
Note: See TracChangeset for help on using the changeset viewer.