diff --git a/libsrc/meshing/meshclass.cpp b/libsrc/meshing/meshclass.cpp index 9acfacaa..4e76e9aa 100644 --- a/libsrc/meshing/meshclass.cpp +++ b/libsrc/meshing/meshclass.cpp @@ -90,6 +90,7 @@ namespace netgen Mesh & Mesh :: operator= (const Mesh & mesh2) { + dimension = mesh2.dimension; points = mesh2.points; // eltyps = mesh2.eltyps; segments = mesh2.segments; diff --git a/libsrc/meshing/python_mesh.cpp b/libsrc/meshing/python_mesh.cpp index 5c4cfbcb..18f0ee0f 100644 --- a/libsrc/meshing/python_mesh.cpp +++ b/libsrc/meshing/python_mesh.cpp @@ -17,6 +17,8 @@ namespace netgen { extern bool netgen_executable_started; extern shared_ptr ng_geometry; + extern void Optimize2d (Mesh & mesh, MeshingParameters & mp); + #ifdef PARALLEL /** we need allreduce in python-wrapped communicators **/ template @@ -865,14 +867,21 @@ DLL_HEADER void ExportNetgenMeshing(py::module &m) }, py::arg("mp")=NGDummyArgument(),py::call_guard()) - .def ("OptimizeVolumeMesh", FunctionPointer - ([](Mesh & self) + .def ("OptimizeVolumeMesh", [](Mesh & self) { MeshingParameters mp; mp.optsteps3d = 5; OptimizeVolume (mp, self); - }),py::call_guard()) + },py::call_guard()) + .def ("OptimizeMesh2d", [](Mesh & self) + { + self.CalcLocalH(0.5); + MeshingParameters mp; + mp.optsteps2d = 5; + Optimize2d (self, mp); + },py::call_guard()) + .def ("Refine", FunctionPointer ([](Mesh & self) { @@ -975,12 +984,17 @@ DLL_HEADER void ExportNetgenMeshing(py::module &m) }, py::arg("name"), py::arg("set")=true) - .def ("Scale", FunctionPointer([](Mesh & self, double factor) - { - for(auto i = 0; i (); + *m2 = self; + return m2; + }) ; m.def("ImportMesh", [](const string& filename)