From b8c80bd35c0da2c078b416ed8bd08c60887ee4b0 Mon Sep 17 00:00:00 2001 From: jriegel Date: Thu, 28 Nov 2013 19:50:39 +0100 Subject: [PATCH] Adding python capabilities to the Result objects --- src/Mod/Fem/App/AppFem.cpp | 3 +++ src/Mod/Fem/App/FemResultObject.cpp | 14 ++++++++++++++ src/Mod/Fem/App/FemResultObject.h | 4 ++++ src/Mod/Fem/App/FemResultValue.cpp | 14 ++++++++++++++ src/Mod/Fem/App/FemResultValue.h | 3 +++ src/Mod/Fem/App/FemResultVector.cpp | 14 ++++++++++++++ src/Mod/Fem/App/FemResultVector.h | 3 +++ 7 files changed, 55 insertions(+) diff --git a/src/Mod/Fem/App/AppFem.cpp b/src/Mod/Fem/App/AppFem.cpp index d3efd4b41b..d420ff74ca 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 9903573ee3..0ec3da0017 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 4d9df252a6..0397a53464 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 7375c35a7c..bb698858ed 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 d798169d71..31f6c8bf4b 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 deb99bc873..4b3cb23708 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 1595bf1339..8b050b705a 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