From 95768acf65322ae81e8dd61b29633e832b4aeb28 Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 24 Nov 2016 15:25:48 +0100 Subject: [PATCH] declare some PyCXX functions for export, add PyCXX wrapper for Vector2dPy class --- src/Base/GeometryPyCXX.cpp | 2 +- src/Base/GeometryPyCXX.h | 2 ++ src/CXX/Python2/ExtensionType.hxx | 2 +- src/CXX/Python2/cxx_extensions.cxx | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Base/GeometryPyCXX.cpp b/src/Base/GeometryPyCXX.cpp index 8a31eae23..6cbf2ab5b 100644 --- a/src/Base/GeometryPyCXX.cpp +++ b/src/Base/GeometryPyCXX.cpp @@ -108,7 +108,7 @@ Vector2dPy::~Vector2dPy() void Vector2dPy::init_type(void) { - behaviors().name( "Vector2dPy" ); + behaviors().name( "Vector2d" ); behaviors().doc( "Vector2d class" ); behaviors().supportGetattro(); behaviors().supportSetattro(); diff --git a/src/Base/GeometryPyCXX.h b/src/Base/GeometryPyCXX.h index 6704ee946..d795bcef6 100644 --- a/src/Base/GeometryPyCXX.h +++ b/src/Base/GeometryPyCXX.h @@ -76,6 +76,8 @@ private: namespace Py { +typedef PythonClassObject Vector2d; + // Implementing the vector class in the fashion of the PyCXX library. class BaseExport Vector : public Object { diff --git a/src/CXX/Python2/ExtensionType.hxx b/src/CXX/Python2/ExtensionType.hxx index 767c7d275..d877a91af 100644 --- a/src/CXX/Python2/ExtensionType.hxx +++ b/src/CXX/Python2/ExtensionType.hxx @@ -104,7 +104,7 @@ namespace Py { - extern PythonExtensionBase *getPythonExtensionBase( PyObject *self ); + PYCXX_EXPORT extern PythonExtensionBase *getPythonExtensionBase( PyObject *self ); struct PythonClassInstance { diff --git a/src/CXX/Python2/cxx_extensions.cxx b/src/CXX/Python2/cxx_extensions.cxx index ce7ec16a0..32737f148 100644 --- a/src/CXX/Python2/cxx_extensions.cxx +++ b/src/CXX/Python2/cxx_extensions.cxx @@ -650,7 +650,7 @@ PythonType &PythonType::supportIter() // Handlers // //-------------------------------------------------------------------------------- -PythonExtensionBase *getPythonExtensionBase( PyObject *self ) +PYCXX_EXPORT PythonExtensionBase *getPythonExtensionBase( PyObject *self ) { if( self->ob_type->tp_flags&Py_TPFLAGS_BASETYPE ) {