From e2b224d21764d59a8adbe6c300ddecd730391fb6 Mon Sep 17 00:00:00 2001 From: jriegel Date: Tue, 23 Apr 2013 00:16:47 +0200 Subject: [PATCH] Add mesh parameters and Some fixes --- data/examples/Fem2.FCStd | Bin 0 -> 68362 bytes src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp | 35 +++++++++++++++--- src/Mod/Fem/App/FemMeshShapeNetgenObject.h | 9 +++++ src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp | 9 +++-- src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.h | 6 ++- .../Gui/ViewProviderFemConstraintBearing.cpp | 1 - .../Gui/ViewProviderFemMeshShapeNetgen.cpp | 23 ++++++++++++ .../Fem/Gui/ViewProviderFemMeshShapeNetgen.h | 4 ++ 8 files changed, 75 insertions(+), 12 deletions(-) create mode 100644 data/examples/Fem2.FCStd diff --git a/data/examples/Fem2.FCStd b/data/examples/Fem2.FCStd new file mode 100644 index 0000000000000000000000000000000000000000..9275d22b184107693788a9e58a5852b7a42b2fe7 GIT binary patch literal 68362 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 literal 0 HcmV?d00001 diff --git a/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp b/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp index 2719eb0485..bee3259ee9 100644 --- a/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp +++ b/src/Mod/Fem/App/FemMeshShapeNetgenObject.cpp @@ -38,6 +38,7 @@ #include #include +#include #include #include @@ -48,10 +49,19 @@ using namespace App; PROPERTY_SOURCE(Fem::FemMeshShapeNetgenObject, Fem::FemMeshShapeObject) +const char* FininessEnums[]= {"VeryCoarse","Coarse","Moderate","Fine","VeryFine","UserDefined",NULL}; FemMeshShapeNetgenObject::FemMeshShapeNetgenObject() { - //ADD_PROPERTY_TYPE(Shape,(0), "Shape",Prop_None,"Shape for the analysis"); + ADD_PROPERTY_TYPE(MaxSize,(1000), "MeshParams",Prop_None,"Maximum element size"); + ADD_PROPERTY_TYPE(SecondOrder,(false), "MeshParams",Prop_None,"Create quadric elements"); + ADD_PROPERTY_TYPE(Fininess,(2), "MeshParams",Prop_None,"Fininess level of the mesh"); + Fininess.setEnums(FininessEnums); + ADD_PROPERTY_TYPE(GrothRate,(0.3), "MeshParams",Prop_None," allows to define how much the linear dimensions of two adjacent cells can differ"); + ADD_PROPERTY_TYPE(NbSegsPerEdge,(1), "MeshParams",Prop_None,"allows to define the minimum number of mesh segments in which edges will be split"); + ADD_PROPERTY_TYPE(NbSegsPerRadius,(2), "MeshParams",Prop_None,"allows to define the minimum number of mesh segments in which radiuses will be split"); + ADD_PROPERTY_TYPE(Optimize,(true), "MeshParams",Prop_None,"Shape for the analysis"); + } FemMeshShapeNetgenObject::~FemMeshShapeNetgenObject() @@ -60,12 +70,19 @@ FemMeshShapeNetgenObject::~FemMeshShapeNetgenObject() App::DocumentObjectExecReturn *FemMeshShapeNetgenObject::execute(void) { + Fem::FemMesh newMesh; Part::Feature *feat = Shape.getValue(); + + TopoDS_Shape shape = feat->Shape.getValue(); - if(shape.IsNull()) - return App::DocumentObject::StdReturn; + + + newMesh.getSMesh()->ShapeToMesh(shape); + SMESH_Gen *myGen = newMesh.getGenerator(); + + int hyp=0; NETGENPlugin_Mesher myNetGenMesher(newMesh.getSMesh(),shape,true); @@ -80,9 +97,17 @@ App::DocumentObjectExecReturn *FemMeshShapeNetgenObject::execute(void) //static_cast(tet.get())->SetMaxElementVolume(0.1); //myNetGenMesher.SetParameters( tet); + NETGENPlugin_Hypothesis* tet= new NETGENPlugin_Hypothesis(hyp++,1,myGen); + tet->SetMaxSize(MaxSize.getValue()); + tet->SetSecondOrder(SecondOrder.getValue()); + tet->SetOptimize(Optimize.getValue()); + tet->SetFineness((NETGENPlugin_Hypothesis::Fineness)Fininess.getValue()); + tet->SetGrowthRate(GrothRate.getValue()); + tet->SetNbSegPerEdge(NbSegsPerEdge.getValue()); + tet->SetNbSegPerRadius(NbSegsPerRadius.getValue()); + myNetGenMesher.SetParameters( tet); + myNetGenMesher.Compute(); - - SMESHDS_Mesh* data = const_cast(newMesh.getSMesh())->GetMeshDS(); const SMDS_MeshInfo& info = data->GetMeshInfo(); diff --git a/src/Mod/Fem/App/FemMeshShapeNetgenObject.h b/src/Mod/Fem/App/FemMeshShapeNetgenObject.h index 23b3aec62a..7d112783da 100644 --- a/src/Mod/Fem/App/FemMeshShapeNetgenObject.h +++ b/src/Mod/Fem/App/FemMeshShapeNetgenObject.h @@ -27,6 +27,7 @@ #include "FemMesh.h" #include "FemMeshShapeObject.h" +#include namespace Fem { @@ -40,6 +41,14 @@ public: FemMeshShapeNetgenObject(void); virtual ~FemMeshShapeNetgenObject(); + App::PropertyFloat MaxSize; + App::PropertyBool SecondOrder; + App::PropertyEnumeration Fininess; + App::PropertyFloat GrothRate; + App::PropertyInteger NbSegsPerEdge; + App::PropertyInteger NbSegsPerRadius; + App::PropertyBool Optimize; + /// returns the type name of the ViewProvider virtual const char* getViewProviderName(void) const { return "FemGui::ViewProviderFemMeshShapeNetgen"; diff --git a/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp b/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp index dc4b03bece..6923bf7c41 100644 --- a/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp +++ b/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.cpp @@ -34,7 +34,7 @@ #include #include #include -#include "ViewProviderFemMesh.h" +#include "ViewProviderFemMeshShapeNetgen.h" #include #include "TaskTetParameter.h" @@ -47,10 +47,11 @@ using namespace FemGui; // TaskDialog //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -TaskDlgMeshShapeNetgen::TaskDlgMeshShapeNetgen(Fem::FemMeshShapeNetgenObject *obj) - : TaskDialog(),FemMeshShapeNetgenObject(obj) +TaskDlgMeshShapeNetgen::TaskDlgMeshShapeNetgen(FemGui::ViewProviderFemMeshShapeNetgen *obj) + : TaskDialog(),ViewProviderFemMeshShapeNetgen(obj) { - param = new TaskTetParameter(obj); + FemMeshShapeNetgenObject = dynamic_cast(obj->getObject()); + param = new TaskTetParameter(FemMeshShapeNetgenObject); Content.push_back(param); } diff --git a/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.h b/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.h index 3958649961..5c5551fb30 100644 --- a/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.h +++ b/src/Mod/Fem/Gui/TaskDlgMeshShapeNetgen.h @@ -34,6 +34,7 @@ namespace Fem { namespace FemGui { class TaskTetParameter; +class ViewProviderFemMeshShapeNetgen; /// simulation dialog for the TaskView class TaskDlgMeshShapeNetgen : public Gui::TaskView::TaskDialog @@ -41,7 +42,7 @@ class TaskDlgMeshShapeNetgen : public Gui::TaskView::TaskDialog Q_OBJECT public: - TaskDlgMeshShapeNetgen(Fem::FemMeshShapeNetgenObject *); + TaskDlgMeshShapeNetgen(FemGui::ViewProviderFemMeshShapeNetgen *); ~TaskDlgMeshShapeNetgen(); public: @@ -61,7 +62,8 @@ public: protected: TaskTetParameter *param; - Fem::FemMeshShapeNetgenObject *FemMeshShapeNetgenObject; + Fem::FemMeshShapeNetgenObject *FemMeshShapeNetgenObject; + FemGui::ViewProviderFemMeshShapeNetgen *ViewProviderFemMeshShapeNetgen; }; diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp index 072d430f09..6bb715ed9a 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintBearing.cpp @@ -55,7 +55,6 @@ ViewProviderFemConstraintBearing::~ViewProviderFemConstraintBearing() bool ViewProviderFemConstraintBearing::setEdit(int ModNum) { - Base::Console().Error("ViewProviderFemConstraintBearing::setEdit()\n"); if (ModNum == ViewProvider::Default ) { // When double-clicking on the item for this constraint the diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp b/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp index 02c3972362..45711d694a 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.cpp @@ -29,7 +29,9 @@ #endif #include "ViewProviderFemMeshShapeNetgen.h" +#include "TaskDlgMeshShapeNetgen.h" +#include "Gui/Control.h" using namespace FemGui; @@ -52,3 +54,24 @@ ViewProviderFemMeshShapeNetgen::~ViewProviderFemMeshShapeNetgen() } +bool ViewProviderFemMeshShapeNetgen::setEdit(int ModNum) +{ + + if (ModNum == ViewProvider::Default ) { + + // clear the selection (convenience) + Gui::Selection().clearSelection(); + + Gui::Control().showDialog(new TaskDlgMeshShapeNetgen(this)); + + return true; + } + else { + return ViewProviderDocumentObject::setEdit(ModNum); + } +} + +void ViewProviderFemMeshShapeNetgen::updateData(const App::Property* prop) +{ + ViewProviderFemMeshShape::updateData(prop); +} diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.h b/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.h index 7c3c0468db..70ca22edad 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.h +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshShapeNetgen.h @@ -49,6 +49,10 @@ public: /// destructor. ~ViewProviderFemMeshShapeNetgen(); + virtual void updateData(const App::Property*); + +protected: + virtual bool setEdit(int ModNum); };