spend own type for Python wrappers of FeaturePrimitive and BodyBase
This commit is contained in:
parent
ac7750fab6
commit
eeb7dd458a
|
@ -25,6 +25,7 @@
|
|||
#ifndef _PreComp_
|
||||
#endif
|
||||
|
||||
#include <Mod/Part/App/BodyBasePy.h>
|
||||
#include <App/Application.h>
|
||||
#include <App/Document.h>
|
||||
#include <Base/Placement.h>
|
||||
|
@ -98,4 +99,13 @@ void BodyBase::onChanged (const App::Property* prop) {
|
|||
Part::Feature::onChanged ( prop );
|
||||
}
|
||||
|
||||
PyObject* BodyBase::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new BodyBasePy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
} /* Part */
|
||||
|
|
|
@ -78,6 +78,7 @@ public:
|
|||
* TODO introduce a findBodiesOf() if needed (2015-08-04, Fat-Zer)
|
||||
*/
|
||||
static BodyBase* findBodyOf(const App::DocumentObject* f);
|
||||
virtual PyObject* getPyObject();
|
||||
|
||||
protected:
|
||||
/// If BaseFeature is getting changed and Tip points to it resets the Tip
|
||||
|
|
|
@ -30,10 +30,13 @@
|
|||
#include "DatumPoint.h"
|
||||
#include "DatumCS.h"
|
||||
#include <Mod/Part/App/modelRefine.h>
|
||||
#include <Mod/Part/App/PartFeaturePy.h>
|
||||
#include <Base/Exception.h>
|
||||
#include <Base/Tools.h>
|
||||
#include <App/Document.h>
|
||||
#include <App/Application.h>
|
||||
#include <App/FeaturePythonPyImp.h>
|
||||
|
||||
#include <BRepPrimAPI_MakeBox.hxx>
|
||||
#include <BRepBuilderAPI_GTransform.hxx>
|
||||
#include <BRepAlgoAPI_Fuse.hxx>
|
||||
|
@ -152,6 +155,18 @@ void FeaturePrimitive::onChanged(const App::Property* prop)
|
|||
FeatureAddSub::onChanged(prop);
|
||||
}
|
||||
|
||||
PYTHON_TYPE_DEF(PrimitivePy, Part::PartFeaturePy)
|
||||
PYTHON_TYPE_IMP(PrimitivePy, Part::PartFeaturePy)
|
||||
|
||||
PyObject* FeaturePrimitive::getPyObject()
|
||||
{
|
||||
if (PythonObject.is(Py::_None())){
|
||||
// ref counter is set to 1
|
||||
PythonObject = Py::Object(new PrimitivePy(this),true);
|
||||
}
|
||||
return Py::new_reference_to(PythonObject);
|
||||
}
|
||||
|
||||
PROPERTY_SOURCE(PartDesign::Box, PartDesign::FeaturePrimitive)
|
||||
|
||||
Box::Box()
|
||||
|
|
|
@ -54,14 +54,15 @@ public:
|
|||
virtual const char* getViewProviderName(void) const {
|
||||
return "PartDesignGui::ViewProviderPrimitive";
|
||||
}
|
||||
Type getPrimitiveType() {return primitiveType;};
|
||||
Type getPrimitiveType() {return primitiveType;}
|
||||
TopoDS_Shape refineShapeIfActive(const TopoDS_Shape& oldShape) const;
|
||||
virtual void onChanged(const App::Property* prop);
|
||||
virtual PyObject* getPyObject();
|
||||
|
||||
/// Do nothing, just to suppress warning, must be redefined in derived classes
|
||||
virtual App::DocumentObjectExecReturn* execute() {
|
||||
return PartDesign::FeatureAddSub::execute();
|
||||
};
|
||||
}
|
||||
protected:
|
||||
//make the boolean ops with the primitives provided by the derived features
|
||||
App::DocumentObjectExecReturn* execute(const TopoDS_Shape& primitiveShape);
|
||||
|
|
Loading…
Reference in New Issue
Block a user