diff --git a/src/Mod/Fem/App/AppFem.cpp b/src/Mod/Fem/App/AppFem.cpp index d3efd4b41..d420ff74c 100755 --- a/src/Mod/Fem/App/AppFem.cpp +++ b/src/Mod/Fem/App/AppFem.cpp @@ -139,8 +139,11 @@ void AppFemExport initFem() Fem::ConstraintPulley ::init(); Fem::FemResultObject ::init(); + Fem::FemResultPython ::init(); Fem::FemResultValue ::init(); + Fem::FemResultValuePython ::init(); Fem::FemResultVector ::init(); + Fem::FemResultVectorPython ::init(); } } // extern "C" diff --git a/src/Mod/Fem/App/FemResultObject.cpp b/src/Mod/Fem/App/FemResultObject.cpp index 9903573ee..0ec3da001 100644 --- a/src/Mod/Fem/App/FemResultObject.cpp +++ b/src/Mod/Fem/App/FemResultObject.cpp @@ -59,3 +59,17 @@ PyObject *FemResultObject::getPyObject() return Py::new_reference_to(PythonObject); } +// Python feature --------------------------------------------------------- + +namespace App { +/// @cond DOXERR +PROPERTY_SOURCE_TEMPLATE(Fem::FemResultPython, Fem::FemResultObject) +template<> const char* Fem::FemResultPython::getViewProviderName(void) const { + return "FemGui::ViewProviderFemResultPython"; +} +/// @endcond + +// explicit template instantiation +template class AppFemExport FeaturePythonT; + +} \ No newline at end of file diff --git a/src/Mod/Fem/App/FemResultObject.h b/src/Mod/Fem/App/FemResultObject.h index 4d9df252a..0397a5346 100644 --- a/src/Mod/Fem/App/FemResultObject.h +++ b/src/Mod/Fem/App/FemResultObject.h @@ -26,6 +26,7 @@ #include #include +#include #include "FemResultObject.h" namespace Fem @@ -58,6 +59,9 @@ public: }; +typedef App::FeaturePythonT FemResultPython; + + } //namespace Fem diff --git a/src/Mod/Fem/App/FemResultValue.cpp b/src/Mod/Fem/App/FemResultValue.cpp index 7375c35a7..bb698858e 100644 --- a/src/Mod/Fem/App/FemResultValue.cpp +++ b/src/Mod/Fem/App/FemResultValue.cpp @@ -58,3 +58,17 @@ PyObject *FemResultValue::getPyObject() return Py::new_reference_to(PythonObject); } +// Python feature --------------------------------------------------------- + +namespace App { +/// @cond DOXERR +PROPERTY_SOURCE_TEMPLATE(Fem::FemResultValuePython, Fem::FemResultValue) +template<> const char* Fem::FemResultValuePython::getViewProviderName(void) const { + return "FemGui::ViewProviderFemResultValuePython"; +} +/// @endcond + +// explicit template instantiation +template class AppFemExport FeaturePythonT; + +} \ No newline at end of file diff --git a/src/Mod/Fem/App/FemResultValue.h b/src/Mod/Fem/App/FemResultValue.h index d798169d7..31f6c8bf4 100644 --- a/src/Mod/Fem/App/FemResultValue.h +++ b/src/Mod/Fem/App/FemResultValue.h @@ -26,6 +26,7 @@ #include +#include #include "FemResultObject.h" @@ -57,6 +58,8 @@ public: }; +typedef App::FeaturePythonT FemResultValuePython; + } //namespace Fem diff --git a/src/Mod/Fem/App/FemResultVector.cpp b/src/Mod/Fem/App/FemResultVector.cpp index deb99bc87..4b3cb2370 100644 --- a/src/Mod/Fem/App/FemResultVector.cpp +++ b/src/Mod/Fem/App/FemResultVector.cpp @@ -58,3 +58,17 @@ PyObject *FemResultVector::getPyObject() return Py::new_reference_to(PythonObject); } +// Python feature --------------------------------------------------------- + +namespace App { +/// @cond DOXERR +PROPERTY_SOURCE_TEMPLATE(Fem::FemResultVectorPython, Fem::FemResultVector) +template<> const char* Fem::FemResultVectorPython::getViewProviderName(void) const { + return "FemGui::ViewProviderFemResultVectorPython"; +} +/// @endcond + +// explicit template instantiation +template class AppFemExport FeaturePythonT; + +} \ No newline at end of file diff --git a/src/Mod/Fem/App/FemResultVector.h b/src/Mod/Fem/App/FemResultVector.h index 1595bf133..8b050b705 100644 --- a/src/Mod/Fem/App/FemResultVector.h +++ b/src/Mod/Fem/App/FemResultVector.h @@ -25,6 +25,7 @@ #define Fem_FemResultVector_H #include +#include #include "FemResultObject.h" namespace Fem @@ -55,6 +56,8 @@ public: }; +typedef App::FeaturePythonT FemResultVectorPython; + } //namespace Fem