mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
community/opencascade to 6.9.1-3
This commit is contained in:
parent
6982e503aa
commit
6a76803095
2 changed files with 749 additions and 2 deletions
|
@ -11,18 +11,19 @@ highmem=1
|
|||
|
||||
pkgname=opencascade
|
||||
pkgver=6.9.1
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
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"
|
||||
source=("https://sources.archlinux.org/other/community/opencascade/opencascade-$pkgver.tgz" "env.sh" "opencascade.sh" "opencascade.conf" 'salome-occt-6.9.1.patch'
|
||||
'arm.patch')
|
||||
md5sums=('7f2e645b5010d190c9bb35dc457f9a7c'
|
||||
'a96f28ee7f4273ae1771ee033a2a3af3'
|
||||
'd9368b8d348ced3ec4462012977552d2'
|
||||
'2924ecf57c95d25888f51071fdc72ad0'
|
||||
'88db8e6b9afa132d1893bbb814250350'
|
||||
'79b004fccfc7bfbe21559a1d52f074c2')
|
||||
|
||||
prepare() {
|
||||
|
@ -34,6 +35,8 @@ prepare() {
|
|||
# fix for automake 1.13
|
||||
sed -i -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
|
||||
|
||||
patch -i "$srcdir/salome-occt-6.9.1.patch" -p1
|
||||
|
||||
./build_configure
|
||||
|
||||
sed -i 's/-mmmx -msse -msse2 -mfpmath=sse//g' configure
|
||||
|
|
744
community/opencascade/salome-occt-6.9.1.patch
Normal file
744
community/opencascade/salome-occt-6.9.1.patch
Normal file
|
@ -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
|
Loading…
Reference in a new issue