diff --git a/src/Mod/Mesh/App/MeshPyImp.cpp b/src/Mod/Mesh/App/MeshPyImp.cpp index 166849c3eb..b25e3b4122 100644 --- a/src/Mod/Mesh/App/MeshPyImp.cpp +++ b/src/Mod/Mesh/App/MeshPyImp.cpp @@ -1911,7 +1911,7 @@ PyObject* MeshPy::getSegmentsByCurvature(PyObject *args) #else int num = (int)Py::Int(t[4]); #endif - segm.emplace_back(new MeshCore::MeshCurvatureFreeformSegment(meshCurv.GetCurvature(), num, tol1, tol2, c1, c2)); + segm.emplace_back(std::make_shared(meshCurv.GetCurvature(), num, tol1, tol2, c1, c2)); } finder.FindSegments(segm); diff --git a/src/Mod/Mesh/Gui/Segmentation.cpp b/src/Mod/Mesh/Gui/Segmentation.cpp index 7a8e62e117..c2f28cf26e 100644 --- a/src/Mod/Mesh/Gui/Segmentation.cpp +++ b/src/Mod/Mesh/Gui/Segmentation.cpp @@ -85,21 +85,21 @@ void Segmentation::accept() std::vector segm; if (ui->groupBoxFree->isChecked()) { - segm.emplace_back(new MeshCore::MeshCurvatureFreeformSegment + segm.emplace_back(std::make_shared (meshCurv.GetCurvature(), ui->numFree->value(), ui->tol1Free->value(), ui->tol2Free->value(), ui->crv1Free->value(), ui->crv2Free->value())); } if (ui->groupBoxCyl->isChecked()) { - segm.emplace_back(new MeshCore::MeshCurvatureCylindricalSegment + segm.emplace_back(std::make_shared (meshCurv.GetCurvature(), ui->numCyl->value(), ui->tol1Cyl->value(), ui->tol2Cyl->value(), ui->crvCyl->value())); } if (ui->groupBoxSph->isChecked()) { - segm.emplace_back(new MeshCore::MeshCurvatureSphericalSegment + segm.emplace_back(std::make_shared (meshCurv.GetCurvature(), ui->numSph->value(), ui->tolSph->value(), ui->crvSph->value())); } if (ui->groupBoxPln->isChecked()) { - segm.emplace_back(new MeshCore::MeshCurvaturePlanarSegment + segm.emplace_back(std::make_shared (meshCurv.GetCurvature(), ui->numPln->value(), ui->tolPln->value())); } finder.FindSegments(segm); diff --git a/src/Mod/Mesh/Gui/SegmentationBestFit.cpp b/src/Mod/Mesh/Gui/SegmentationBestFit.cpp index 65c25b437d..380c138476 100644 --- a/src/Mod/Mesh/Gui/SegmentationBestFit.cpp +++ b/src/Mod/Mesh/Gui/SegmentationBestFit.cpp @@ -427,7 +427,7 @@ void SegmentationBestFit::accept() else { fitter = new MeshCore::CylinderSurfaceFit; } - segm.emplace_back(new MeshCore::MeshDistanceGenericSurfaceFitSegment + segm.emplace_back(std::make_shared (fitter, kernel, ui->numCyl->value(), ui->tolCyl->value())); } if (ui->groupBoxSph->isChecked()) { @@ -441,7 +441,7 @@ void SegmentationBestFit::accept() else { fitter = new MeshCore::SphereSurfaceFit; } - segm.emplace_back(new MeshCore::MeshDistanceGenericSurfaceFitSegment + segm.emplace_back(std::make_shared (fitter, kernel, ui->numSph->value(), ui->tolSph->value())); } if (ui->groupBoxPln->isChecked()) { @@ -455,7 +455,7 @@ void SegmentationBestFit::accept() else { fitter = new MeshCore::PlaneSurfaceFit; } - segm.emplace_back(new MeshCore::MeshDistanceGenericSurfaceFitSegment + segm.emplace_back(std::make_shared (fitter, kernel, ui->numPln->value(), ui->tolPln->value())); } finder.FindSegments(segm); diff --git a/src/Mod/ReverseEngineering/Gui/Segmentation.cpp b/src/Mod/ReverseEngineering/Gui/Segmentation.cpp index 5a544fb141..ad830963fe 100644 --- a/src/Mod/ReverseEngineering/Gui/Segmentation.cpp +++ b/src/Mod/ReverseEngineering/Gui/Segmentation.cpp @@ -99,7 +99,7 @@ void Segmentation::accept() // First create segments by curavture to get the surface type std::vector segm; if (ui->groupBoxPln->isChecked()) { - segm.emplace_back(new MeshCore::MeshCurvaturePlanarSegment + segm.emplace_back(std::make_shared (meshCurv.GetCurvature(), ui->numPln->value(), ui->curvTolPln->value())); } finder.FindSegments(segm); @@ -118,7 +118,7 @@ void Segmentation::accept() Base::Vector3f base = fit.GetBase(); Base::Vector3f axis = fit.GetNormal(); MeshCore::AbstractSurfaceFit* fitter = new MeshCore::PlaneSurfaceFit(base, axis); - segmSurf.emplace_back(new MeshCore::MeshDistanceGenericSurfaceFitSegment + segmSurf.emplace_back(std::make_shared (fitter, kernel, ui->numPln->value(), ui->distToPln->value())); } } diff --git a/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp b/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp index 510aef8744..da48973d7a 100644 --- a/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp +++ b/src/Mod/ReverseEngineering/Gui/SegmentationManual.cpp @@ -145,7 +145,7 @@ static void findGeometry(int minFaces, double tolerance, MeshCore::MeshSegmentAlgorithm finder(kernel); std::vector segm; - segm.emplace_back(new MeshCore::MeshDistanceGenericSurfaceFitSegment + segm.emplace_back(std::make_shared (surfFit, kernel, minFaces, tolerance)); finder.FindSegments(segm);