Changeset 5095
- Timestamp:
- 08/09/10 14:46:47 (15 years ago)
- Location:
- issm/trunk/src/c
- Files:
-
- 26 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/Makefile.am
r5057 r5095 67 67 ./objects/Bamg/Triangle.cpp\ 68 68 ./objects/Bamg/Triangle.h\ 69 ./objects/Bamg/ Triangles.cpp\70 ./objects/Bamg/ Triangles.h\69 ./objects/Bamg/Mesh.cpp\ 70 ./objects/Bamg/Mesh.h\ 71 71 ./objects/Bamg/MeshVertex.cpp\ 72 72 ./objects/Bamg/MeshVertex.h\ … … 603 603 ./objects/Bamg/Triangle.cpp\ 604 604 ./objects/Bamg/Triangle.h\ 605 ./objects/Bamg/ Triangles.h\606 ./objects/Bamg/ Triangles.cpp\605 ./objects/Bamg/Mesh.h\ 606 ./objects/Bamg/Mesh.cpp\ 607 607 ./objects/Bamg/MeshVertex.cpp\ 608 608 ./objects/Bamg/MeshVertex.h\ -
issm/trunk/src/c/modules/BamgConvertMeshx/BamgConvertMeshx.cpp
r3913 r5095 25 25 // read mesh 26 26 if(verbose) printf("Reading mesh\n"); 27 TrianglesTh(index,x,y,nods,nels);27 Mesh Th(index,x,y,nods,nels); 28 28 29 29 //write mesh and geometry -
issm/trunk/src/c/modules/Bamgx/Bamgx.cpp
r5091 r5095 24 24 double costheta=2; 25 25 double hminaniso=1e-100; 26 Triangles* Thr=NULL;27 Triangles* Thb=NULL;26 Mesh* Thr=NULL; 27 Mesh* Thb=NULL; 28 28 29 29 /*Bamg options*/ … … 61 61 //generate mesh 62 62 if (verbosity>1) printf(" Generating Mesh...\n"); 63 TrianglesTh(maxnbv,Gh,bamgopts);63 Mesh Th(maxnbv,Gh,bamgopts); 64 64 65 65 //Split corners if requested … … 89 89 if (verbosity>0) printf("Anisotropic mesh adaptation\n"); 90 90 if (verbosity>1) printf(" Processing initial mesh and geometry...\n"); 91 TrianglesBTh(bamggeom_in,bamgmesh_in,bamgopts);91 Mesh BTh(bamggeom_in,bamgmesh_in,bamgopts); 92 92 93 93 //Make Quadtree from background mesh … … 166 166 if (verbosity>1) printf(" Generating Mesh...\n"); 167 167 Thr=&BTh,Thb=0; 168 Triangles & Th( *(0 ? new Triangles(*Thr,&Thr->Gh,Thb,maxnbv) : new Triangles(maxnbv,BTh,bamgopts,bamgopts->KeepVertices)));168 Mesh & Th( *(0 ? new Mesh(*Thr,&Thr->Gh,Thb,maxnbv) : new Mesh(maxnbv,BTh,bamgopts,bamgopts->KeepVertices))); 169 169 if (Thr != &BTh) delete Thr; 170 170 -
issm/trunk/src/c/modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
r5032 r5095 60 60 // read background mesh 61 61 if (verbose) printf("Reading mesh\n"); 62 TrianglesTh(index_data,x_data,y_data,nods_data,nels_data);62 Mesh Th(index_data,x_data,y_data,nods_data,nels_data); 63 63 Th.ReMakeTriangleContainingTheVertex(); 64 64 -
issm/trunk/src/c/objects/Bamg/DoubleAndInt.h
r3913 r5095 7 7 8 8 class DoubleAndInt { 9 //class used by Triangles::MakeQuadrangles9 //class used by Mesh::MakeQuadrangles 10 10 11 11 public: -
issm/trunk/src/c/objects/Bamg/Edge.cpp
r3913 r5095 5 5 6 6 #include "Edge.h" 7 #include " Triangles.h"7 #include "Mesh.h" 8 8 #include "Geometry.h" 9 9 … … 14 14 /*Methods*/ 15 15 /*FUNCTION Edge::Set {{{1*/ 16 void Edge::Set(const Triangles & Th ,long i,Triangles& ThNew){16 void Edge::Set(const Mesh & Th ,long i,Mesh & ThNew){ 17 17 *this = Th.edges[i]; 18 18 v[0] = ThNew.vertices + Th.Number(v[0]); -
issm/trunk/src/c/objects/Bamg/Edge.h
r3913 r5095 11 11 12 12 //classes 13 class Triangles;13 class Mesh; 14 14 15 15 class Edge { … … 41 41 return adj[0]==&e ? 0 : 1; 42 42 } 43 void Set(const Triangles &,long,Triangles&);43 void Set(const Mesh &,long,Mesh &); 44 44 void Echo(void); 45 45 -
issm/trunk/src/c/objects/Bamg/Geometry.cpp
r5091 r5095 874 874 printf("That bug might come from:\n"); 875 875 printf(" 1) a mesh edge containing more than %i geometrical edges\n",mxe/2); 876 printf(" 2) code bug : be sure that we call Triangles::SetVertexFieldOn() before\n");876 printf(" 2) code bug : be sure that we call Mesh::SetVertexFieldOn() before\n"); 877 877 printf("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)\n"); 878 878 ISSMERROR("see above"); … … 894 894 printf("That bug might come from:\n"); 895 895 printf(" 1) a mesh edge contening more than %i geometrical edges\n",mxe/2); 896 printf(" 2) code bug : be sure that we call Triangles::SetVertexFieldOn() before\n");896 printf(" 2) code bug : be sure that we call Mesh::SetVertexFieldOn() before\n"); 897 897 printf("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)\n"); 898 898 ISSMERROR("see above"); -
issm/trunk/src/c/objects/Bamg/ListofIntersectionTriangles.cpp
r5091 r5095 10 10 /*Methods*/ 11 11 /*FUNCTION ListofIntersectionTriangles::SplitEdge{{{1*/ 12 void ListofIntersectionTriangles::SplitEdge(const Triangles& Bh, const R2 &A,const R2 &B,int nbegin) {12 void ListofIntersectionTriangles::SplitEdge(const Mesh & Bh, const R2 &A,const R2 &B,int nbegin) { 13 13 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ListofIntersectionTriangles)*/ 14 14 -
issm/trunk/src/c/objects/Bamg/ListofIntersectionTriangles.h
r3913 r5095 69 69 int NewItem(Triangle * tt,double d0,double d1,double d2); 70 70 int NewItem(R2,const Metric & ); 71 void SplitEdge(const Triangles& ,const R2 &,const R2 &,int nbegin=0);71 void SplitEdge(const Mesh & ,const R2 &,const R2 &,int nbegin=0); 72 72 double Length(); 73 73 long NewPoints(MeshVertex *,long & nbv,long nbvx); -
issm/trunk/src/c/objects/Bamg/Mesh.cpp
r5091 r5095 12 12 13 13 /*Constructors/Destructors*/ 14 /*FUNCTION Triangles::Triangles(BamgGeom* bamggeom,BamgMesh* bamgmesh, BamgOpts* bamgopts){{{1*/15 Triangles::Triangles(BamgGeom* bamggeom,BamgMesh* bamgmesh, BamgOpts* bamgopts):Gh(*(new Geometry())),BTh(*this){14 /*FUNCTION Mesh::Mesh(BamgGeom* bamggeom,BamgMesh* bamgmesh, BamgOpts* bamgopts){{{1*/ 15 Mesh::Mesh(BamgGeom* bamggeom,BamgMesh* bamgmesh, BamgOpts* bamgopts):Gh(*(new Geometry())),BTh(*this){ 16 16 17 17 /*Initialize fields*/ … … 42 42 } 43 43 /*}}}1*/ 44 /*FUNCTION Triangles::Triangles(double* index,double* x,double* y,int nods,int nels){{{1*/45 Triangles::Triangles(double* index,double* x,double* y,int nods,int nels):Gh(*(new Geometry())),BTh(*this){44 /*FUNCTION Mesh::Mesh(double* index,double* x,double* y,int nods,int nels){{{1*/ 45 Mesh::Mesh(double* index,double* x,double* y,int nods,int nels):Gh(*(new Geometry())),BTh(*this){ 46 46 47 47 PreInit(0); … … 51 51 } 52 52 /*}}}1*/ 53 /*FUNCTION Triangles::Triangles(const Triangles& Tho,const int *flag ,const int *bb){{{1*/54 Triangles::Triangles(const Triangles& Tho,const int *flag ,const int *bb,BamgOpts* bamgopts) : Gh(*(new Geometry())), BTh(*this) {53 /*FUNCTION Mesh::Mesh(const Mesh & Tho,const int *flag ,const int *bb){{{1*/ 54 Mesh::Mesh(const Mesh & Tho,const int *flag ,const int *bb,BamgOpts* bamgopts) : Gh(*(new Geometry())), BTh(*this) { 55 55 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Triangles)*/ 56 56 … … 154 154 } 155 155 /*}}}1*/ 156 /*FUNCTION Triangles::Triangles(Triangles & Th,Geometry * pGh,Triangles* pBth,long nbvxx) COPY{{{1*/157 Triangles::Triangles(Triangles & Th,Geometry * pGh,Triangles* pBth,long nbvxx)156 /*FUNCTION Mesh::Mesh(Mesh & Th,Geometry * pGh,Mesh * pBth,long nbvxx) COPY{{{1*/ 157 Mesh::Mesh(Mesh & Th,Geometry * pGh,Mesh * pBth,long nbvxx) 158 158 : Gh(*(pGh?pGh:&Th.Gh)), BTh(*(pBth?pBth:this)) { 159 159 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Triangles)*/ … … 221 221 } 222 222 /*}}}1*/ 223 /*FUNCTION Triangles::~Triangles(){{{1*/224 Triangles::~Triangles() {223 /*FUNCTION Mesh::~Mesh(){{{1*/ 224 Mesh::~Mesh() { 225 225 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Triangles)*/ 226 226 … … 250 250 251 251 /*IO*/ 252 /*FUNCTION Triangles::ReadMesh(double* index,double* x,double* y,int nods,int nels){{{1*/253 void Triangles::ReadMesh(double* index,double* x,double* y,int nods,int nels){252 /*FUNCTION Mesh::ReadMesh(double* index,double* x,double* y,int nods,int nels){{{1*/ 253 void Mesh::ReadMesh(double* index,double* x,double* y,int nods,int nels){ 254 254 255 255 double Hmin = HUGE_VAL;// the infinie value … … 298 298 } 299 299 /*}}}1*/ 300 /*FUNCTION Triangles::ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts){{{1*/301 void Triangles::ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts){300 /*FUNCTION Mesh::ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts){{{1*/ 301 void Mesh::ReadMesh(BamgMesh* bamgmesh, BamgOpts* bamgopts){ 302 302 303 303 int verbose; … … 511 511 } 512 512 /*}}}1*/ 513 /*FUNCTION Triangles::WriteMesh {{{1*/514 void Triangles::WriteMesh(BamgMesh* bamgmesh,BamgOpts* bamgopts){513 /*FUNCTION Mesh::WriteMesh {{{1*/ 514 void Mesh::WriteMesh(BamgMesh* bamgmesh,BamgOpts* bamgopts){ 515 515 516 516 /*Intermediary*/ … … 939 939 } 940 940 /*}}}1*/ 941 /*FUNCTION Triangles::ReadMetric{{{1*/942 void Triangles::ReadMetric(const BamgOpts* bamgopts) {941 /*FUNCTION Mesh::ReadMetric{{{1*/ 942 void Mesh::ReadMetric(const BamgOpts* bamgopts) { 943 943 944 944 /*Intermediary*/ … … 977 977 } 978 978 /*}}}1*/ 979 /*FUNCTION Triangles::WriteMetric{{{1*/980 void Triangles::WriteMetric(BamgOpts* bamgopts) {979 /*FUNCTION Mesh::WriteMetric{{{1*/ 980 void Mesh::WriteMetric(BamgOpts* bamgopts) { 981 981 int i; 982 982 xfree((void**)&bamgopts->metric); … … 991 991 992 992 /*Methods*/ 993 /*FUNCTION Triangles::AddGeometryMetric{{{1*/994 void Triangles::AddGeometryMetric(BamgOpts* bamgopts){993 /*FUNCTION Mesh::AddGeometryMetric{{{1*/ 994 void Mesh::AddGeometryMetric(BamgOpts* bamgopts){ 995 995 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/IntersectGeomMetric)*/ 996 996 … … 1046 1046 } 1047 1047 /*}}}1*/ 1048 /*FUNCTION Triangles::AddMetric{{{1*/1049 void Triangles::AddMetric(BamgOpts* bamgopts){1048 /*FUNCTION Mesh::AddMetric{{{1*/ 1049 void Mesh::AddMetric(BamgOpts* bamgopts){ 1050 1050 // Hessiantype = 0 => H is computed using double P2 projection 1051 1051 // Hessiantype = 1 => H is computed with green formula … … 1065 1065 } 1066 1066 /*}}}1*/ 1067 /*FUNCTION Triangles::AddVertex{{{1*/1068 void Triangles::AddVertex( MeshVertex &s,Triangle* t, Icoor2* det3) {1067 /*FUNCTION Mesh::AddVertex{{{1*/ 1068 void Mesh::AddVertex( MeshVertex &s,Triangle* t, Icoor2* det3) { 1069 1069 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Add)*/ 1070 1070 // ------------------------------------------- … … 1103 1103 //some checks 1104 1104 if (( infinitevertexpos <0 ) && (detOld <0) || ( infinitevertexpos >=0 ) && (detOld >0) ){ 1105 ISSMERROR("bug in Triangles::Add, bad configuration");1105 ISSMERROR("bug in Mesh::Add, bad configuration"); 1106 1106 } 1107 1107 … … 1148 1148 printf("\nproblem while trying to add:\n"); 1149 1149 s.Echo(); 1150 ISSMERROR("Bug in Triangles::Add points duplicated %i times",nbzerodet);1150 ISSMERROR("Bug in Mesh::Add points duplicated %i times",nbzerodet); 1151 1151 } 1152 1152 } … … 1206 1206 } 1207 1207 /*}}}1*/ 1208 /*FUNCTION Triangles::BoundAnisotropy{{{1*/1209 void Triangles::BoundAnisotropy(double anisomax,double hminaniso) {1208 /*FUNCTION Mesh::BoundAnisotropy{{{1*/ 1209 void Mesh::BoundAnisotropy(double anisomax,double hminaniso) { 1210 1210 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/BoundAnisotropy)*/ 1211 1211 … … 1246 1246 } 1247 1247 /*}}}1*/ 1248 /*FUNCTION Triangles::BuildGeometryFromMesh{{{1*/1249 void Triangles::BuildGeometryFromMesh(BamgOpts* bamgopts){1248 /*FUNCTION Mesh::BuildGeometryFromMesh{{{1*/ 1249 void Mesh::BuildGeometryFromMesh(BamgOpts* bamgopts){ 1250 1250 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshGeom.cpp/ConsGeometry)*/ 1251 1251 … … 1694 1694 } 1695 1695 /*}}}1*/ 1696 /*FUNCTION Triangles::BuildMetric0 (double P2 projection){{{1*/1697 void Triangles::BuildMetric0(BamgOpts* bamgopts){1696 /*FUNCTION Mesh::BuildMetric0 (double P2 projection){{{1*/ 1697 void Mesh::BuildMetric0(BamgOpts* bamgopts){ 1698 1698 1699 1699 /*Options*/ … … 1896 1896 } 1897 1897 /*}}}1*/ 1898 /*FUNCTION Triangles::BuildMetric1 (Green formula){{{1*/1899 void Triangles::BuildMetric1(BamgOpts* bamgopts){1898 /*FUNCTION Mesh::BuildMetric1 (Green formula){{{1*/ 1899 void Mesh::BuildMetric1(BamgOpts* bamgopts){ 1900 1900 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/IntersectConsMetric)*/ 1901 1901 … … 2184 2184 } 2185 2185 /*}}}1*/ 2186 /*FUNCTION Triangles::CrackMesh{{{1*/2187 void Triangles::CrackMesh(BamgOpts* bamgopts) {2186 /*FUNCTION Mesh::CrackMesh{{{1*/ 2187 void Mesh::CrackMesh(BamgOpts* bamgopts) { 2188 2188 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/CrackMesh)*/ 2189 2189 … … 2331 2331 } 2332 2332 /*}}}1*/ 2333 /*FUNCTION Triangles::ForceBoundary{{{1*/2334 void Triangles::ForceBoundary() {2333 /*FUNCTION Mesh::ForceBoundary{{{1*/ 2334 void Mesh::ForceBoundary() { 2335 2335 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ForceBoundary)*/ 2336 2336 … … 2374 2374 } 2375 2375 /*}}}1*/ 2376 /*FUNCTION Triangles::FindSubDomain{{{1*/2377 void Triangles::FindSubDomain(int OutSide) {2376 /*FUNCTION Mesh::FindSubDomain{{{1*/ 2377 void Mesh::FindSubDomain(int OutSide) { 2378 2378 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/FindSubDomain)*/ 2379 2379 … … 2626 2626 } 2627 2627 /*}}}1*/ 2628 /*FUNCTION Triangles::FindTriangleContaining{{{1*/2629 Triangle * Triangles::FindTriangleContaining(const I2 & B,Icoor2 dete[3], Triangle *tstart) const {2628 /*FUNCTION Mesh::FindTriangleContaining{{{1*/ 2629 Triangle * Mesh::FindTriangleContaining(const I2 & B,Icoor2 dete[3], Triangle *tstart) const { 2630 2630 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/FindTriangleContening)*/ 2631 2631 … … 2722 2722 } 2723 2723 /*}}}1*/ 2724 /*FUNCTION Triangles::GeomToTriangles0{{{1*/2725 void Triangles::GeomToTriangles0(long inbvx,BamgOpts* bamgopts){2724 /*FUNCTION Mesh::GeomToTriangles0{{{1*/ 2725 void Mesh::GeomToTriangles0(long inbvx,BamgOpts* bamgopts){ 2726 2726 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/GeomToTriangles0)*/ 2727 2727 … … 3033 3033 } 3034 3034 /*}}}1*/ 3035 /*FUNCTION Triangles::GeomToTriangles1{{{1*/3036 void Triangles::GeomToTriangles1(long inbvx,BamgOpts* bamgopts,int KeepVertices){3035 /*FUNCTION Mesh::GeomToTriangles1{{{1*/ 3036 void Mesh::GeomToTriangles1(long inbvx,BamgOpts* bamgopts,int KeepVertices){ 3037 3037 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/GeomToTriangles1)*/ 3038 3038 … … 3365 3365 } 3366 3366 /*}}}1*/ 3367 /*FUNCTION Triangles::Insert{{{1*/3368 void Triangles::Insert() {3367 /*FUNCTION Mesh::Insert{{{1*/ 3368 void Mesh::Insert() { 3369 3369 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Insert)*/ 3370 3370 … … 3517 3517 } 3518 3518 /*}}}1*/ 3519 /*FUNCTION Triangles::InsertNewPoints{{{1*/3520 long Triangles::InsertNewPoints(long nbvold,long & NbTSwap) {3519 /*FUNCTION Mesh::InsertNewPoints{{{1*/ 3520 long Mesh::InsertNewPoints(long nbvold,long & NbTSwap) { 3521 3521 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/InsertNewPoints)*/ 3522 3522 … … 3594 3594 } 3595 3595 /*}}}1*/ 3596 /*FUNCTION Triangles::MakeGeometricalEdgeToEdge{{{1*/3597 Edge** Triangles::MakeGeometricalEdgeToEdge() {3596 /*FUNCTION Mesh::MakeGeometricalEdgeToEdge{{{1*/ 3597 Edge** Mesh::MakeGeometricalEdgeToEdge() { 3598 3598 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MakeGeometricalEdgeToEdge)*/ 3599 3599 … … 3637 3637 } 3638 3638 /*}}}1*/ 3639 /*FUNCTION Triangles::MakeQuadrangles{{{1*/3640 void Triangles::MakeQuadrangles(double costheta){3639 /*FUNCTION Mesh::MakeQuadrangles{{{1*/ 3640 void Mesh::MakeQuadrangles(double costheta){ 3641 3641 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MakeQuadrangles)*/ 3642 3642 … … 3680 3680 } 3681 3681 /*}}}1*/ 3682 /*FUNCTION Triangles::MakeQuadTree{{{1*/3683 void Triangles::MakeQuadTree() {3682 /*FUNCTION Mesh::MakeQuadTree{{{1*/ 3683 void Mesh::MakeQuadTree() { 3684 3684 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MakeQuadTree)*/ 3685 3685 … … 3689 3689 } 3690 3690 /*}}}1*/ 3691 /*FUNCTION Triangles::MaxSubDivision{{{1*/3692 void Triangles::MaxSubDivision(double maxsubdiv) {3691 /*FUNCTION Mesh::MaxSubDivision{{{1*/ 3692 void Mesh::MaxSubDivision(double maxsubdiv) { 3693 3693 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/MaxSubDivision)*/ 3694 3694 … … 3743 3743 } 3744 3744 /*}}}1*/ 3745 /*FUNCTION Triangles::MetricAt{{{1*/3746 Metric Triangles::MetricAt(const R2 & A) const {3745 /*FUNCTION Mesh::MetricAt{{{1*/ 3746 Metric Mesh::MetricAt(const R2 & A) const { 3747 3747 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/MetricAt)*/ 3748 3748 … … 3764 3764 } 3765 3765 /*}}}1*/ 3766 /*FUNCTION Triangles::NearestVertex{{{1*/3767 MeshVertex* Triangles::NearestVertex(Icoor1 i,Icoor1 j) {3766 /*FUNCTION Mesh::NearestVertex{{{1*/ 3767 MeshVertex* Mesh::NearestVertex(Icoor1 i,Icoor1 j) { 3768 3768 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/NearestVertex)*/ 3769 3769 return quadtree->NearestVertex(i,j); 3770 3770 } 3771 3771 /*}}}1*/ 3772 /*FUNCTION Triangles::NewPoints{{{1*/3773 void Triangles::NewPoints(Triangles& Bh,BamgOpts* bamgopts,int KeepVertices){3772 /*FUNCTION Mesh::NewPoints{{{1*/ 3773 void Mesh::NewPoints(Mesh & Bh,BamgOpts* bamgopts,int KeepVertices){ 3774 3774 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/NewPoints)*/ 3775 3775 … … 3890 3890 } 3891 3891 /*}}}1*/ 3892 /*FUNCTION Triangles::PreInit{{{1*/3893 void Triangles::PreInit(long inbvx) {3892 /*FUNCTION Mesh::PreInit{{{1*/ 3893 void Mesh::PreInit(long inbvx) { 3894 3894 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/PreInit)*/ 3895 3895 … … 3950 3950 } 3951 3951 /*}}}1*/ 3952 /*FUNCTION Triangles::ProjectOnCurve{{{1*/3953 GeometricalEdge* Triangles::ProjectOnCurve( Edge & BhAB, MeshVertex & vA, MeshVertex & vB,3952 /*FUNCTION Mesh::ProjectOnCurve{{{1*/ 3953 GeometricalEdge* Mesh::ProjectOnCurve( Edge & BhAB, MeshVertex & vA, MeshVertex & vB, 3954 3954 double theta,MeshVertex & R,VertexOnEdge & BR,VertexOnGeom & GR) { 3955 3955 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshQuad.cpp/ProjectOnCurve)*/ … … 4089 4089 } 4090 4090 /*}}}1*/ 4091 /*FUNCTION Triangles::ReconstructExistingMesh{{{1*/4092 void Triangles::ReconstructExistingMesh(){4091 /*FUNCTION Mesh::ReconstructExistingMesh{{{1*/ 4092 void Mesh::ReconstructExistingMesh(){ 4093 4093 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/FillHoleInMesh)*/ 4094 4094 … … 4324 4324 ISSMASSERT(savenbt+NbTfillHoll<=savenbtx); 4325 4325 4326 // copy of the outside triangles in save Triangles4326 // copy of the outside triangles in saveMesh 4327 4327 for (i=0;i<nbt;i++){ 4328 4328 if(triangles[i].color>=0) { … … 4396 4396 } 4397 4397 /*}}}1*/ 4398 /*FUNCTION Triangles::ReNumberingTheTriangleBySubDomain{{{1*/4399 void Triangles::ReNumberingTheTriangleBySubDomain(bool justcompress){4398 /*FUNCTION Mesh::ReNumberingTheTriangleBySubDomain{{{1*/ 4399 void Mesh::ReNumberingTheTriangleBySubDomain(bool justcompress){ 4400 4400 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ReNumberingTheTriangleBySubDomain)*/ 4401 4401 … … 4466 4466 } 4467 4467 /*}}}1*/ 4468 /*FUNCTION Triangles::ReNumberingVertex{{{1*/4469 void Triangles::ReNumberingVertex(long * renu) {4468 /*FUNCTION Mesh::ReNumberingVertex{{{1*/ 4469 void Mesh::ReNumberingVertex(long * renu) { 4470 4470 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ReNumberingVertex)*/ 4471 4471 … … 4540 4540 } 4541 4541 /*}}}1*/ 4542 /*FUNCTION Triangles::SetIntCoor{{{1*/4543 void Triangles::SetIntCoor(const char * strfrom) {4542 /*FUNCTION Mesh::SetIntCoor{{{1*/ 4543 void Mesh::SetIntCoor(const char * strfrom) { 4544 4544 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/SetIntCoor)*/ 4545 4545 … … 4602 4602 } 4603 4603 /*}}}1*/ 4604 /*FUNCTION Triangles::ShowRegulaty{{{1*/4605 void Triangles::ShowRegulaty() const {4604 /*FUNCTION Mesh::ShowRegulaty{{{1*/ 4605 void Mesh::ShowRegulaty() const { 4606 4606 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr>*/ 4607 4607 … … 4668 4668 } 4669 4669 /*}}}1*/ 4670 /*FUNCTION Triangles::ShowHistogram{{{1*/4671 void Triangles::ShowHistogram() const {4670 /*FUNCTION Mesh::ShowHistogram{{{1*/ 4671 void Mesh::ShowHistogram() const { 4672 4672 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ShowHistogram)*/ 4673 4673 … … 4713 4713 } 4714 4714 /*}}}1*/ 4715 /*FUNCTION Triangles::SmoothingVertex{{{1*/4716 void Triangles::SmoothingVertex(int nbiter,double omega ) {4715 /*FUNCTION Mesh::SmoothingVertex{{{1*/ 4716 void Mesh::SmoothingVertex(int nbiter,double omega ) { 4717 4717 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/SmoothingVertex)*/ 4718 4718 … … 4755 4755 } 4756 4756 /*}}}1*/ 4757 /*FUNCTION Triangles::SmoothMetric{{{1*/4758 void Triangles::SmoothMetric(double raisonmax) {4757 /*FUNCTION Mesh::SmoothMetric{{{1*/ 4758 void Mesh::SmoothMetric(double raisonmax) { 4759 4759 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Metric.cpp/SmoothMetric)*/ 4760 4760 … … 4762 4762 4763 4763 if(raisonmax<1.1) return; 4764 if(verbose > 1) printf(" Triangles::SmoothMetric raisonmax = %g\n",raisonmax);4764 if(verbose > 1) printf(" Mesh::SmoothMetric raisonmax = %g\n",raisonmax); 4765 4765 ReMakeTriangleContainingTheVertex(); 4766 4766 long i,j,kch,kk,ip; … … 4833 4833 } 4834 4834 /*}}}1*/ 4835 /*FUNCTION Triangles::SplitElement{{{1*/4836 int Triangles::SplitElement(int choice){4835 /*FUNCTION Mesh::SplitElement{{{1*/ 4836 int Mesh::SplitElement(int choice){ 4837 4837 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, MeshQuad.cpp/SplitElement)*/ 4838 4838 … … 5343 5343 } 5344 5344 /*}}}1*/ 5345 /*FUNCTION Triangles::SplitInternalEdgeWithBorderVertices{{{1*/5346 long Triangles::SplitInternalEdgeWithBorderVertices(){5345 /*FUNCTION Mesh::SplitInternalEdgeWithBorderVertices{{{1*/ 5346 long Mesh::SplitInternalEdgeWithBorderVertices(){ 5347 5347 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/SplitInternalEdgeWithBorderVertices)*/ 5348 5348 … … 5414 5414 } 5415 5415 /*}}}1*/ 5416 /*FUNCTION Triangles::TriangleReferenceList{{{1*/5417 long Triangles::TriangleReferenceList(long* reft) const {5416 /*FUNCTION Mesh::TriangleReferenceList{{{1*/ 5417 long Mesh::TriangleReferenceList(long* reft) const { 5418 5418 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/ConsRefTriangle)*/ 5419 5419 … … 5454 5454 } 5455 5455 /*}}}1*/ 5456 /*FUNCTION Triangles::TriangleIntNumbering{{{1*/5457 void Triangles::TriangleIntNumbering(long* renumbering){5456 /*FUNCTION Mesh::TriangleIntNumbering{{{1*/ 5457 void Mesh::TriangleIntNumbering(long* renumbering){ 5458 5458 5459 5459 long num=0; -
issm/trunk/src/c/objects/Bamg/Mesh.h
r5086 r5095 21 21 class SubDomain; 22 22 23 class Triangles{23 class Mesh { 24 24 public: 25 25 26 26 Geometry & Gh; // Geometry 27 Triangles& BTh; // Background Mesh Bth==*this =>no background27 Mesh & BTh; // Background Mesh Bth==*this =>no background 28 28 long NbRef; // counter of ref on the this class if 0 we can delete 29 29 long nbvx,nbtx; // nombre max de sommets , de triangles … … 57 57 58 58 //Constructors/Destructors 59 Triangles(BamgGeom* bamggeom,BamgMesh* bamgmesh,BamgOpts* bamgopts);60 Triangles(double* index,double* x,double* y,int nods,int nels);61 Triangles(Triangles &,Geometry * pGh=0,Triangles* pBTh=0,long nbvxx=0 ); //copy operator62 Triangles(const Triangles&,const int *flag,const int *bb,BamgOpts* bamgopts); // truncature63 Triangles(long nbvx,Triangles& BT,BamgOpts* bamgopts,int keepBackVertices=1) :Gh(BT.Gh),BTh(BT) {59 Mesh(BamgGeom* bamggeom,BamgMesh* bamgmesh,BamgOpts* bamgopts); 60 Mesh(double* index,double* x,double* y,int nods,int nels); 61 Mesh(Mesh &,Geometry * pGh=0,Mesh* pBTh=0,long nbvxx=0 ); //copy operator 62 Mesh(const Mesh &,const int *flag,const int *bb,BamgOpts* bamgopts); // truncature 63 Mesh(long nbvx,Mesh & BT,BamgOpts* bamgopts,int keepBackVertices=1) :Gh(BT.Gh),BTh(BT) { 64 64 try {GeomToTriangles1(nbvx,bamgopts,keepBackVertices);} 65 catch(...) { this->~ Triangles(); throw; }66 } 67 Triangles(long nbvx,Geometry & G,BamgOpts* bamgopts) :Gh(G),BTh(*this){65 catch(...) { this->~Mesh(); throw; } 66 } 67 Mesh(long nbvx,Geometry & G,BamgOpts* bamgopts) :Gh(G),BTh(*this){ 68 68 try { GeomToTriangles0(nbvx,bamgopts);} 69 catch(...) { this->~ Triangles(); throw; }70 } 71 ~ Triangles();69 catch(...) { this->~Mesh(); throw; } 70 } 71 ~Mesh(); 72 72 73 73 //Operators … … 104 104 int SplitElement(int choice); 105 105 void MakeQuadTree(); 106 void NewPoints( Triangles&,BamgOpts* bamgopts,int KeepVertices=1);106 void NewPoints(Mesh &,BamgOpts* bamgopts,int KeepVertices=1); 107 107 long InsertNewPoints(long nbvold,long & NbTSwap) ; 108 108 void ReNumberingTheTriangleBySubDomain(bool justcompress=false); -
issm/trunk/src/c/objects/Bamg/MeshVertex.cpp
r5091 r5095 10 10 /*Methods*/ 11 11 /*FUNCTION MeshVertex::Smoothing{{{1*/ 12 double MeshVertex::Smoothing( Triangles &Th,const Triangles&BTh,Triangle* &tstart ,double omega){12 double MeshVertex::Smoothing(Mesh &Th,const Mesh &BTh,Triangle* &tstart ,double omega){ 13 13 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, Mesh2.cpp/Smoothing)*/ 14 14 -
issm/trunk/src/c/objects/Bamg/MeshVertex.h
r3913 r5095 11 11 //classes 12 12 class Triangle; 13 class Triangles;13 class Mesh; 14 14 class VertexOnGeom; 15 15 class VertexOnEdge; … … 28 28 long color; 29 29 MeshVertex* to; // used in geometry MeshVertex to know the Mesh MeshVertex associated 30 VertexOnGeom* onGeometry; // if vint == 8; // set with Triangles::SetVertexFieldOn()31 MeshVertex* onBackgroundVertex;// if vint == 16 on Background vertex Triangles::SetVertexFieldOnBTh()30 VertexOnGeom* onGeometry; // if vint == 8; // set with Mesh::SetVertexFieldOn() 31 MeshVertex* onBackgroundVertex;// if vint == 16 on Background vertex Mesh::SetVertexFieldOnBTh() 32 32 VertexOnEdge* onBackgroundEdge; // if vint == 32 on Background edge 33 33 }; … … 40 40 41 41 //methods (No constructor and no destructors...) 42 double Smoothing( Triangles & ,const Triangles& ,Triangle * & ,double =1);42 double Smoothing(Mesh & ,const Mesh & ,Triangle * & ,double =1); 43 43 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); 44 44 void Echo(); … … 47 47 48 48 //inline functions 49 inline void Set(const MeshVertex &rec,const Triangles & ,Triangles& ){*this=rec;}49 inline void Set(const MeshVertex &rec,const Mesh & ,Mesh & ){*this=rec;} 50 50 }; 51 51 -
issm/trunk/src/c/objects/Bamg/QuadTree.cpp
r3913 r5095 72 72 73 73 /*Constructors/Destructors*/ 74 /*FUNCTION QuadTree::QuadTree( Triangles* t,long nbv){{{1*/75 QuadTree::QuadTree( Triangles* t,long nbv) :74 /*FUNCTION QuadTree::QuadTree(Mesh * t,long nbv){{{1*/ 75 QuadTree::QuadTree(Mesh * t,long nbv) : 76 76 /*Original code from Frederic Hecht <hecht@ann.jussieu.fr> (BAMG v1.01, QuadTree.cpp/QuadTree)*/ 77 77 -
issm/trunk/src/c/objects/Bamg/QuadTree.h
r3913 r5095 10 10 const long MaxISize = ( 1L << MaxDeep); 11 11 12 class Triangles;12 class Mesh; 13 13 class MeshVertex; 14 14 … … 43 43 //fields 44 44 QuadTreeBox* root; 45 Triangles* th;45 Mesh* th; 46 46 //functions 47 47 ~QuadTree(); 48 QuadTree( Triangles *t,long nbv=-1);48 QuadTree(Mesh *t,long nbv=-1); 49 49 QuadTree(); 50 50 long NbQuadTreeBox,NbVertices; -
issm/trunk/src/c/objects/Bamg/SubDomain.cpp
r3913 r5095 5 5 6 6 #include "SubDomain.h" 7 #include " Triangles.h"7 #include "Mesh.h" 8 8 9 9 namespace bamg { … … 13 13 /*Methods*/ 14 14 /*FUNCTION SubDomain::Set {{{1*/ 15 void SubDomain::Set(const Triangles & Th ,long i,Triangles& ThNew){15 void SubDomain::Set(const Mesh & Th ,long i,Mesh & ThNew){ 16 16 *this = Th.subdomains[i]; 17 17 if ( head-Th.triangles<0 || head-Th.triangles>=Th.nbt){ -
issm/trunk/src/c/objects/Bamg/SubDomain.h
r3913 r5095 9 9 //classes 10 10 class Triangle; 11 class Triangles;11 class Mesh; 12 12 13 13 class SubDomain { … … 19 19 20 20 //Methods 21 void Set(const Triangles &,long,Triangles&);21 void Set(const Mesh &,long,Mesh &); 22 22 }; 23 23 -
issm/trunk/src/c/objects/Bamg/Triangle.cpp
r3913 r5095 9 9 10 10 /*Constructors/Destructors*/ 11 /*FUNCTION Triangle( Triangles*Th,long i,long j,long k) {{{1*/12 Triangle::Triangle( Triangles*Th,long i,long j,long k) {11 /*FUNCTION Triangle(Mesh *Th,long i,long j,long k) {{{1*/ 12 Triangle::Triangle(Mesh *Th,long i,long j,long k) { 13 13 MeshVertex *v=Th->vertices; 14 14 long nbv = Th->nbv; … … 198 198 /*}}}*/ 199 199 /*FUNCTION Triangle::Set {{{1*/ 200 void Triangle::Set(const Triangle & rec,const Triangles & Th ,Triangles& ThNew){200 void Triangle::Set(const Triangle & rec,const Mesh & Th ,Mesh & ThNew){ 201 201 *this = rec; 202 202 if ( TriaVertices[0] ) TriaVertices[0] = ThNew.vertices + Th.Number(TriaVertices[0]); -
issm/trunk/src/c/objects/Bamg/Triangle.h
r3913 r5095 8 8 9 9 //classes 10 class Triangles;10 class Mesh; 11 11 class MeshVertex; 12 12 class Triangle; … … 30 30 //Constructors/Destructors 31 31 Triangle() {} 32 Triangle( Triangles*Th,long i,long j,long k);32 Triangle(Mesh *Th,long i,long j,long k); 33 33 Triangle(MeshVertex *v0,MeshVertex *v1,MeshVertex *v2); 34 34 … … 117 117 //Inline methods 118 118 double qualite() ; 119 void Set(const Triangle &,const Triangles &,Triangles&);119 void Set(const Triangle &,const Mesh &,Mesh &); 120 120 int In(MeshVertex *v) const { return TriaVertices[0]==v || TriaVertices[1]==v || TriaVertices[2]==v ;} 121 121 -
issm/trunk/src/c/objects/Bamg/TriangleAdjacent.cpp
r3913 r5095 5 5 6 6 #include "TriangleAdjacent.h" 7 #include " Triangles.h"7 #include "Mesh.h" 8 8 9 9 namespace bamg { -
issm/trunk/src/c/objects/Bamg/VertexOnEdge.cpp
r3913 r5095 5 5 6 6 #include "VertexOnEdge.h" 7 #include " Triangles.h"7 #include "Mesh.h" 8 8 9 9 namespace bamg { … … 13 13 /*Methods*/ 14 14 /*FUNCTION VertexOnEdge::Set {{{1*/ 15 void VertexOnEdge::Set(const Triangles & Th ,long i,Triangles& ThNew){15 void VertexOnEdge::Set(const Mesh & Th ,long i,Mesh & ThNew){ 16 16 *this = Th.VertexOnBThEdge[i]; 17 17 v = ThNew.vertices + Th.Number(v); -
issm/trunk/src/c/objects/Bamg/VertexOnEdge.h
r3913 r5095 8 8 9 9 //classes 10 class Triangles;10 class Mesh; 11 11 class MeshVertex; 12 12 … … 30 30 //Methods 31 31 void SetOnBTh(){v->onBackgroundEdge=this;v->vint=IsVertexOnEdge;} 32 void Set(const Triangles &,long,Triangles&);32 void Set(const Mesh &,long,Mesh &); 33 33 }; 34 34 -
issm/trunk/src/c/objects/Bamg/VertexOnGeom.cpp
r3913 r5095 5 5 6 6 #include "VertexOnGeom.h" 7 #include " Triangles.h"7 #include "Mesh.h" 8 8 #include "Geometry.h" 9 9 … … 14 14 /*Methods*/ 15 15 /*FUNCTION VertexOnGeom::Set {{{1*/ 16 void VertexOnGeom::Set(const VertexOnGeom & rec,const Triangles & Th ,Triangles& ThNew){16 void VertexOnGeom::Set(const VertexOnGeom & rec,const Mesh & Th ,Mesh & ThNew){ 17 17 *this = rec; 18 18 mv = ThNew.vertices + Th.Number(mv); -
issm/trunk/src/c/objects/Bamg/VertexOnGeom.h
r3913 r5095 8 8 9 9 //classes 10 class Triangles;10 class Mesh; 11 11 class MeshVertex; 12 12 class GeometricalEdge; … … 41 41 42 42 //Inline methods 43 void Set(const VertexOnGeom&,const Triangles &,Triangles&);43 void Set(const VertexOnGeom&,const Mesh &,Mesh &); 44 44 45 45 }; -
issm/trunk/src/c/objects/Bamg/VertexOnVertex.cpp
r3913 r5095 5 5 6 6 #include "VertexOnVertex.h" 7 #include " Triangles.h"7 #include "Mesh.h" 8 8 9 9 namespace bamg { … … 13 13 /*Methods*/ 14 14 /*FUNCTION VertexOnVertex::Set{{{1*/ 15 void VertexOnVertex::Set(const Triangles &Th ,long i,Triangles&ThNew) {15 void VertexOnVertex::Set(const Mesh &Th ,long i,Mesh &ThNew) { 16 16 *this = Th.VertexOnBThVertex[i]; 17 17 v = ThNew.vertices + Th.Number(v); -
issm/trunk/src/c/objects/Bamg/VertexOnVertex.h
r3913 r5095 8 8 9 9 //classes 10 class Triangles;10 class Mesh; 11 11 12 12 class VertexOnVertex { … … 22 22 //Methods 23 23 void SetOnBTh(){v->onBackgroundVertex=bv;v->vint=IsVertexOnVertex;} 24 void Set(const Triangles &,long,Triangles&);24 void Set(const Mesh &,long,Mesh &); 25 25 }; 26 26 -
issm/trunk/src/c/objects/objects.h
r5057 r5095 113 113 #include "./Bamg/VertexOnEdge.h" 114 114 #include "./Bamg/CrackedEdge.h" 115 #include "./Bamg/ Triangles.h"115 #include "./Bamg/Mesh.h" 116 116 #include "./Bamg/Geometry.h" 117 117 #include "./Bamg/QuadTree.h"
Note:
See TracChangeset
for help on using the changeset viewer.