summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/freecad/files/freecad-0.13.1830-occ-6.7.patch')
-rw-r--r--media-gfx/freecad/files/freecad-0.13.1830-occ-6.7.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/media-gfx/freecad/files/freecad-0.13.1830-occ-6.7.patch b/media-gfx/freecad/files/freecad-0.13.1830-occ-6.7.patch
new file mode 100644
index 000000000000..410929bec851
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.13.1830-occ-6.7.patch
@@ -0,0 +1,63 @@
+commit c1d14eab3c3f9f1141dc0b7fca7cc4441431b50b
+Author: wmayer <wmayer@users.sourceforge.net>
+Date: Sat Dec 28 12:22:31 2013 +0100
+
+ + Fix OCC 6.7 build failure
+
+diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp b/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp
+index 578f5be..bdc91c3 100644
+--- a/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp
++++ b/src/Mod/Part/App/BRepOffsetAPI_MakePipeShellPyImp.cpp
+@@ -29,6 +29,7 @@
+ # include <TopoDS.hxx>
+ # include <TopoDS_Wire.hxx>
+ # include <BRepOffsetAPI_MakePipeShell.hxx>
++# include <Standard_Version.hxx>
+ # include <TopTools_ListIteratorOfListOfShape.hxx>
+ #endif
+
+@@ -111,6 +112,36 @@ PyObject* BRepOffsetAPI_MakePipeShellPy::setSpineSupport(PyObject *args)
+
+ PyObject* BRepOffsetAPI_MakePipeShellPy::setAuxiliarySpine(PyObject *args)
+ {
++#if OCC_VERSION_HEX >= 0x060700
++ PyObject *spine, *curv, *keep;
++ if (!PyArg_ParseTuple(args, "O!O!O!",&Part::TopoShapePy::Type,&spine
++ ,&PyBool_Type,&curv
++ ,&PyInt_Type,&keep))
++ return 0;
++ const TopoDS_Shape& s = static_cast<Part::TopoShapePy*>(spine)->getTopoShapePtr()->_Shape;
++ if (s.IsNull() || s.ShapeType() != TopAbs_WIRE) {
++ PyErr_SetString(PyExc_TypeError, "spine is not a wire");
++ return 0;
++ }
++
++ BRepFill_TypeOfContact typeOfCantact;
++ switch (PyLong_AsLong(keep)) {
++ case 1:
++ typeOfCantact = BRepFill_Contact;
++ break;
++ case 2:
++ typeOfCantact = BRepFill_ContactOnBorder;
++ break;
++ default:
++ typeOfCantact = BRepFill_NoContact;
++ break;
++ }
++ this->getBRepOffsetAPI_MakePipeShellPtr()->SetMode(
++ TopoDS::Wire(s),
++ PyObject_IsTrue(curv) ? Standard_True : Standard_False,
++ typeOfCantact);
++ Py_Return;
++#else
+ PyObject *spine, *curv, *keep;
+ if (!PyArg_ParseTuple(args, "O!O!O!",&Part::TopoShapePy::Type,&spine
+ ,&PyBool_Type,&curv
+@@ -127,6 +158,7 @@ PyObject* BRepOffsetAPI_MakePipeShellPy::setAuxiliarySpine(PyObject *args)
+ PyObject_IsTrue(curv) ? Standard_True : Standard_False,
+ PyObject_IsTrue(keep) ? Standard_True : Standard_False);
+ Py_Return;
++#endif
+ }
+
+ PyObject* BRepOffsetAPI_MakePipeShellPy::add(PyObject *args)