From a029d90a98d360a37ceba482addc464080f9f509 Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 23 Nov 2015 18:17:10 +0100 Subject: [PATCH] FEM: Rename Display Modes --- src/Mod/Fem/Gui/ViewProviderFemMesh.cpp | 63 +++++++++++++------------ src/Mod/Fem/Gui/ViewProviderFemMesh.h | 3 ++ 2 files changed, 35 insertions(+), 31 deletions(-) diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp b/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp index 6b955eb3e..ac101c94b 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMesh.cpp @@ -70,10 +70,6 @@ using namespace FemGui; - - - - struct FemFace { const SMDS_MeshNode *Nodes[8]; @@ -163,6 +159,24 @@ bool FemFace::isSameFace (FemFace &face) return false; }; +// ---------------------------------------------------------------------------- + +class ViewProviderFemMesh::Private +{ +public: + static const char *dm_face_wire; + static const char *dm_face_wire_node; + static const char *dm_face; + static const char *dm_node; + static const char *dm_wire; +}; + +const char * ViewProviderFemMesh::Private::dm_face_wire = "Faces & Wireframe"; +const char * ViewProviderFemMesh::Private::dm_face_wire_node = "Faces, Wireframe & Nodes"; +const char * ViewProviderFemMesh::Private::dm_face = "Faces"; +const char * ViewProviderFemMesh::Private::dm_node = "Nodes"; +const char * ViewProviderFemMesh::Private::dm_wire = "Wireframe"; + PROPERTY_SOURCE(FemGui::ViewProviderFemMesh, Gui::ViewProviderGeometryObject) App::PropertyFloatConstraint::Constraints ViewProviderFemMesh::floatRange = {1.0,64.0,1.0}; @@ -249,13 +263,13 @@ void ViewProviderFemMesh::attach(App::DocumentObject *pcObj) pcAnoStyle->style = SoDrawStyle::POINTS; pcAnoStyle->pointSize = 5; - SoMaterial * pcAnoMaterial = new SoMaterial; + SoMaterial *pcAnoMaterial = new SoMaterial; pcAnoMaterial->diffuseColor.setValue(0,1,0); pcAnoMaterial->emissiveColor.setValue(0,1,0); pcAnotRoot->addChild(pcAnoMaterial); pcAnotRoot->addChild(pcAnoStyle); pcAnotRoot->addChild(pcAnoCoords); - SoPointSet * pointset = new SoPointSet; + SoPointSet *pointset = new SoPointSet; pcAnotRoot->addChild(pointset); // flat @@ -267,7 +281,7 @@ void ViewProviderFemMesh::attach(App::DocumentObject *pcObj) pcFlatRoot->addChild(pcMatBinding); pcFlatRoot->addChild(pcFaces); pcFlatRoot->addChild(pcAnotRoot); - addDisplayMaskMode(pcFlatRoot, "Flat"); + addDisplayMaskMode(pcFlatRoot, Private::dm_face); // line SoLightModel* pcLightModel = new SoLightModel(); @@ -280,7 +294,7 @@ void ViewProviderFemMesh::attach(App::DocumentObject *pcObj) color->rgb.setValue(0.0f,0.0f,0.0f); pcWireRoot->addChild(color); pcWireRoot->addChild(pcLines); - addDisplayMaskMode(pcWireRoot, "Wireframe"); + addDisplayMaskMode(pcWireRoot, Private::dm_wire); // Points @@ -290,7 +304,7 @@ void ViewProviderFemMesh::attach(App::DocumentObject *pcObj) pcPointsRoot->addChild(pcCoords); pointset = new SoPointSet; pcPointsRoot->addChild(pointset); - addDisplayMaskMode(pcPointsRoot, "Nodes"); + addDisplayMaskMode(pcPointsRoot, Private::dm_node); // flat+line (Elements) SoPolygonOffset* offset = new SoPolygonOffset(); @@ -310,7 +324,7 @@ void ViewProviderFemMesh::attach(App::DocumentObject *pcObj) pcFlatWireRoot->addChild(color); pcFlatWireRoot->addChild(pcLines); - addDisplayMaskMode(pcFlatWireRoot, "Elements"); + addDisplayMaskMode(pcFlatWireRoot, Private::dm_face_wire); // flat+line+Nodes (Elements&Nodes) SoGroup* pcElemNodesRoot = new SoSeparator(); @@ -328,36 +342,23 @@ void ViewProviderFemMesh::attach(App::DocumentObject *pcObj) pcElemNodesRoot->addChild(pcPointMaterial); pcElemNodesRoot->addChild(pointset); - addDisplayMaskMode(pcElemNodesRoot, "Elements & Nodes"); - - - + addDisplayMaskMode(pcElemNodesRoot, Private::dm_face_wire_node); } void ViewProviderFemMesh::setDisplayMode(const char* ModeName) { - if (strcmp("Elements",ModeName)==0) - setDisplayMaskMode("Elements"); - else if (strcmp("Elements & Nodes",ModeName)==0) - setDisplayMaskMode("Elements & Nodes"); - else if (strcmp("Flat",ModeName)==0) - setDisplayMaskMode("Flat"); - else if (strcmp("Wireframe",ModeName)==0) - setDisplayMaskMode("Wireframe"); - else if (strcmp("Nodes",ModeName)==0) - setDisplayMaskMode("Nodes"); - - ViewProviderGeometryObject::setDisplayMode( ModeName ); + setDisplayMaskMode(ModeName); + ViewProviderGeometryObject::setDisplayMode(ModeName); } std::vector ViewProviderFemMesh::getDisplayModes(void) const { std::vector StrList; - StrList.push_back("Elements"); - StrList.push_back("Elements & Nodes"); - StrList.push_back("Flat"); - StrList.push_back("Wireframe"); - StrList.push_back("Nodes"); + StrList.push_back(Private::dm_face_wire); + StrList.push_back(Private::dm_face_wire_node); + StrList.push_back(Private::dm_face); + StrList.push_back(Private::dm_wire); + StrList.push_back(Private::dm_node); return StrList; } diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.h b/src/Mod/Fem/Gui/ViewProviderFemMesh.h index e57fba5dd..7f18eab8c 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMesh.h +++ b/src/Mod/Fem/Gui/ViewProviderFemMesh.h @@ -158,6 +158,9 @@ protected: SoIndexedLineSet * pcLines; bool onlyEdges; + +private: + class Private; }; } //namespace FemGui