[arch-commits] Commit in opencascade/repos (14 files)
Florian Pritz
bluewind at archlinux.org
Fri Sep 23 14:51:31 UTC 2016
Date: Friday, September 23, 2016 @ 14:51:31
Author: bluewind
Revision: 190213
archrelease: copy trunk to community-testing-i686, community-testing-x86_64
Added:
opencascade/repos/community-testing-i686/
opencascade/repos/community-testing-i686/PKGBUILD
(from rev 190212, opencascade/trunk/PKGBUILD)
opencascade/repos/community-testing-i686/PKGBUILD-7.0.0
(from rev 190212, opencascade/trunk/PKGBUILD-7.0.0)
opencascade/repos/community-testing-i686/env.sh
(from rev 190212, opencascade/trunk/env.sh)
opencascade/repos/community-testing-i686/opencascade.conf
(from rev 190212, opencascade/trunk/opencascade.conf)
opencascade/repos/community-testing-i686/opencascade.sh
(from rev 190212, opencascade/trunk/opencascade.sh)
opencascade/repos/community-testing-i686/salome-occt-6.9.1.patch
(from rev 190212, opencascade/trunk/salome-occt-6.9.1.patch)
opencascade/repos/community-testing-x86_64/
opencascade/repos/community-testing-x86_64/PKGBUILD
(from rev 190212, opencascade/trunk/PKGBUILD)
opencascade/repos/community-testing-x86_64/PKGBUILD-7.0.0
(from rev 190212, opencascade/trunk/PKGBUILD-7.0.0)
opencascade/repos/community-testing-x86_64/env.sh
(from rev 190212, opencascade/trunk/env.sh)
opencascade/repos/community-testing-x86_64/opencascade.conf
(from rev 190212, opencascade/trunk/opencascade.conf)
opencascade/repos/community-testing-x86_64/opencascade.sh
(from rev 190212, opencascade/trunk/opencascade.sh)
opencascade/repos/community-testing-x86_64/salome-occt-6.9.1.patch
(from rev 190212, opencascade/trunk/salome-occt-6.9.1.patch)
--------------------------------------------------+
community-testing-i686/PKGBUILD | 65 +
community-testing-i686/PKGBUILD-7.0.0 | 54 +
community-testing-i686/env.sh | 22
community-testing-i686/opencascade.conf | 1
community-testing-i686/opencascade.sh | 2
community-testing-i686/salome-occt-6.9.1.patch | 744 +++++++++++++++++++++
community-testing-x86_64/PKGBUILD | 65 +
community-testing-x86_64/PKGBUILD-7.0.0 | 54 +
community-testing-x86_64/env.sh | 22
community-testing-x86_64/opencascade.conf | 1
community-testing-x86_64/opencascade.sh | 2
community-testing-x86_64/salome-occt-6.9.1.patch | 744 +++++++++++++++++++++
12 files changed, 1776 insertions(+)
Copied: opencascade/repos/community-testing-i686/PKGBUILD (from rev 190212, opencascade/trunk/PKGBUILD)
===================================================================
--- community-testing-i686/PKGBUILD (rev 0)
+++ community-testing-i686/PKGBUILD 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,65 @@
+# Maintainer: Florian Pritz <bluewind at xinu.at>
+# Contributor: Giuseppe Borzi <gborzi at ieee.org>
+# Contributor: Brice M<E9>alier <mealier_brice at yahoo.fr>
+# Contributor: Michele Mocciola <mickele>
+pkgname=opencascade
+pkgver=6.9.1
+pkgrel=7
+pkgdesc="Open CASCADE Technology, 3D modeling & numerical simulation"
+arch=('i686' 'x86_64')
+url="http://www.opencascade.org"
+license=('custom')
+depends=('tk' 'mesa' 'libxmu' 'ftgl' 'vtk6')
+source=("https://sources.archlinux.org/other/community/opencascade/opencascade-$pkgver.tgz" "env.sh" "opencascade.sh" "opencascade.conf" 'salome-occt-6.9.1.patch')
+md5sums=('7f2e645b5010d190c9bb35dc457f9a7c'
+ 'a96f28ee7f4273ae1771ee033a2a3af3'
+ 'd9368b8d348ced3ec4462012977552d2'
+ '2924ecf57c95d25888f51071fdc72ad0'
+ '88db8e6b9afa132d1893bbb814250350')
+
+# This works around a bug that is corrected in OCCT 7.0.0
+export CCFLAGS+=" -O2 -fno-delete-null-pointer-checks"
+export CXXFLAGS+=" -O2 -fno-delete-null-pointer-checks"
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # fix build with vtk 6.3.0
+ sed -i '/CSF_VTK_LIB/s/-6\.1//g' configure.ac
+
+ # fix for automake 1.13
+ sed -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
+
+ # Included in OCCT 7.0.0
+ patch -i "$srcdir/salome-occt-6.9.1.patch" -p1
+
+ ./build_configure
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # fix build with vtk 6.3.0
+ CXXFLAGS+=' -DvtkFloatingPointType=double'
+
+ # Change to --enable-production with OCCT 7.0.0
+ ./configure --disable-debug --disable-production \
+ --with-vtk-library=/opt/vtk6/lib/ --with-vtk-include=/opt/vtk6/include/vtk/ \
+ --prefix=/opt/$pkgname
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # no DESTDIR support so use prefix. This has to suffix match the prefix in ./configure
+ make prefix="$pkgdir/opt/$pkgname" install
+ cp -r src/UnitsAPI/ "${pkgdir}/opt/$pkgname/src"
+ install -D -m644 "${srcdir}/opencascade.conf" "${pkgdir}/etc/ld.so.conf.d/opencascade.conf"
+ install -D -m 755 "${srcdir}/opencascade.sh" "${pkgdir}/etc/profile.d/opencascade.sh"
+ install -m 755 "${srcdir}/env.sh" "${pkgdir}/opt/$pkgname"
+ install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
+ install -m644 LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
Copied: opencascade/repos/community-testing-i686/PKGBUILD-7.0.0 (from rev 190212, opencascade/trunk/PKGBUILD-7.0.0)
===================================================================
--- community-testing-i686/PKGBUILD-7.0.0 (rev 0)
+++ community-testing-i686/PKGBUILD-7.0.0 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,54 @@
+# Maintainer: Florian Pritz <bluewind at xinu.at>
+# Contributor: Giuseppe Borzi <gborzi at ieee.org>
+# Contributor: Brice M<E9>alier <mealier_brice at yahoo.fr>
+# Contributor: Michele Mocciola <mickele>
+pkgname=opencascade
+pkgver=7.0.0
+pkgrel=1
+pkgdesc="Open CASCADE Technology, 3D modeling & numerical simulation"
+arch=('i686' 'x86_64')
+url="http://www.opencascade.org"
+license=('custom')
+depends=('tk' 'mesa' 'libxmu' 'ftgl' 'libxi')
+makedepends=('cmake')
+source=("https://sources.archlinux.org/other/community/opencascade/opencascade-$pkgver.tgz" "env.sh" "opencascade.sh" "opencascade.conf")
+md5sums=('fa1458aba1ce96c85d7876b35a04af6c'
+ 'a96f28ee7f4273ae1771ee033a2a3af3'
+ 'd9368b8d348ced3ec4462012977552d2'
+ '2924ecf57c95d25888f51071fdc72ad0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ #export CFLAGS+=" -L/opt/vtk6/lib"
+ #export CXXFLAGS+=" -L/opt/vtk6/lib"
+
+ mkdir build
+ cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX="$pkgdir/opt/$pkgname" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DUSE_VTK=OFF \
+ ..
+ #-D3RDPARTY_VTK_INCLUDE_DIR=/opt/vtk6/include/vtk/ \
+ #-D3RDPARTY_VTK_LIBRARY_DIR=/opt/vtk6/lib/ \
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cd build
+
+ # no DESTDIR support so use prefix. This has to suffix match the prefix in ./configure
+ make install/fast
+
+ cd ..
+ cp -r src/UnitsAPI/ "${pkgdir}/opt/$pkgname/src"
+ install -D -m644 "${srcdir}/opencascade.conf" "${pkgdir}/etc/ld.so.conf.d/opencascade.conf"
+ install -D -m 755 "${srcdir}/opencascade.sh" "${pkgdir}/etc/profile.d/opencascade.sh"
+ install -m 755 "${srcdir}/env.sh" "${pkgdir}/opt/$pkgname"
+ install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
+ install -m644 LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
Copied: opencascade/repos/community-testing-i686/env.sh (from rev 190212, opencascade/trunk/env.sh)
===================================================================
--- community-testing-i686/env.sh (rev 0)
+++ community-testing-i686/env.sh 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,22 @@
+#!/bin/sh -f
+
+export PATH="$PATH:$CASROOT/bin"
+export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$CASROOT/lib"
+
+export CSF_LANGUAGE=us
+export MMGT_CLEAR=1
+export CSF_EXCEPTION_PROMPT=1
+
+export CSF_SHMessage="$CASROOT"/src/SHMessage
+export CSF_MDTVTexturesDirectory="$CASROOT"/src/Textures
+export CSF_XSMessage="$CASROOT"/src/XSMessage
+export CSF_StandardDefaults="$CASROOT"/src/StdResource
+export CSF_PluginDefaults="$CASROOT"/src/StdResource
+export CSF_XCAFDefaults="$CASROOT"/src/StdResource
+export CSF_StandardLiteDefaults="$CASROOT"/src/StdResource
+export CSF_UnitsLexicon="$CASROOT"/src/UnitsAPI/Lexi_Expr.dat
+export CSF_UnitsDefinition="$CASROOT"/src/UnitsAPI/Units.dat
+export CSF_IGESDefaults="$CASROOT"/src/XSTEPResource
+export CSF_STEPDefaults="$CASROOT"/src/XSTEPResource
+export CSF_XmlOcafResource="$CASROOT"/src/XmlOcafResource
+export CSF_GraphicShr="$CASROOT"/lib/libTKOpenGl.so
Copied: opencascade/repos/community-testing-i686/opencascade.conf (from rev 190212, opencascade/trunk/opencascade.conf)
===================================================================
--- community-testing-i686/opencascade.conf (rev 0)
+++ community-testing-i686/opencascade.conf 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1 @@
+/opt/opencascade/lib
Copied: opencascade/repos/community-testing-i686/opencascade.sh (from rev 190212, opencascade/trunk/opencascade.sh)
===================================================================
--- community-testing-i686/opencascade.sh (rev 0)
+++ community-testing-i686/opencascade.sh 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,2 @@
+export CASROOT=/opt/opencascade
+source /opt/opencascade/env.sh
Copied: opencascade/repos/community-testing-i686/salome-occt-6.9.1.patch (from rev 190212, opencascade/trunk/salome-occt-6.9.1.patch)
===================================================================
--- community-testing-i686/salome-occt-6.9.1.patch (rev 0)
+++ community-testing-i686/salome-occt-6.9.1.patch 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,744 @@
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/drv/BRepFill/BRepFill_Pipe.jxx OCCT-6.9.1p1_SRC/drv/BRepFill/BRepFill_Pipe.jxx
+--- OCCT-6.9.1_SRC/drv/BRepFill/BRepFill_Pipe.jxx 2015-09-25 17:35:58.000000000 +0300
++++ OCCT-6.9.1p1_SRC/drv/BRepFill/BRepFill_Pipe.jxx 2016-04-26 16:10:42.000000000 +0300
+@@ -4,6 +4,7 @@
+ #include <StdFail_NotDone.hxx>
+ #include <TopoDS_Wire.hxx>
+ #include <TopoDS_Shape.hxx>
++#include <TopTools_ListOfShape.hxx>
+ #include <TopoDS_Face.hxx>
+ #include <TopoDS_Edge.hxx>
+ #include <TopoDS_Vertex.hxx>
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx OCCT-6.9.1p1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx
+--- OCCT-6.9.1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx 2015-09-25 17:36:04.000000000 +0300
++++ OCCT-6.9.1p1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx 2016-04-26 16:10:47.000000000 +0300
+@@ -1,4 +1,5 @@
+ #include <TopoDS_Wire.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <BRepFill_Pipe.hxx>
++#include <TopTools_ListOfShape.hxx>
+ #include <BRepOffsetAPI_MakePipe.hxx>
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/inc/BRepFill_Pipe.hxx OCCT-6.9.1p1_SRC/inc/BRepFill_Pipe.hxx
+--- OCCT-6.9.1_SRC/inc/BRepFill_Pipe.hxx 2015-09-25 17:35:58.000000000 +0300
++++ OCCT-6.9.1p1_SRC/inc/BRepFill_Pipe.hxx 2016-04-26 16:10:42.000000000 +0300
+@@ -18,6 +18,7 @@
+ #include <TopTools_MapOfShape.hxx>
+ #include <BRepFill_DataMapOfShapeHArray2OfShape.hxx>
+ #include <Standard_Integer.hxx>
++#include <TopTools_DataMapOfShapeListOfShape.hxx>
+ #include <GeomAbs_Shape.hxx>
+ #include <GeomFill_Trihedron.hxx>
+ #include <Standard_Boolean.hxx>
+@@ -28,6 +29,7 @@
+ class StdFail_NotDone;
+ class TopoDS_Wire;
+ class TopoDS_Shape;
++class TopTools_ListOfShape;
+ class TopoDS_Face;
+ class TopoDS_Edge;
+ class TopoDS_Vertex;
+@@ -65,6 +67,9 @@
+
+ Standard_EXPORT const TopoDS_Shape& LastShape() const;
+
++ //! Returns the list of shapes generated from the shape <S>.
++ Standard_EXPORT void Generated (const TopoDS_Shape& S, TopTools_ListOfShape& L) ;
++
+ //! Returns the face created from an edge of the spine
+ //! and an edge of the profile.
+ //! if the edges are not in the spine or the profile
+@@ -131,6 +136,7 @@
+ Standard_Integer myCurIndexOfSectionEdge;
+ TopoDS_Shape myFirst;
+ TopoDS_Shape myLast;
++ TopTools_DataMapOfShapeListOfShape myGenMap;
+ Standard_Integer myDegmax;
+ Standard_Integer mySegmax;
+ GeomAbs_Shape myContinuity;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/inc/BRepOffsetAPI_MakePipe.hxx OCCT-6.9.1p1_SRC/inc/BRepOffsetAPI_MakePipe.hxx
+--- OCCT-6.9.1_SRC/inc/BRepOffsetAPI_MakePipe.hxx 2015-09-25 17:36:04.000000000 +0300
++++ OCCT-6.9.1p1_SRC/inc/BRepOffsetAPI_MakePipe.hxx 2016-04-26 16:10:47.000000000 +0300
+@@ -18,6 +18,7 @@
+ class TopoDS_Wire;
+ class TopoDS_Shape;
+ class BRepFill_Pipe;
++class TopTools_ListOfShape;
+
+
+ //! Describes functions to build pipes.
+@@ -68,6 +69,8 @@
+ //! Returns the TopoDS Shape of the top of the prism.
+ Standard_EXPORT TopoDS_Shape LastShape() ;
+
++ Standard_EXPORT virtual const TopTools_ListOfShape& Generated (const TopoDS_Shape& S) ;
++
+ Standard_EXPORT TopoDS_Shape Generated (const TopoDS_Shape& SSpine, const TopoDS_Shape& SProfile) ;
+
+ Standard_EXPORT Standard_Real ErrorOnSurface() const;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cdl OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cdl
+--- OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cdl 2015-09-16 18:27:02.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cdl 2016-04-26 15:51:10.000000000 +0300
+@@ -15,11 +15,11 @@
+ -- commercial license or contractual agreement.
+
+
+-class Pipe from BRepFill
++class Pipe from BRepFill
+
+ ---Purpose: Create a shape by sweeping a shape (the profile)
+ -- along a wire (the spine).
+- --
++ --
+ -- For each edge or vertex from the spine the user
+ -- may ask for the shape generated from each subshape
+ -- of the profile.
+@@ -28,38 +28,40 @@
+
+ HArray2OfShape from TopTools,
+ MapOfShape from TopTools,
++ ListOfShape from TopTools,
+ DataMapOfShapeHArray2OfShape from BRepFill,
++ DataMapOfShapeListOfShape from TopTools,
+ LocationLaw from BRepFill,
+ Shape from TopoDS,
+ Face from TopoDS,
+ Wire from TopoDS,
+ Edge from TopoDS,
+- Vertex from TopoDS,
++ Vertex from TopoDS,
+ Pnt from gp,
+ Trsf from gp,
+ Shape from GeomAbs,
+ Trihedron from GeomFill
+
+ raises
+- DomainError from Standard,
++ DomainError from Standard,
+ NotDone from StdFail
+
+ is
+
+ Create returns Pipe from BRepFill;
+-
+- Create ( Spine : Wire from TopoDS;
++
++ Create ( Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS;
+ aMode : Trihedron from GeomFill = GeomFill_IsCorrectedFrenet;
+ ForceApproxC1 : Boolean from Standard = Standard_False;
+- GeneratePartCase : Boolean from Standard = Standard_False)
++ GeneratePartCase : Boolean from Standard = Standard_False)
+ returns Pipe from BRepFill;
+-
+- Perform (me : in out; Spine : Wire from TopoDS;
++
++ Perform (me : in out; Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS;
+- GeneratePartCase : Boolean from Standard = Standard_False)
++ GeneratePartCase : Boolean from Standard = Standard_False)
+ is static;
+-
++
+ Spine(me) returns Shape from TopoDS
+ ---C++ : return const &
+ is static;
+@@ -74,7 +76,7 @@
+
+ ErrorOnSurface (me)
+ returns Real from Standard;
+-
++
+ FirstShape(me) returns Shape from TopoDS
+ ---C++ : return const &
+ is static;
+@@ -83,27 +85,30 @@
+ ---C++ : return const &
+ is static;
+
++ Generated(me: in out; S: Shape from TopoDS; L: in out ListOfShape from TopTools);
++ ---Purpose: Returns the list of shapes generated from the shape <S>.
++
+ Face(me : in out; ESpine, EProfile : Edge from TopoDS)
+ returns Face from TopoDS
+ ---Purpose: Returns the face created from an edge of the spine
+ -- and an edge of the profile.
+ raises
+- DomainError from Standard
++ DomainError from Standard
+ ---Purpose: if the edges are not in the spine or the profile
+-
++
+ is static;
+-
++
+ Edge(me : in out; ESpine : Edge from TopoDS; VProfile : Vertex from TopoDS)
+ returns Edge from TopoDS
+ ---Purpose: Returns the edge created from an edge of the spine
+ -- and a vertex of the profile.
+ raises
+- DomainError from Standard
++ DomainError from Standard
+ ---Purpose: if the edge or the vertex are not in the spine or
+ -- the profile.
+-
++
+ is static;
+-
++
+ Section(me; VSpine : Vertex from TopoDS)
+ returns Shape from TopoDS
+ ---Purpose: Returns the shape created from the profile at the
+@@ -111,50 +116,50 @@
+ raises
+ DomainError from Standard
+ ---Purpose: if the vertex is not in the Spine
+- is static;
+-
+-
+- PipeLine(me : in out; Point : Pnt from gp)
++ is static;
++
++
++ PipeLine(me : in out; Point : Pnt from gp)
+ ---Purpose: Create a Wire by sweeping the Point along the <spine>
+- returns Wire from TopoDS
++ returns Wire from TopoDS
+ raises
+ DomainError from Standard
+- ---Purpose: if the <Spine> is undefined
++ ---Purpose: if the <Spine> is undefined
+ is static;
+
+
+ --
+ -- Private methods
+- --
+-
+- MakeShape(me : in out; S : Shape from TopoDS;
++ --
++
++ MakeShape(me : in out; S : Shape from TopoDS;
+ FirstShape, LastShape : Shape from TopoDS)
+ returns Shape from TopoDS
+ ---Purpose: Auxiliary recursive method used to build the
+- -- result.
++ -- result.
+ is static private;
+
+
+- FindEdge(me; S : Shape from TopoDS;
+- E : Edge from TopoDS;
+- Init : in out Integer)
++ FindEdge(me; S : Shape from TopoDS;
++ E : Edge from TopoDS;
++ Init : in out Integer)
+ ---Purpose: Auxiliary recursive method used to find the edge's index
+ returns Integer
+ is static private;
+
+- FindVertex(me; S : Shape from TopoDS;
+- V : Vertex from TopoDS;
+- Init : in out Integer)
++ FindVertex(me; S : Shape from TopoDS;
++ V : Vertex from TopoDS;
++ Init : in out Integer)
+ returns Integer
+- is static private;
+-
++ is static private;
++
+ DefineRealSegmax(me : in out)
+- is static private;
+-
++ is static private;
++
+ RebuildTopOrBottomFace(me; aFace: Shape from TopoDS;
+ IsTop: Boolean from Standard)
+- is static private;
+-
++ is static private;
++
+ ShareFaces(me: in out; theShape: Shape from TopoDS;
+ theInitialFacesLen: Integer;
+ theInitialEdgesLen: Integer;
+@@ -164,30 +169,31 @@
+ -- Returns the shared shape. If theShape is not modified this
+ -- method returns it.
+ returns Shape from TopoDS
+- is static private;
+-
++ is static private;
++
+ fields
+ mySpine : Wire from TopoDS;
+ myProfile : Shape from TopoDS;
+- myShape : Shape from TopoDS;
+- myTrsf : Trsf from gp;
++ myShape : Shape from TopoDS;
++ myTrsf : Trsf from gp;
+ myLoc : LocationLaw from BRepFill;
+- mySections: HArray2OfShape from TopTools;
+- myFaces : HArray2OfShape from TopTools;
+- myEdges : HArray2OfShape from TopTools;
+- myReversedEdges : MapOfShape from TopTools;
++ mySections: HArray2OfShape from TopTools;
++ myFaces : HArray2OfShape from TopTools;
++ myEdges : HArray2OfShape from TopTools;
++ myReversedEdges : MapOfShape from TopTools;
+ myTapes : DataMapOfShapeHArray2OfShape from BRepFill;
+ myRails : DataMapOfShapeHArray2OfShape from BRepFill;
+ myCurIndexOfSectionEdge : Integer from Standard;
+- myFirst : Shape from TopoDS;
+- myLast : Shape from TopoDS;
+-
++ myFirst : Shape from TopoDS;
++ myLast : Shape from TopoDS;
++ myGenMap : DataMapOfShapeListOfShape from TopTools;
++
+ myDegmax : Integer from Standard;
+ mySegmax : Integer from Standard;
+ myContinuity : Shape from GeomAbs;
+ myMode : Trihedron from GeomFill;
+ myForceApproxC1 : Boolean from Standard;
+-
++
+ myErrorOnSurf : Real from Standard;
+-
++
+ end Pipe;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cxx OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cxx
+--- OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cxx 2015-09-16 18:27:02.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cxx 2016-04-26 15:51:10.000000000 +0300
+@@ -69,6 +69,38 @@
+ static Standard_Boolean Affich = 0;
+ #endif
+
++// ---------------------------------------------------------------------------------
++// static function: UpdateMap
++// purpose:
++// ---------------------------------------------------------------------------------
++static Standard_Boolean UpdateMap(const TopoDS_Shape& theKey,
++ const TopoDS_Shape& theValue,
++ TopTools_DataMapOfShapeListOfShape& theMap)
++{
++ if(!theMap.IsBound(theKey))
++ {
++ TopTools_ListOfShape thelist;
++ theMap.Bind(theKey, thelist);
++ }
++ TopTools_ListOfShape& aList = theMap.ChangeFind(theKey);
++ TopTools_ListIteratorOfListOfShape anIt(aList);
++ Standard_Boolean found = Standard_False;
++
++ for(; anIt.More(); anIt.Next())
++ {
++ if(theValue.IsSame(anIt.Value()))
++ {
++ found = Standard_True;
++ break;
++ }
++ }
++
++ if(!found)
++ aList.Append(theValue);
++
++ return !found;
++}
++
+ static void ReverseModifiedEdges(TopoDS_Shape& aShape,
+ TopTools_MapOfShape& Emap)
+ {
+@@ -374,6 +406,47 @@
+ return myLast;
+ }
+
++//=======================================================================
++//function : Generated
++//purpose :
++//=======================================================================
++void BRepFill_Pipe::Generated(const TopoDS_Shape& theShape,
++ TopTools_ListOfShape& theList)
++{
++ theList.Clear();
++
++ if (theShape.IsSame(myProfile))
++ theList.Append(myShape);
++ else
++ {
++ if (theShape.ShapeType() == TopAbs_FACE ||
++ theShape.ShapeType() == TopAbs_WIRE)
++ {
++ if(myGenMap.IsBound(theShape))
++ theList = myGenMap.Find(theShape);
++ }
++ else if (theShape.ShapeType() == TopAbs_EDGE)
++ {
++ TopoDS_Iterator itw(mySpine);
++ for (; itw.More(); itw.Next())
++ {
++ const TopoDS_Edge& aSpineEdge = TopoDS::Edge(itw.Value());
++ const TopoDS_Shape& aFace = Face(aSpineEdge, TopoDS::Edge(theShape));
++ theList.Append(aFace);
++ }
++ }
++ else if (theShape.ShapeType() == TopAbs_VERTEX)
++ {
++ TopoDS_Iterator itw(mySpine);
++ for (; itw.More(); itw.Next())
++ {
++ const TopoDS_Edge& aSpineEdge = TopoDS::Edge(itw.Value());
++ const TopoDS_Shape& anEdge = Edge(aSpineEdge, TopoDS::Vertex(theShape));
++ theList.Append(anEdge);
++ }
++ }
++ }
++}
+
+ //=======================================================================
+ //function : Face
+@@ -640,6 +713,7 @@
+ MkSw.Build( myReversedEdges, myTapes, myRails,
+ BRepFill_Modified, myContinuity, GeomFill_Location, myDegmax, mySegmax );
+ result = MkSw.Shape();
++ UpdateMap(TheS.Located(myProfile.Location()), result, myGenMap);
+ myErrorOnSurf = MkSw.ErrorOnSurface();
+
+ Handle(TopTools_HArray2OfShape) aSections = MkSw.Sections();
+@@ -662,6 +736,7 @@
+ MkSw.Build( myReversedEdges, myTapes, myRails,
+ BRepFill_Modified, myContinuity, GeomFill_Location, myDegmax, mySegmax );
+ result = MkSw.Shape();
++ UpdateMap(TheS.Located(myProfile.Location()), result, myGenMap);
+ myErrorOnSurf = MkSw.ErrorOnSurface();
+ //Correct <myFirst> and <myLast>
+ ReverseModifiedEdges(myFirst, myReversedEdges);
+@@ -769,6 +844,7 @@
+ BS.Add(solid,TopoDS::Shell(aLocalShape));
+ // BS.Add(solid,TopoDS::Shell(result.Reversed()));
+ }
++ UpdateMap(TheS.Located(myProfile.Location()), solid, myGenMap);
+ return solid;
+ }
+ else {
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl
+--- OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl 2015-09-16 18:27:03.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl 2016-04-26 15:51:11.000000000 +0300
+@@ -36,8 +36,8 @@
+ ListOfShape from TopTools
+
+ is
+-
+-
++
++
+ Create( Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS )
+ ---Purpose: Constructs a pipe by sweeping the shape Profile along
+@@ -52,7 +52,7 @@
+ -- Standard_DomainError if the profile is a solid or a
+ -- composite solid.
+ returns MakePipe from BRepOffsetAPI;
+-
++
+ Create( Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS;
+ aMode : Trihedron from GeomFill;
+@@ -72,7 +72,7 @@
+ Build(me : in out)
+ is redefined;
+ ---Purpose: Builds the resulting shape (redefined from MakeShape).
+- ---Level: Public
++ ---Level: Public
+
+
+ FirstShape (me : in out)
+@@ -84,6 +84,11 @@
+ ---Purpose: Returns the TopoDS Shape of the top of the prism.
+ returns Shape from TopoDS;
+
++ Generated (me: in out; S: Shape from TopoDS)
++ returns ListOfShape from TopTools
++ is redefined;
++ ---C++: return const &
++ ---Level: Public
+
+ Generated (me: in out; SSpine, SProfile : Shape from TopoDS)
+ ---Level: Public
+@@ -99,4 +104,4 @@
+
+ myPipe : Pipe from BRepFill;
+
+-end MakePipe;
++end MakePipe;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx
+--- OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx 2015-09-16 18:27:03.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx 2016-04-26 15:51:11.000000000 +0300
+@@ -109,14 +109,23 @@
+ return myPipe.LastShape();
+ }
+
++//=======================================================================
++//function : Generated
++//purpose : standard method
++//=======================================================================
++const TopTools_ListOfShape& BRepOffsetAPI_MakePipe::Generated(const TopoDS_Shape& S)
++{
++ myPipe.Generated(S, myGenerated);
++ return myGenerated;
++}
+
+ //=======================================================================
+ //function : Generated
+-//purpose :
++//purpose : returns generated elementary subshape
+ //=======================================================================
+
+-TopoDS_Shape BRepOffsetAPI_MakePipe::Generated (const TopoDS_Shape& SSpine,
+- const TopoDS_Shape& SProfile)
++TopoDS_Shape BRepOffsetAPI_MakePipe::Generated(const TopoDS_Shape& SSpine,
++ const TopoDS_Shape& SProfile)
+ {
+ if (SProfile.ShapeType () == TopAbs_EDGE) {
+ return myPipe.Face (TopoDS::Edge (SSpine), TopoDS::Edge (SProfile));
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/QABugs/QABugs_19.cxx OCCT-6.9.1p1_SRC/src/QABugs/QABugs_19.cxx
+--- OCCT-6.9.1_SRC/src/QABugs/QABugs_19.cxx 2015-09-16 18:27:29.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/QABugs/QABugs_19.cxx 2016-04-26 15:51:28.000000000 +0300
+@@ -53,6 +53,7 @@
+ #include <GeomFill_Trihedron.hxx>
+ #include <BRepOffsetAPI_MakePipe.hxx>
+ #include <Standard_Atomic.hxx>
++#include <TopTools_ListIteratorOfListOfShape.hxx>
+
+ #include <Standard_Version.hxx>
+
+@@ -4306,6 +4307,95 @@
+ return 0;
+ }
+
++//========================================================================
++//function : OCC27065
++//purpose : Tests overloaded method "Generated" of BRepOffsetAPI_MakePipe
++//========================================================================
++static Standard_Integer OCC27065(Draw_Interpretor& di,
++ Standard_Integer n, const char** a)
++{
++ if (n < 3) return 1;
++ BRep_Builder BB;
++
++ TopoDS_Shape SpineShape = DBRep::Get(a[1],TopAbs_WIRE);
++ if ( SpineShape.IsNull()) return 1;
++ TopoDS_Wire Spine = TopoDS::Wire(SpineShape);
++
++ TopoDS_Shape Profile = DBRep::Get(a[2]);
++ if ( Profile.IsNull()) return 1;
++
++ BRepOffsetAPI_MakePipe aPipeBuilder(Spine, Profile);
++ if (!aPipeBuilder.IsDone())
++ {
++ di << "Error: failed to create pipe\n";
++ return 1;
++ }
++
++ TopExp_Explorer Explo(Profile, TopAbs_SHELL);
++ TopoDS_Shape aShape;
++ TopTools_ListIteratorOfListOfShape itl;
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res1;
++ BB.MakeCompound(res1);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res1, itl.Value());
++ DBRep::Set("res_shell", res1);
++ }
++
++ Explo.Init(Profile, TopAbs_FACE);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res2;
++ BB.MakeCompound(res2);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res2, itl.Value());
++ DBRep::Set("res_face", res2);
++ }
++
++ Explo.Init(Profile, TopAbs_WIRE);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res3;
++ BB.MakeCompound(res3);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res3, itl.Value());
++ DBRep::Set("res_wire", res3);
++ }
++
++ Explo.Init(Profile, TopAbs_EDGE);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res4;
++ BB.MakeCompound(res4);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res4, itl.Value());
++ DBRep::Set("res_edge", res4);
++ }
++
++ Explo.Init(Profile, TopAbs_VERTEX);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res5;
++ BB.MakeCompound(res5);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res5, itl.Value());
++ DBRep::Set("res_vertex", res5);
++ }
++
++ return 0;
++}
++
+ void QABugs::Commands_19(Draw_Interpretor& theCommands) {
+ const char *group = "QABugs";
+
+@@ -4397,5 +4487,9 @@
+
+ theCommands.Add ("OCC26313", "OCC26313 result shape", __FILE__, OCC26313, group);
+
++ theCommands.Add ("OCC27065",
++ "OCC27065 spine profile",
++ __FILE__, OCC27065, group);
++
+ return;
+ }
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx OCCT-6.9.1p1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx
+--- OCCT-6.9.1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx 2015-09-16 18:27:36.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx 2016-04-26 15:51:32.000000000 +0300
+@@ -687,6 +687,7 @@
+ for(theObject->Init(); theObject->More(); theObject->Next())
+ {
+ const Handle(SelectMgr_Selection)& aSelection = theObject->CurrentSelection();
++ aSelection->UpdateStatus (SelectMgr_TOU_Full);
+ Standard_Integer aSelMode = aSelection->Mode();
+
+ for (TColStd_MapIteratorOfMapOfTransient aSelectorIter (mySelectors); aSelectorIter.More(); aSelectorIter.Next())
+@@ -697,10 +698,10 @@
+ ClearSelectionStructures (theObject, aSelMode, aCurSelector);
+ theObject->RecomputePrimitives(aSelMode);
+ RestoreSelectionStructures (theObject, aSelMode, aCurSelector);
++ aSelection->UpdateStatus (SelectMgr_TOU_None);
++ aSelection->UpdateBVHStatus (SelectMgr_TBU_None);
+ }
+ }
+- aSelection->UpdateStatus (SelectMgr_TOU_None);
+- aSelection->UpdateBVHStatus (SelectMgr_TBU_None);
+ }
+ }
+
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_1 OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_1
+--- OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_1 1970-01-01 03:00:00.000000000 +0300
++++ OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_1 2016-04-26 14:43:27.000000000 +0300
+@@ -0,0 +1,24 @@
++puts "============"
++puts "OCC27065"
++puts "============"
++puts ""
++###############################
++## BRepOffsetAPI_MakePipe misses definition of virtual method Generated()
++###############################
++
++pload QAcommands
++
++restore [locate_data_file bug24840_comp.brep] sh
++explode sh
++OCC27065 sh_1 sh_2
++fit
++
++checknbshapes res_shell -vertex 56 -edge 130 -wire 99 -face 99 -shell 24 -solid 24 -compsolid 1 -compound 1 -shape 434
++
++checknbshapes res_face -vertex 8 -edge 12 -wire 6 -face 6 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 35
++
++checknbshapes res_wire -vertex 8 -edge 12 -wire 4 -face 4 -shell 1 -solid 0 -compsolid 0 -compound 1 -shape 30
++
++checknbshapes res_edge -vertex 4 -edge 4 -wire 1 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 11
++
++checknbshapes res_vertex -vertex 2 -edge 1 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 4
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_2 OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_2
+--- OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_2 1970-01-01 03:00:00.000000000 +0300
++++ OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_2 2016-04-26 14:43:27.000000000 +0300
+@@ -0,0 +1,28 @@
++puts "============"
++puts "OCC27065"
++puts "============"
++puts ""
++###############################
++## BRepOffsetAPI_MakePipe misses definition of virtual method Generated()
++###############################
++
++pload QAcommands
++
++restore [locate_data_file bug23903_base.brep] base
++restore [locate_data_file bug23903_path.brep] sp
++explode base
++shape pr Sh
++add base_1 pr
++add base_2 pr
++OCC27065 sp pr
++fit
++
++checknbshapes res_shell -vertex 2 -edge 5 -wire 3 -face 3 -shell 2 -solid 2 -compsolid 1 -compound 1 -shape 19
++
++checknbshapes res_face -vertex 2 -edge 4 -wire 2 -face 2 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 13
++
++checknbshapes res_wire -vertex 2 -edge 4 -wire 2 -face 2 -shell 1 -solid 0 -compsolid 0 -compound 1 -shape 12
++
++checknbshapes res_edge -vertex 2 -edge 3 -wire 1 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 8
++
++checknbshapes res_vertex -vertex 1 -edge 1 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 3
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/tests/bugs/vis/bug26870 OCCT-6.9.1p1_SRC/tests/bugs/vis/bug26870
+--- OCCT-6.9.1_SRC/tests/bugs/vis/bug26870 1970-01-01 03:00:00.000000000 +0300
++++ OCCT-6.9.1p1_SRC/tests/bugs/vis/bug26870 2016-04-26 15:52:06.000000000 +0300
+@@ -0,0 +1,37 @@
++puts "============"
++puts "CR26870"
++puts "============"
++puts ""
++
++##########################################################################################
++puts "Visualization - deactivated selections are not updated after object's re-computation"
++##########################################################################################
++
++pload VISUALIZATION MODELING
++
++vinit
++box b 1 1 1
++vdisplay b
++vfit
++
++vselmode b 2 1
++vselmode b 4 1
++vselmode b 4 0
++
++box b 3 3 3
++vdisplay b
++vfit
++
++vselmode 4 1
++
++# pick a point onto previously computed face
++vmoveto 80 265
++if {[vreadpixel 90 206 name] == "CYAN1 1"} {
++ puts "ERROR: previously computed entities are highlighted! Selection mode 4 was not updated after redisplaying the box."
++}
++# pick a point onto box
++if {[vreadpixel 29 216 name] == "YELLOW 1"} {
++ puts "ERROR: the box's face is not highlighted! Selection mode 4 was not updated after redisplaying the box."
++}
++
++set only_screen 1
Copied: opencascade/repos/community-testing-x86_64/PKGBUILD (from rev 190212, opencascade/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,65 @@
+# Maintainer: Florian Pritz <bluewind at xinu.at>
+# Contributor: Giuseppe Borzi <gborzi at ieee.org>
+# Contributor: Brice M<E9>alier <mealier_brice at yahoo.fr>
+# Contributor: Michele Mocciola <mickele>
+pkgname=opencascade
+pkgver=6.9.1
+pkgrel=7
+pkgdesc="Open CASCADE Technology, 3D modeling & numerical simulation"
+arch=('i686' 'x86_64')
+url="http://www.opencascade.org"
+license=('custom')
+depends=('tk' 'mesa' 'libxmu' 'ftgl' 'vtk6')
+source=("https://sources.archlinux.org/other/community/opencascade/opencascade-$pkgver.tgz" "env.sh" "opencascade.sh" "opencascade.conf" 'salome-occt-6.9.1.patch')
+md5sums=('7f2e645b5010d190c9bb35dc457f9a7c'
+ 'a96f28ee7f4273ae1771ee033a2a3af3'
+ 'd9368b8d348ced3ec4462012977552d2'
+ '2924ecf57c95d25888f51071fdc72ad0'
+ '88db8e6b9afa132d1893bbb814250350')
+
+# This works around a bug that is corrected in OCCT 7.0.0
+export CCFLAGS+=" -O2 -fno-delete-null-pointer-checks"
+export CXXFLAGS+=" -O2 -fno-delete-null-pointer-checks"
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # fix build with vtk 6.3.0
+ sed -i '/CSF_VTK_LIB/s/-6\.1//g' configure.ac
+
+ # fix for automake 1.13
+ sed -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
+
+ # Included in OCCT 7.0.0
+ patch -i "$srcdir/salome-occt-6.9.1.patch" -p1
+
+ ./build_configure
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # fix build with vtk 6.3.0
+ CXXFLAGS+=' -DvtkFloatingPointType=double'
+
+ # Change to --enable-production with OCCT 7.0.0
+ ./configure --disable-debug --disable-production \
+ --with-vtk-library=/opt/vtk6/lib/ --with-vtk-include=/opt/vtk6/include/vtk/ \
+ --prefix=/opt/$pkgname
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # no DESTDIR support so use prefix. This has to suffix match the prefix in ./configure
+ make prefix="$pkgdir/opt/$pkgname" install
+ cp -r src/UnitsAPI/ "${pkgdir}/opt/$pkgname/src"
+ install -D -m644 "${srcdir}/opencascade.conf" "${pkgdir}/etc/ld.so.conf.d/opencascade.conf"
+ install -D -m 755 "${srcdir}/opencascade.sh" "${pkgdir}/etc/profile.d/opencascade.sh"
+ install -m 755 "${srcdir}/env.sh" "${pkgdir}/opt/$pkgname"
+ install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
+ install -m644 LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
Copied: opencascade/repos/community-testing-x86_64/PKGBUILD-7.0.0 (from rev 190212, opencascade/trunk/PKGBUILD-7.0.0)
===================================================================
--- community-testing-x86_64/PKGBUILD-7.0.0 (rev 0)
+++ community-testing-x86_64/PKGBUILD-7.0.0 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,54 @@
+# Maintainer: Florian Pritz <bluewind at xinu.at>
+# Contributor: Giuseppe Borzi <gborzi at ieee.org>
+# Contributor: Brice M<E9>alier <mealier_brice at yahoo.fr>
+# Contributor: Michele Mocciola <mickele>
+pkgname=opencascade
+pkgver=7.0.0
+pkgrel=1
+pkgdesc="Open CASCADE Technology, 3D modeling & numerical simulation"
+arch=('i686' 'x86_64')
+url="http://www.opencascade.org"
+license=('custom')
+depends=('tk' 'mesa' 'libxmu' 'ftgl' 'libxi')
+makedepends=('cmake')
+source=("https://sources.archlinux.org/other/community/opencascade/opencascade-$pkgver.tgz" "env.sh" "opencascade.sh" "opencascade.conf")
+md5sums=('fa1458aba1ce96c85d7876b35a04af6c'
+ 'a96f28ee7f4273ae1771ee033a2a3af3'
+ 'd9368b8d348ced3ec4462012977552d2'
+ '2924ecf57c95d25888f51071fdc72ad0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ #export CFLAGS+=" -L/opt/vtk6/lib"
+ #export CXXFLAGS+=" -L/opt/vtk6/lib"
+
+ mkdir build
+ cd build
+ cmake \
+ -DCMAKE_INSTALL_PREFIX="$pkgdir/opt/$pkgname" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DUSE_VTK=OFF \
+ ..
+ #-D3RDPARTY_VTK_INCLUDE_DIR=/opt/vtk6/include/vtk/ \
+ #-D3RDPARTY_VTK_LIBRARY_DIR=/opt/vtk6/lib/ \
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ cd build
+
+ # no DESTDIR support so use prefix. This has to suffix match the prefix in ./configure
+ make install/fast
+
+ cd ..
+ cp -r src/UnitsAPI/ "${pkgdir}/opt/$pkgname/src"
+ install -D -m644 "${srcdir}/opencascade.conf" "${pkgdir}/etc/ld.so.conf.d/opencascade.conf"
+ install -D -m 755 "${srcdir}/opencascade.sh" "${pkgdir}/etc/profile.d/opencascade.sh"
+ install -m 755 "${srcdir}/env.sh" "${pkgdir}/opt/$pkgname"
+ install -dm755 "$pkgdir/usr/share/licenses/$pkgname/"
+ install -m644 LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+# vim:set ts=2 sw=2 et:
Copied: opencascade/repos/community-testing-x86_64/env.sh (from rev 190212, opencascade/trunk/env.sh)
===================================================================
--- community-testing-x86_64/env.sh (rev 0)
+++ community-testing-x86_64/env.sh 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,22 @@
+#!/bin/sh -f
+
+export PATH="$PATH:$CASROOT/bin"
+export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$CASROOT/lib"
+
+export CSF_LANGUAGE=us
+export MMGT_CLEAR=1
+export CSF_EXCEPTION_PROMPT=1
+
+export CSF_SHMessage="$CASROOT"/src/SHMessage
+export CSF_MDTVTexturesDirectory="$CASROOT"/src/Textures
+export CSF_XSMessage="$CASROOT"/src/XSMessage
+export CSF_StandardDefaults="$CASROOT"/src/StdResource
+export CSF_PluginDefaults="$CASROOT"/src/StdResource
+export CSF_XCAFDefaults="$CASROOT"/src/StdResource
+export CSF_StandardLiteDefaults="$CASROOT"/src/StdResource
+export CSF_UnitsLexicon="$CASROOT"/src/UnitsAPI/Lexi_Expr.dat
+export CSF_UnitsDefinition="$CASROOT"/src/UnitsAPI/Units.dat
+export CSF_IGESDefaults="$CASROOT"/src/XSTEPResource
+export CSF_STEPDefaults="$CASROOT"/src/XSTEPResource
+export CSF_XmlOcafResource="$CASROOT"/src/XmlOcafResource
+export CSF_GraphicShr="$CASROOT"/lib/libTKOpenGl.so
Copied: opencascade/repos/community-testing-x86_64/opencascade.conf (from rev 190212, opencascade/trunk/opencascade.conf)
===================================================================
--- community-testing-x86_64/opencascade.conf (rev 0)
+++ community-testing-x86_64/opencascade.conf 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1 @@
+/opt/opencascade/lib
Copied: opencascade/repos/community-testing-x86_64/opencascade.sh (from rev 190212, opencascade/trunk/opencascade.sh)
===================================================================
--- community-testing-x86_64/opencascade.sh (rev 0)
+++ community-testing-x86_64/opencascade.sh 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,2 @@
+export CASROOT=/opt/opencascade
+source /opt/opencascade/env.sh
Copied: opencascade/repos/community-testing-x86_64/salome-occt-6.9.1.patch (from rev 190212, opencascade/trunk/salome-occt-6.9.1.patch)
===================================================================
--- community-testing-x86_64/salome-occt-6.9.1.patch (rev 0)
+++ community-testing-x86_64/salome-occt-6.9.1.patch 2016-09-23 14:51:31 UTC (rev 190213)
@@ -0,0 +1,744 @@
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/drv/BRepFill/BRepFill_Pipe.jxx OCCT-6.9.1p1_SRC/drv/BRepFill/BRepFill_Pipe.jxx
+--- OCCT-6.9.1_SRC/drv/BRepFill/BRepFill_Pipe.jxx 2015-09-25 17:35:58.000000000 +0300
++++ OCCT-6.9.1p1_SRC/drv/BRepFill/BRepFill_Pipe.jxx 2016-04-26 16:10:42.000000000 +0300
+@@ -4,6 +4,7 @@
+ #include <StdFail_NotDone.hxx>
+ #include <TopoDS_Wire.hxx>
+ #include <TopoDS_Shape.hxx>
++#include <TopTools_ListOfShape.hxx>
+ #include <TopoDS_Face.hxx>
+ #include <TopoDS_Edge.hxx>
+ #include <TopoDS_Vertex.hxx>
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx OCCT-6.9.1p1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx
+--- OCCT-6.9.1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx 2015-09-25 17:36:04.000000000 +0300
++++ OCCT-6.9.1p1_SRC/drv/BRepOffsetAPI/BRepOffsetAPI_MakePipe.jxx 2016-04-26 16:10:47.000000000 +0300
+@@ -1,4 +1,5 @@
+ #include <TopoDS_Wire.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <BRepFill_Pipe.hxx>
++#include <TopTools_ListOfShape.hxx>
+ #include <BRepOffsetAPI_MakePipe.hxx>
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/inc/BRepFill_Pipe.hxx OCCT-6.9.1p1_SRC/inc/BRepFill_Pipe.hxx
+--- OCCT-6.9.1_SRC/inc/BRepFill_Pipe.hxx 2015-09-25 17:35:58.000000000 +0300
++++ OCCT-6.9.1p1_SRC/inc/BRepFill_Pipe.hxx 2016-04-26 16:10:42.000000000 +0300
+@@ -18,6 +18,7 @@
+ #include <TopTools_MapOfShape.hxx>
+ #include <BRepFill_DataMapOfShapeHArray2OfShape.hxx>
+ #include <Standard_Integer.hxx>
++#include <TopTools_DataMapOfShapeListOfShape.hxx>
+ #include <GeomAbs_Shape.hxx>
+ #include <GeomFill_Trihedron.hxx>
+ #include <Standard_Boolean.hxx>
+@@ -28,6 +29,7 @@
+ class StdFail_NotDone;
+ class TopoDS_Wire;
+ class TopoDS_Shape;
++class TopTools_ListOfShape;
+ class TopoDS_Face;
+ class TopoDS_Edge;
+ class TopoDS_Vertex;
+@@ -65,6 +67,9 @@
+
+ Standard_EXPORT const TopoDS_Shape& LastShape() const;
+
++ //! Returns the list of shapes generated from the shape <S>.
++ Standard_EXPORT void Generated (const TopoDS_Shape& S, TopTools_ListOfShape& L) ;
++
+ //! Returns the face created from an edge of the spine
+ //! and an edge of the profile.
+ //! if the edges are not in the spine or the profile
+@@ -131,6 +136,7 @@
+ Standard_Integer myCurIndexOfSectionEdge;
+ TopoDS_Shape myFirst;
+ TopoDS_Shape myLast;
++ TopTools_DataMapOfShapeListOfShape myGenMap;
+ Standard_Integer myDegmax;
+ Standard_Integer mySegmax;
+ GeomAbs_Shape myContinuity;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/inc/BRepOffsetAPI_MakePipe.hxx OCCT-6.9.1p1_SRC/inc/BRepOffsetAPI_MakePipe.hxx
+--- OCCT-6.9.1_SRC/inc/BRepOffsetAPI_MakePipe.hxx 2015-09-25 17:36:04.000000000 +0300
++++ OCCT-6.9.1p1_SRC/inc/BRepOffsetAPI_MakePipe.hxx 2016-04-26 16:10:47.000000000 +0300
+@@ -18,6 +18,7 @@
+ class TopoDS_Wire;
+ class TopoDS_Shape;
+ class BRepFill_Pipe;
++class TopTools_ListOfShape;
+
+
+ //! Describes functions to build pipes.
+@@ -68,6 +69,8 @@
+ //! Returns the TopoDS Shape of the top of the prism.
+ Standard_EXPORT TopoDS_Shape LastShape() ;
+
++ Standard_EXPORT virtual const TopTools_ListOfShape& Generated (const TopoDS_Shape& S) ;
++
+ Standard_EXPORT TopoDS_Shape Generated (const TopoDS_Shape& SSpine, const TopoDS_Shape& SProfile) ;
+
+ Standard_EXPORT Standard_Real ErrorOnSurface() const;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cdl OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cdl
+--- OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cdl 2015-09-16 18:27:02.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cdl 2016-04-26 15:51:10.000000000 +0300
+@@ -15,11 +15,11 @@
+ -- commercial license or contractual agreement.
+
+
+-class Pipe from BRepFill
++class Pipe from BRepFill
+
+ ---Purpose: Create a shape by sweeping a shape (the profile)
+ -- along a wire (the spine).
+- --
++ --
+ -- For each edge or vertex from the spine the user
+ -- may ask for the shape generated from each subshape
+ -- of the profile.
+@@ -28,38 +28,40 @@
+
+ HArray2OfShape from TopTools,
+ MapOfShape from TopTools,
++ ListOfShape from TopTools,
+ DataMapOfShapeHArray2OfShape from BRepFill,
++ DataMapOfShapeListOfShape from TopTools,
+ LocationLaw from BRepFill,
+ Shape from TopoDS,
+ Face from TopoDS,
+ Wire from TopoDS,
+ Edge from TopoDS,
+- Vertex from TopoDS,
++ Vertex from TopoDS,
+ Pnt from gp,
+ Trsf from gp,
+ Shape from GeomAbs,
+ Trihedron from GeomFill
+
+ raises
+- DomainError from Standard,
++ DomainError from Standard,
+ NotDone from StdFail
+
+ is
+
+ Create returns Pipe from BRepFill;
+-
+- Create ( Spine : Wire from TopoDS;
++
++ Create ( Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS;
+ aMode : Trihedron from GeomFill = GeomFill_IsCorrectedFrenet;
+ ForceApproxC1 : Boolean from Standard = Standard_False;
+- GeneratePartCase : Boolean from Standard = Standard_False)
++ GeneratePartCase : Boolean from Standard = Standard_False)
+ returns Pipe from BRepFill;
+-
+- Perform (me : in out; Spine : Wire from TopoDS;
++
++ Perform (me : in out; Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS;
+- GeneratePartCase : Boolean from Standard = Standard_False)
++ GeneratePartCase : Boolean from Standard = Standard_False)
+ is static;
+-
++
+ Spine(me) returns Shape from TopoDS
+ ---C++ : return const &
+ is static;
+@@ -74,7 +76,7 @@
+
+ ErrorOnSurface (me)
+ returns Real from Standard;
+-
++
+ FirstShape(me) returns Shape from TopoDS
+ ---C++ : return const &
+ is static;
+@@ -83,27 +85,30 @@
+ ---C++ : return const &
+ is static;
+
++ Generated(me: in out; S: Shape from TopoDS; L: in out ListOfShape from TopTools);
++ ---Purpose: Returns the list of shapes generated from the shape <S>.
++
+ Face(me : in out; ESpine, EProfile : Edge from TopoDS)
+ returns Face from TopoDS
+ ---Purpose: Returns the face created from an edge of the spine
+ -- and an edge of the profile.
+ raises
+- DomainError from Standard
++ DomainError from Standard
+ ---Purpose: if the edges are not in the spine or the profile
+-
++
+ is static;
+-
++
+ Edge(me : in out; ESpine : Edge from TopoDS; VProfile : Vertex from TopoDS)
+ returns Edge from TopoDS
+ ---Purpose: Returns the edge created from an edge of the spine
+ -- and a vertex of the profile.
+ raises
+- DomainError from Standard
++ DomainError from Standard
+ ---Purpose: if the edge or the vertex are not in the spine or
+ -- the profile.
+-
++
+ is static;
+-
++
+ Section(me; VSpine : Vertex from TopoDS)
+ returns Shape from TopoDS
+ ---Purpose: Returns the shape created from the profile at the
+@@ -111,50 +116,50 @@
+ raises
+ DomainError from Standard
+ ---Purpose: if the vertex is not in the Spine
+- is static;
+-
+-
+- PipeLine(me : in out; Point : Pnt from gp)
++ is static;
++
++
++ PipeLine(me : in out; Point : Pnt from gp)
+ ---Purpose: Create a Wire by sweeping the Point along the <spine>
+- returns Wire from TopoDS
++ returns Wire from TopoDS
+ raises
+ DomainError from Standard
+- ---Purpose: if the <Spine> is undefined
++ ---Purpose: if the <Spine> is undefined
+ is static;
+
+
+ --
+ -- Private methods
+- --
+-
+- MakeShape(me : in out; S : Shape from TopoDS;
++ --
++
++ MakeShape(me : in out; S : Shape from TopoDS;
+ FirstShape, LastShape : Shape from TopoDS)
+ returns Shape from TopoDS
+ ---Purpose: Auxiliary recursive method used to build the
+- -- result.
++ -- result.
+ is static private;
+
+
+- FindEdge(me; S : Shape from TopoDS;
+- E : Edge from TopoDS;
+- Init : in out Integer)
++ FindEdge(me; S : Shape from TopoDS;
++ E : Edge from TopoDS;
++ Init : in out Integer)
+ ---Purpose: Auxiliary recursive method used to find the edge's index
+ returns Integer
+ is static private;
+
+- FindVertex(me; S : Shape from TopoDS;
+- V : Vertex from TopoDS;
+- Init : in out Integer)
++ FindVertex(me; S : Shape from TopoDS;
++ V : Vertex from TopoDS;
++ Init : in out Integer)
+ returns Integer
+- is static private;
+-
++ is static private;
++
+ DefineRealSegmax(me : in out)
+- is static private;
+-
++ is static private;
++
+ RebuildTopOrBottomFace(me; aFace: Shape from TopoDS;
+ IsTop: Boolean from Standard)
+- is static private;
+-
++ is static private;
++
+ ShareFaces(me: in out; theShape: Shape from TopoDS;
+ theInitialFacesLen: Integer;
+ theInitialEdgesLen: Integer;
+@@ -164,30 +169,31 @@
+ -- Returns the shared shape. If theShape is not modified this
+ -- method returns it.
+ returns Shape from TopoDS
+- is static private;
+-
++ is static private;
++
+ fields
+ mySpine : Wire from TopoDS;
+ myProfile : Shape from TopoDS;
+- myShape : Shape from TopoDS;
+- myTrsf : Trsf from gp;
++ myShape : Shape from TopoDS;
++ myTrsf : Trsf from gp;
+ myLoc : LocationLaw from BRepFill;
+- mySections: HArray2OfShape from TopTools;
+- myFaces : HArray2OfShape from TopTools;
+- myEdges : HArray2OfShape from TopTools;
+- myReversedEdges : MapOfShape from TopTools;
++ mySections: HArray2OfShape from TopTools;
++ myFaces : HArray2OfShape from TopTools;
++ myEdges : HArray2OfShape from TopTools;
++ myReversedEdges : MapOfShape from TopTools;
+ myTapes : DataMapOfShapeHArray2OfShape from BRepFill;
+ myRails : DataMapOfShapeHArray2OfShape from BRepFill;
+ myCurIndexOfSectionEdge : Integer from Standard;
+- myFirst : Shape from TopoDS;
+- myLast : Shape from TopoDS;
+-
++ myFirst : Shape from TopoDS;
++ myLast : Shape from TopoDS;
++ myGenMap : DataMapOfShapeListOfShape from TopTools;
++
+ myDegmax : Integer from Standard;
+ mySegmax : Integer from Standard;
+ myContinuity : Shape from GeomAbs;
+ myMode : Trihedron from GeomFill;
+ myForceApproxC1 : Boolean from Standard;
+-
++
+ myErrorOnSurf : Real from Standard;
+-
++
+ end Pipe;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cxx OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cxx
+--- OCCT-6.9.1_SRC/src/BRepFill/BRepFill_Pipe.cxx 2015-09-16 18:27:02.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepFill/BRepFill_Pipe.cxx 2016-04-26 15:51:10.000000000 +0300
+@@ -69,6 +69,38 @@
+ static Standard_Boolean Affich = 0;
+ #endif
+
++// ---------------------------------------------------------------------------------
++// static function: UpdateMap
++// purpose:
++// ---------------------------------------------------------------------------------
++static Standard_Boolean UpdateMap(const TopoDS_Shape& theKey,
++ const TopoDS_Shape& theValue,
++ TopTools_DataMapOfShapeListOfShape& theMap)
++{
++ if(!theMap.IsBound(theKey))
++ {
++ TopTools_ListOfShape thelist;
++ theMap.Bind(theKey, thelist);
++ }
++ TopTools_ListOfShape& aList = theMap.ChangeFind(theKey);
++ TopTools_ListIteratorOfListOfShape anIt(aList);
++ Standard_Boolean found = Standard_False;
++
++ for(; anIt.More(); anIt.Next())
++ {
++ if(theValue.IsSame(anIt.Value()))
++ {
++ found = Standard_True;
++ break;
++ }
++ }
++
++ if(!found)
++ aList.Append(theValue);
++
++ return !found;
++}
++
+ static void ReverseModifiedEdges(TopoDS_Shape& aShape,
+ TopTools_MapOfShape& Emap)
+ {
+@@ -374,6 +406,47 @@
+ return myLast;
+ }
+
++//=======================================================================
++//function : Generated
++//purpose :
++//=======================================================================
++void BRepFill_Pipe::Generated(const TopoDS_Shape& theShape,
++ TopTools_ListOfShape& theList)
++{
++ theList.Clear();
++
++ if (theShape.IsSame(myProfile))
++ theList.Append(myShape);
++ else
++ {
++ if (theShape.ShapeType() == TopAbs_FACE ||
++ theShape.ShapeType() == TopAbs_WIRE)
++ {
++ if(myGenMap.IsBound(theShape))
++ theList = myGenMap.Find(theShape);
++ }
++ else if (theShape.ShapeType() == TopAbs_EDGE)
++ {
++ TopoDS_Iterator itw(mySpine);
++ for (; itw.More(); itw.Next())
++ {
++ const TopoDS_Edge& aSpineEdge = TopoDS::Edge(itw.Value());
++ const TopoDS_Shape& aFace = Face(aSpineEdge, TopoDS::Edge(theShape));
++ theList.Append(aFace);
++ }
++ }
++ else if (theShape.ShapeType() == TopAbs_VERTEX)
++ {
++ TopoDS_Iterator itw(mySpine);
++ for (; itw.More(); itw.Next())
++ {
++ const TopoDS_Edge& aSpineEdge = TopoDS::Edge(itw.Value());
++ const TopoDS_Shape& anEdge = Edge(aSpineEdge, TopoDS::Vertex(theShape));
++ theList.Append(anEdge);
++ }
++ }
++ }
++}
+
+ //=======================================================================
+ //function : Face
+@@ -640,6 +713,7 @@
+ MkSw.Build( myReversedEdges, myTapes, myRails,
+ BRepFill_Modified, myContinuity, GeomFill_Location, myDegmax, mySegmax );
+ result = MkSw.Shape();
++ UpdateMap(TheS.Located(myProfile.Location()), result, myGenMap);
+ myErrorOnSurf = MkSw.ErrorOnSurface();
+
+ Handle(TopTools_HArray2OfShape) aSections = MkSw.Sections();
+@@ -662,6 +736,7 @@
+ MkSw.Build( myReversedEdges, myTapes, myRails,
+ BRepFill_Modified, myContinuity, GeomFill_Location, myDegmax, mySegmax );
+ result = MkSw.Shape();
++ UpdateMap(TheS.Located(myProfile.Location()), result, myGenMap);
+ myErrorOnSurf = MkSw.ErrorOnSurface();
+ //Correct <myFirst> and <myLast>
+ ReverseModifiedEdges(myFirst, myReversedEdges);
+@@ -769,6 +844,7 @@
+ BS.Add(solid,TopoDS::Shell(aLocalShape));
+ // BS.Add(solid,TopoDS::Shell(result.Reversed()));
+ }
++ UpdateMap(TheS.Located(myProfile.Location()), solid, myGenMap);
+ return solid;
+ }
+ else {
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl
+--- OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl 2015-09-16 18:27:03.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cdl 2016-04-26 15:51:11.000000000 +0300
+@@ -36,8 +36,8 @@
+ ListOfShape from TopTools
+
+ is
+-
+-
++
++
+ Create( Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS )
+ ---Purpose: Constructs a pipe by sweeping the shape Profile along
+@@ -52,7 +52,7 @@
+ -- Standard_DomainError if the profile is a solid or a
+ -- composite solid.
+ returns MakePipe from BRepOffsetAPI;
+-
++
+ Create( Spine : Wire from TopoDS;
+ Profile : Shape from TopoDS;
+ aMode : Trihedron from GeomFill;
+@@ -72,7 +72,7 @@
+ Build(me : in out)
+ is redefined;
+ ---Purpose: Builds the resulting shape (redefined from MakeShape).
+- ---Level: Public
++ ---Level: Public
+
+
+ FirstShape (me : in out)
+@@ -84,6 +84,11 @@
+ ---Purpose: Returns the TopoDS Shape of the top of the prism.
+ returns Shape from TopoDS;
+
++ Generated (me: in out; S: Shape from TopoDS)
++ returns ListOfShape from TopTools
++ is redefined;
++ ---C++: return const &
++ ---Level: Public
+
+ Generated (me: in out; SSpine, SProfile : Shape from TopoDS)
+ ---Level: Public
+@@ -99,4 +104,4 @@
+
+ myPipe : Pipe from BRepFill;
+
+-end MakePipe;
++end MakePipe;
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx
+--- OCCT-6.9.1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx 2015-09-16 18:27:03.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/BRepOffsetAPI/BRepOffsetAPI_MakePipe.cxx 2016-04-26 15:51:11.000000000 +0300
+@@ -109,14 +109,23 @@
+ return myPipe.LastShape();
+ }
+
++//=======================================================================
++//function : Generated
++//purpose : standard method
++//=======================================================================
++const TopTools_ListOfShape& BRepOffsetAPI_MakePipe::Generated(const TopoDS_Shape& S)
++{
++ myPipe.Generated(S, myGenerated);
++ return myGenerated;
++}
+
+ //=======================================================================
+ //function : Generated
+-//purpose :
++//purpose : returns generated elementary subshape
+ //=======================================================================
+
+-TopoDS_Shape BRepOffsetAPI_MakePipe::Generated (const TopoDS_Shape& SSpine,
+- const TopoDS_Shape& SProfile)
++TopoDS_Shape BRepOffsetAPI_MakePipe::Generated(const TopoDS_Shape& SSpine,
++ const TopoDS_Shape& SProfile)
+ {
+ if (SProfile.ShapeType () == TopAbs_EDGE) {
+ return myPipe.Face (TopoDS::Edge (SSpine), TopoDS::Edge (SProfile));
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/QABugs/QABugs_19.cxx OCCT-6.9.1p1_SRC/src/QABugs/QABugs_19.cxx
+--- OCCT-6.9.1_SRC/src/QABugs/QABugs_19.cxx 2015-09-16 18:27:29.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/QABugs/QABugs_19.cxx 2016-04-26 15:51:28.000000000 +0300
+@@ -53,6 +53,7 @@
+ #include <GeomFill_Trihedron.hxx>
+ #include <BRepOffsetAPI_MakePipe.hxx>
+ #include <Standard_Atomic.hxx>
++#include <TopTools_ListIteratorOfListOfShape.hxx>
+
+ #include <Standard_Version.hxx>
+
+@@ -4306,6 +4307,95 @@
+ return 0;
+ }
+
++//========================================================================
++//function : OCC27065
++//purpose : Tests overloaded method "Generated" of BRepOffsetAPI_MakePipe
++//========================================================================
++static Standard_Integer OCC27065(Draw_Interpretor& di,
++ Standard_Integer n, const char** a)
++{
++ if (n < 3) return 1;
++ BRep_Builder BB;
++
++ TopoDS_Shape SpineShape = DBRep::Get(a[1],TopAbs_WIRE);
++ if ( SpineShape.IsNull()) return 1;
++ TopoDS_Wire Spine = TopoDS::Wire(SpineShape);
++
++ TopoDS_Shape Profile = DBRep::Get(a[2]);
++ if ( Profile.IsNull()) return 1;
++
++ BRepOffsetAPI_MakePipe aPipeBuilder(Spine, Profile);
++ if (!aPipeBuilder.IsDone())
++ {
++ di << "Error: failed to create pipe\n";
++ return 1;
++ }
++
++ TopExp_Explorer Explo(Profile, TopAbs_SHELL);
++ TopoDS_Shape aShape;
++ TopTools_ListIteratorOfListOfShape itl;
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res1;
++ BB.MakeCompound(res1);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res1, itl.Value());
++ DBRep::Set("res_shell", res1);
++ }
++
++ Explo.Init(Profile, TopAbs_FACE);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res2;
++ BB.MakeCompound(res2);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res2, itl.Value());
++ DBRep::Set("res_face", res2);
++ }
++
++ Explo.Init(Profile, TopAbs_WIRE);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res3;
++ BB.MakeCompound(res3);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res3, itl.Value());
++ DBRep::Set("res_wire", res3);
++ }
++
++ Explo.Init(Profile, TopAbs_EDGE);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res4;
++ BB.MakeCompound(res4);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res4, itl.Value());
++ DBRep::Set("res_edge", res4);
++ }
++
++ Explo.Init(Profile, TopAbs_VERTEX);
++ if (Explo.More())
++ {
++ aShape = Explo.Current();
++ TopoDS_Compound res5;
++ BB.MakeCompound(res5);
++ itl.Initialize(aPipeBuilder.Generated(aShape));
++ for (; itl.More(); itl.Next())
++ BB.Add(res5, itl.Value());
++ DBRep::Set("res_vertex", res5);
++ }
++
++ return 0;
++}
++
+ void QABugs::Commands_19(Draw_Interpretor& theCommands) {
+ const char *group = "QABugs";
+
+@@ -4397,5 +4487,9 @@
+
+ theCommands.Add ("OCC26313", "OCC26313 result shape", __FILE__, OCC26313, group);
+
++ theCommands.Add ("OCC27065",
++ "OCC27065 spine profile",
++ __FILE__, OCC27065, group);
++
+ return;
+ }
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx OCCT-6.9.1p1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx
+--- OCCT-6.9.1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx 2015-09-16 18:27:36.000000000 +0300
++++ OCCT-6.9.1p1_SRC/src/SelectMgr/SelectMgr_SelectionManager.cxx 2016-04-26 15:51:32.000000000 +0300
+@@ -687,6 +687,7 @@
+ for(theObject->Init(); theObject->More(); theObject->Next())
+ {
+ const Handle(SelectMgr_Selection)& aSelection = theObject->CurrentSelection();
++ aSelection->UpdateStatus (SelectMgr_TOU_Full);
+ Standard_Integer aSelMode = aSelection->Mode();
+
+ for (TColStd_MapIteratorOfMapOfTransient aSelectorIter (mySelectors); aSelectorIter.More(); aSelectorIter.Next())
+@@ -697,10 +698,10 @@
+ ClearSelectionStructures (theObject, aSelMode, aCurSelector);
+ theObject->RecomputePrimitives(aSelMode);
+ RestoreSelectionStructures (theObject, aSelMode, aCurSelector);
++ aSelection->UpdateStatus (SelectMgr_TOU_None);
++ aSelection->UpdateBVHStatus (SelectMgr_TBU_None);
+ }
+ }
+- aSelection->UpdateStatus (SelectMgr_TOU_None);
+- aSelection->UpdateBVHStatus (SelectMgr_TBU_None);
+ }
+ }
+
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_1 OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_1
+--- OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_1 1970-01-01 03:00:00.000000000 +0300
++++ OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_1 2016-04-26 14:43:27.000000000 +0300
+@@ -0,0 +1,24 @@
++puts "============"
++puts "OCC27065"
++puts "============"
++puts ""
++###############################
++## BRepOffsetAPI_MakePipe misses definition of virtual method Generated()
++###############################
++
++pload QAcommands
++
++restore [locate_data_file bug24840_comp.brep] sh
++explode sh
++OCC27065 sh_1 sh_2
++fit
++
++checknbshapes res_shell -vertex 56 -edge 130 -wire 99 -face 99 -shell 24 -solid 24 -compsolid 1 -compound 1 -shape 434
++
++checknbshapes res_face -vertex 8 -edge 12 -wire 6 -face 6 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 35
++
++checknbshapes res_wire -vertex 8 -edge 12 -wire 4 -face 4 -shell 1 -solid 0 -compsolid 0 -compound 1 -shape 30
++
++checknbshapes res_edge -vertex 4 -edge 4 -wire 1 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 11
++
++checknbshapes res_vertex -vertex 2 -edge 1 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 4
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_2 OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_2
+--- OCCT-6.9.1_SRC/tests/bugs/modalg_6/bug27065_2 1970-01-01 03:00:00.000000000 +0300
++++ OCCT-6.9.1p1_SRC/tests/bugs/modalg_6/bug27065_2 2016-04-26 14:43:27.000000000 +0300
+@@ -0,0 +1,28 @@
++puts "============"
++puts "OCC27065"
++puts "============"
++puts ""
++###############################
++## BRepOffsetAPI_MakePipe misses definition of virtual method Generated()
++###############################
++
++pload QAcommands
++
++restore [locate_data_file bug23903_base.brep] base
++restore [locate_data_file bug23903_path.brep] sp
++explode base
++shape pr Sh
++add base_1 pr
++add base_2 pr
++OCC27065 sp pr
++fit
++
++checknbshapes res_shell -vertex 2 -edge 5 -wire 3 -face 3 -shell 2 -solid 2 -compsolid 1 -compound 1 -shape 19
++
++checknbshapes res_face -vertex 2 -edge 4 -wire 2 -face 2 -shell 1 -solid 1 -compsolid 0 -compound 1 -shape 13
++
++checknbshapes res_wire -vertex 2 -edge 4 -wire 2 -face 2 -shell 1 -solid 0 -compsolid 0 -compound 1 -shape 12
++
++checknbshapes res_edge -vertex 2 -edge 3 -wire 1 -face 1 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 8
++
++checknbshapes res_vertex -vertex 1 -edge 1 -wire 0 -face 0 -shell 0 -solid 0 -compsolid 0 -compound 1 -shape 3
+diff -Naur --exclude=CVS --exclude=.git --exclude=samples --exclude=cmake --exclude=Makefile.am --exclude=CMakeLists.txt --exclude=adm OCCT-6.9.1_SRC/tests/bugs/vis/bug26870 OCCT-6.9.1p1_SRC/tests/bugs/vis/bug26870
+--- OCCT-6.9.1_SRC/tests/bugs/vis/bug26870 1970-01-01 03:00:00.000000000 +0300
++++ OCCT-6.9.1p1_SRC/tests/bugs/vis/bug26870 2016-04-26 15:52:06.000000000 +0300
+@@ -0,0 +1,37 @@
++puts "============"
++puts "CR26870"
++puts "============"
++puts ""
++
++##########################################################################################
++puts "Visualization - deactivated selections are not updated after object's re-computation"
++##########################################################################################
++
++pload VISUALIZATION MODELING
++
++vinit
++box b 1 1 1
++vdisplay b
++vfit
++
++vselmode b 2 1
++vselmode b 4 1
++vselmode b 4 0
++
++box b 3 3 3
++vdisplay b
++vfit
++
++vselmode 4 1
++
++# pick a point onto previously computed face
++vmoveto 80 265
++if {[vreadpixel 90 206 name] == "CYAN1 1"} {
++ puts "ERROR: previously computed entities are highlighted! Selection mode 4 was not updated after redisplaying the box."
++}
++# pick a point onto box
++if {[vreadpixel 29 216 name] == "YELLOW 1"} {
++ puts "ERROR: the box's face is not highlighted! Selection mode 4 was not updated after redisplaying the box."
++}
++
++set only_screen 1
More information about the arch-commits
mailing list