diff --git a/demos/api/t4.cpp b/demos/api/t4.cpp index 3302979b2ce3481e3aecf4a192c168926ec1a5cf..7dac1eaa26ec0d35fc96c8d7e444686d1409c288 100644 --- a/demos/api/t4.cpp +++ b/demos/api/t4.cpp @@ -3,16 +3,21 @@ #include <math.h> #include <gmsh.h> +// make all the functions directly available using namespace gmsh; +using namespace gmsh::option; +using namespace gmsh::model; +using namespace gmsh::model::geo; +using namespace gmsh::model::mesh; double hypoth(double a, double b){ return sqrt(a * a + b * b); } int main(int argc, char **argv) { initialize(argc, argv); - option::setNumber("General.Terminal", 1); + setNumber("General.Terminal", 1); - model::add("t4"); + add("t4"); double cm = 1e-02; double e1 = 4.5 * cm, e2 = 6 * cm / 2, e3 = 5 * cm / 2; @@ -24,63 +29,63 @@ int main(int argc, char **argv) double ccos = (-h5*R1 + e2 * hypot(h5, hypot(e2, R1))) / (h5*h5 + e2*e2); double ssin = sqrt(1 - ccos*ccos); - model::geo::addPoint(-e1-e2, 0 , 0, Lc1, 1); - model::geo::addPoint(-e1-e2, h1 , 0, Lc1, 2); - model::geo::addPoint(-e3-r , h1 , 0, Lc2, 3); - model::geo::addPoint(-e3-r , h1+r , 0, Lc2, 4); - model::geo::addPoint(-e3 , h1+r , 0, Lc2, 5); - model::geo::addPoint(-e3 , h1+h2, 0, Lc1, 6); - model::geo::addPoint( e3 , h1+h2, 0, Lc1, 7); - model::geo::addPoint( e3 , h1+r , 0, Lc2, 8); - model::geo::addPoint( e3+r , h1+r , 0, Lc2, 9); - model::geo::addPoint( e3+r , h1 , 0, Lc2, 10); - model::geo::addPoint( e1+e2, h1 , 0, Lc1, 11); - model::geo::addPoint( e1+e2, 0 , 0, Lc1, 12); - model::geo::addPoint( e2 , 0 , 0, Lc1, 13); - - model::geo::addPoint( R1 / ssin, h5+R1*ccos, 0, Lc2, 14); - model::geo::addPoint( 0 , h5 , 0, Lc2, 15); - model::geo::addPoint(-R1 / ssin, h5+R1*ccos, 0, Lc2, 16); - model::geo::addPoint(-e2 , 0.0 , 0, Lc1, 17); - - model::geo::addPoint(-R2 , h1+h3 , 0, Lc2, 18); - model::geo::addPoint(-R2 , h1+h3+h4, 0, Lc2, 19); - model::geo::addPoint( 0 , h1+h3+h4, 0, Lc2, 20); - model::geo::addPoint( R2 , h1+h3+h4, 0, Lc2, 21); - model::geo::addPoint( R2 , h1+h3 , 0, Lc2, 22); - model::geo::addPoint( 0 , h1+h3 , 0, Lc2, 23); - - model::geo::addPoint(0, h1+h3+h4+R2, 0, Lc2, 24); - model::geo::addPoint(0, h1+h3-R2, 0, Lc2, 25); - - model::geo::addLine(1 , 17, 1); - model::geo::addLine(17, 16, 2); - - model::geo::addCircleArc(14,15,16, 3); - model::geo::addLine(14,13, 4); - model::geo::addLine(13,12, 5); - model::geo::addLine(12,11, 6); - model::geo::addLine(11,10, 7); - model::geo::addCircleArc(8,9,10, 8); - model::geo::addLine(8,7, 9); - model::geo::addLine(7,6, 10); - model::geo::addLine(6,5, 11); - model::geo::addCircleArc(3,4,5, 12); - model::geo::addLine(3,2, 13); - model::geo::addLine(2,1, 14); - model::geo::addLine(18,19, 15); - model::geo::addCircleArc(21,20,24, 16); - model::geo::addCircleArc(24,20,19, 17); - model::geo::addCircleArc(18,23,25, 18); - model::geo::addCircleArc(25,23,22, 19); - model::geo::addLine(21,22, 20); - - model::geo::addLineLoop({17,-15,18,19,-20,16}, 21); - model::geo::addPlaneSurface({21}, 22); - model::geo::addLineLoop({11,-12,13,14,1,2,-3,4,5,6,7,-8,9,10}, 23); + addPoint(-e1-e2, 0 , 0, Lc1, 1); + addPoint(-e1-e2, h1 , 0, Lc1, 2); + addPoint(-e3-r , h1 , 0, Lc2, 3); + addPoint(-e3-r , h1+r , 0, Lc2, 4); + addPoint(-e3 , h1+r , 0, Lc2, 5); + addPoint(-e3 , h1+h2, 0, Lc1, 6); + addPoint( e3 , h1+h2, 0, Lc1, 7); + addPoint( e3 , h1+r , 0, Lc2, 8); + addPoint( e3+r , h1+r , 0, Lc2, 9); + addPoint( e3+r , h1 , 0, Lc2, 10); + addPoint( e1+e2, h1 , 0, Lc1, 11); + addPoint( e1+e2, 0 , 0, Lc1, 12); + addPoint( e2 , 0 , 0, Lc1, 13); + + addPoint( R1 / ssin, h5+R1*ccos, 0, Lc2, 14); + addPoint( 0 , h5 , 0, Lc2, 15); + addPoint(-R1 / ssin, h5+R1*ccos, 0, Lc2, 16); + addPoint(-e2 , 0.0 , 0, Lc1, 17); + + addPoint(-R2 , h1+h3 , 0, Lc2, 18); + addPoint(-R2 , h1+h3+h4, 0, Lc2, 19); + addPoint( 0 , h1+h3+h4, 0, Lc2, 20); + addPoint( R2 , h1+h3+h4, 0, Lc2, 21); + addPoint( R2 , h1+h3 , 0, Lc2, 22); + addPoint( 0 , h1+h3 , 0, Lc2, 23); + + addPoint(0, h1+h3+h4+R2, 0, Lc2, 24); + addPoint(0, h1+h3-R2, 0, Lc2, 25); + + addLine(1 , 17, 1); + addLine(17, 16, 2); + + addCircleArc(14,15,16, 3); + addLine(14,13, 4); + addLine(13,12, 5); + addLine(12,11, 6); + addLine(11,10, 7); + addCircleArc(8,9,10, 8); + addLine(8,7, 9); + addLine(7,6, 10); + addLine(6,5, 11); + addCircleArc(3,4,5, 12); + addLine(3,2, 13); + addLine(2,1, 14); + addLine(18,19, 15); + addCircleArc(21,20,24, 16); + addCircleArc(24,20,19, 17); + addCircleArc(18,23,25, 18); + addCircleArc(25,23,22, 19); + addLine(21,22, 20); + + addLineLoop({17,-15,18,19,-20,16}, 21); + addPlaneSurface({21}, 22); + addLineLoop({11,-12,13,14,1,2,-3,4,5,6,7,-8,9,10}, 23); // A surface with one hole is specified using 2 line loops: - model::geo::addPlaneSurface({23,21}, 24); + addPlaneSurface({23,21}, 24); // FIXME: this will be implemented through the gmshView API /* @@ -94,9 +99,9 @@ int main(int argc, char **argv) }; */ - model::geo::synchronize(); + synchronize(); - model::mesh::generate(2); + generate(2); write("t4.msh");