diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml b/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml index a9312ee113..e25e3c6a57 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml @@ -20,6 +20,21 @@ + + + Reset color set by method setNodeColorByScalars. + + + + + Reset displacements set by method setNodeDisplacementByVectors. + + + + + Reset highlighted nodes. + + Sets mesh node colors using element list and value list. diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp b/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp index 8a9e97cf38..fcbc2fe25b 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp +++ b/src/Mod/Fem/Gui/ViewProviderFemMeshPyImp.cpp @@ -31,7 +31,6 @@ std::string ViewProviderFemMeshPy::representation(void) const } - PyObject* ViewProviderFemMeshPy::applyDisplacement(PyObject * args) { double factor; @@ -43,6 +42,7 @@ PyObject* ViewProviderFemMeshPy::applyDisplacement(PyObject * args) Py_Return; } + App::Color calcColor(double value,double min, double max) { if (max < 0) max = 0; @@ -106,6 +106,15 @@ PyObject* ViewProviderFemMeshPy::setNodeColorByScalars(PyObject *args) } +PyObject* ViewProviderFemMeshPy::resetNodeColor(PyObject *args) +{ + if (!PyArg_ParseTuple(args, "")) + return 0; + this->getViewProviderFemMeshPtr()->resetColorByNodeId(); + Py_Return; +} + + PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args) { PyObject *node_ids_py; @@ -134,12 +143,23 @@ PyObject* ViewProviderFemMeshPy::setNodeDisplacementByVectors(PyObject *args) Py_Return; } + +PyObject* ViewProviderFemMeshPy::resetNodeDisplacement(PyObject *args) +{ + if (!PyArg_ParseTuple(args, "")) + return 0; + this->getViewProviderFemMeshPtr()->resetDisplacementByNodeId(); + Py_Return; +} + + Py::Dict ViewProviderFemMeshPy::getNodeColor(void) const { //return Py::List(); throw Py::AttributeError("Not yet implemented"); } + void ViewProviderFemMeshPy::setNodeColor(Py::Dict arg) { long size = arg.size(); @@ -173,12 +193,14 @@ void ViewProviderFemMeshPy::setNodeColor(Py::Dict arg) } } + Py::Dict ViewProviderFemMeshPy::getElementColor(void) const { //return Py::List(); throw Py::AttributeError("Not yet implemented"); } + void ViewProviderFemMeshPy::setElementColor(Py::Dict arg) { if(arg.size() == 0) @@ -195,12 +217,14 @@ void ViewProviderFemMeshPy::setElementColor(Py::Dict arg) } } + Py::Dict ViewProviderFemMeshPy::getNodeDisplacement(void) const { //return Py::Dict(); throw Py::AttributeError("Not yet implemented"); } + void ViewProviderFemMeshPy::setNodeDisplacement(Py::Dict arg) { if(arg.size() == 0) @@ -221,6 +245,7 @@ void ViewProviderFemMeshPy::setNodeDisplacement(Py::Dict arg) } } + Py::List ViewProviderFemMeshPy::getHighlightedNodes(void) const { Py::List list; @@ -232,6 +257,7 @@ Py::List ViewProviderFemMeshPy::getHighlightedNodes(void) const return list; } + void ViewProviderFemMeshPy::setHighlightedNodes(Py::List arg) { ViewProviderFemMesh* vp = this->getViewProviderFemMeshPtr(); @@ -249,6 +275,16 @@ void ViewProviderFemMeshPy::setHighlightedNodes(Py::List arg) this->getViewProviderFemMeshPtr()->setHighlightNodes(res); } + +PyObject* ViewProviderFemMeshPy::resetHighlightedNodes(PyObject *args) +{ + if (!PyArg_ParseTuple(args, "")) + return 0; + this->getViewProviderFemMeshPtr()->resetHighlightNodes(); + Py_Return; +} + + Py::List ViewProviderFemMeshPy::getVisibleElementFaces(void) const { const std::vector & visElmFc = this->getViewProviderFemMeshPtr()->getVisibleElementFaces(); @@ -290,6 +326,7 @@ PyObject *ViewProviderFemMeshPy::getCustomAttributes(const char* /*attr*/) const return 0; } + int ViewProviderFemMeshPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/) { return 0;