2013/3/3 <st...@hiphost.net> > as alluded to in a previous post, I've tried changing the BOP.i swig > wrapper file in PythonOCC to include the new parameter, like so: > > orig [line 2057]>> Standard_Boolean SplitFace(const Standard_Integer > theFaceIndex, TopTools_DataMapOfShapeInteger & theMapOfEdgeIndex, > TopTools_ListOfShape & theListOfFace) const; > new [line 2057]<< Standard_Boolean SplitFace(Standard_Integer > theFaceIndex, const TColStd_IndexedMapOfInteger & theIndexMap, > TopTools_DataMapOfShapeInteger & theMapOfEdgeIndex, TopTools_ListOfShape & > theListOfFace) const; > > The above change resulted in successful compilation at the point where the > previous error message popped up, but now it's breaking at a later point: > > [ 7%] Swig source > [ 7%] Building CXX object > CMakeFiles/_BRepAlgoAPI.dir/src/wrapper/SWIG_files/linux_darwin/BRepAlgoAPIPYTHON_wrap.cxx.o > In file included from > /home/multirobot/src/pythonocc/cmake-build/src/wrapper/SWIG_files/linux_darwin/BRepAlgoAPIPYTHON_wrap.cxx:3280:0: > /usr/local/include/oce/BOP_SolidSolid.hxx:92:135: error: > ‘TColStd_DataMapOfIntegerListOfInteger’ does not name a type > /usr/local/include/oce/BOP_SolidSolid.hxx:92:174: error: ISO C++ forbids > declaration of ‘aMapOfEdgeFaces’ with no type [-fpermissive] > /usr/local/include/oce/BOP_SolidSolid.hxx:94:49: error: > ‘TColStd_DataMapOfIntegerListOfInteger’ has not been declared > make[2]: *** > [CMakeFiles/_BRepAlgoAPI.dir/src/wrapper/SWIG_files/linux_darwin/BRepAlgoAPIPYTHON_wrap.cxx.o] > Error 1 > make[1]: *** [CMakeFiles/_BRepAlgoAPI.dir/all] Error 2 > make[1]: *** Waiting for unfinished jobs.... > Scanning dependencies of target _BRepApprox > [ 7%] Building CXX object > CMakeFiles/_BRepApprox.dir/src/wrapper/SWIG_files/linux_darwin/BRepApproxPYTHON_wrap.cxx.o > Linking CXX shared module Unix/i686-MinSizeRel-32/_BRepApprox.so > [ 7%] Built target _BRepApprox > make: *** [all] Error 2 > > Hi Steve,
Since OCE API interface changed in the last past weeks, pythonocc has to be modified to take these changes into account. You should not modify SWIG interface files manually. This is automated by the generate_swig_files.py script (just run python generate_swig_files.py, and make sure before that that you customized the paths in the src/wrapper/environment.py module). When it's done, you can start the compilation (using cmake). It appears that there's a new dependency of the BRepAlgoAPI module over TColStd. Open the module src/wrapper/Modules.py, and add TColStd to the dependecy list : diff --git a/src/wrapper/Modules.py b/src/wrapper/Modules.py index 8df689b..fa82ea5 100644 --- a/src/wrapper/Modules.py +++ b/src/wrapper/Modules.py @@ -225,7 +225,7 @@ COMMON_MODULES = [ ('BRepFill',['Geom','AdvApp2Var','Convert','Approx','Adaptor3d','Handl ('BRepGProp',['GProp_PrincipalProps'],['BRepGProp_VinertGK']), ('BRepAlgo',['NCollection'],[],{"BRepAlgo_DSAccess":["IsDeleted"]}), - ('BRepAlgoAPI',[],[]), + ('BRepAlgoAPI',['TColStd'],[]), ('BRepLib',[],[]), ('BRepLProp',[],[]), ('MAT',[],[]), Regenerate the SWIG file (python generate_swig_files.py BRepAlgoAPI), and restart the compilation. And so on, untill everything works. Hope this helps, anyway I will update pythonocc for both Win/Unix as soon as OCE-0.12 is released. Please post to pythonocc-users@gna.org to discuss pythonocc compilation issues. Best Regards, Thomas
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users