diff --git a/libsrc/interface/writevtk.cpp b/libsrc/interface/writevtk.cpp index 4e6f80ea..ff7ba9fe 100644 --- a/libsrc/interface/writevtk.cpp +++ b/libsrc/interface/writevtk.cpp @@ -50,64 +50,68 @@ void WriteVtkFormat (const Mesh & mesh, outfile << "POINTS " << np << " double\n"; for (int i=0; i types; + std::vector domains; if (ne > 0) { unsigned int size = 0; for (int i=0; i p(x[0],x[1]); + spline_geom->AppendPoint(p, h); + } + } + + DLL_HEADER void Ng_AppendLineSegment_2D (Ng_Geometry_2D* geom, int n1, int n2, + int leftdomain, int rightdomain, double h) + { + if (geom) + { + SplineGeometry2d* spline_geom = (SplineGeometry2d*)geom; + // zero-offset! + LineSeg<2>* line = new LineSeg<2>(spline_geom->geompoints[n1-1], spline_geom->geompoints[n2-1]); + SplineSegExt* seg = new SplineSegExt(*line); + seg->leftdom = leftdomain; + seg->rightdom = rightdomain; + seg->hmax = h; + seg->copyfrom = -1; + seg->bc = 1; + spline_geom->AppendSegment(seg); + } + } + + DLL_HEADER void Ng_AppendSplinSegment_2D (Ng_Geometry_2D* geom, int n1, int n2, int n3, + int leftdomain, int rightdomain, double h) + { + if (geom) + { + SplineGeometry2d* spline_geom = (SplineGeometry2d*)geom; + // zero-offset! + SplineSeg3<2>* line = new SplineSeg3<2>(spline_geom->geompoints[n1-1], spline_geom->geompoints[n2-1], spline_geom->geompoints[n3-1]); + SplineSegExt* seg = new SplineSegExt(*line); + seg->leftdom = leftdomain; + seg->rightdom = rightdomain; + seg->hmax = h; + seg->copyfrom = -1; + seg->bc = 1; + spline_geom->AppendSegment(seg); + } + } + DLL_HEADER Ng_Result Ng_GenerateMesh_2D (Ng_Geometry_2D * geom, Ng_Mesh ** mesh, Ng_Meshing_Parameters * mp) @@ -601,9 +663,6 @@ namespace nglib shared_ptr m(new Mesh, &NOOP_Deleter); MeshFromSpline2D (*(SplineGeometry2d*)geom, m, mparam); - // new shared_ptr (m); // hack to keep mesh m alive - - cout << m->GetNSE() << " elements, " << m->GetNP() << " points" << endl; *mesh = (Ng_Mesh*)m.get(); return NG_OK; diff --git a/nglib/nglib.h b/nglib/nglib.h index 38e60faa..28155ad7 100644 --- a/nglib/nglib.h +++ b/nglib/nglib.h @@ -625,6 +625,9 @@ DLL_HEADER void Ng_AppendPoint_2D(Ng_Geometry_2D* geom, double * x, double h); DLL_HEADER void Ng_AppendLineSegment_2D(Ng_Geometry_2D* geom, int pi1, int pi2, int leftdomain, int rightdomain, double h); +DLL_HEADER void Ng_AppendSplinSegment_2D(Ng_Geometry_2D* geom, int pi1, int pi2, int pi3, + int leftdomain, int rightdomain, double h); + DLL_HEADER void Ng_AddPoint_2D (Ng_Mesh * mesh, double * x); DLL_HEADER void Ng_AddBoundarySeg_2D (Ng_Mesh * mesh, int pi1, int pi2, int domain_in = -1, int domain_out = -1);