1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-05 18:16:23 +03:00
occt/src/BRepFill/BRepFill_Pipe.cdl
jgv 73920cd481 0024949: Segmentation Violation during pipe creation
Test cases for issue 0024949

Correction of test case for issue CR24949
2014-08-21 15:51:12 +04:00

194 lines
6.0 KiB
Plaintext

-- Created on: 1994-06-07
-- Created by: Bruno DUMORTIER
-- Copyright (c) 1994-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
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.
uses
HArray2OfShape from TopTools,
MapOfShape from TopTools,
DataMapOfShapeHArray2OfShape from BRepFill,
LocationLaw from BRepFill,
Shape from TopoDS,
Face from TopoDS,
Wire from TopoDS,
Edge from TopoDS,
Vertex from TopoDS,
Pnt from gp,
Trsf from gp,
Shape from GeomAbs,
Trihedron from GeomFill
raises
DomainError from Standard,
NotDone from StdFail
is
Create returns Pipe from BRepFill;
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)
returns Pipe from BRepFill;
Perform (me : in out; Spine : Wire from TopoDS;
Profile : Shape from TopoDS;
GeneratePartCase : Boolean from Standard = Standard_False)
is static;
Spine(me) returns Shape from TopoDS
---C++ : return const &
is static;
Profile(me) returns Shape from TopoDS
---C++ : return const &
is static;
Shape(me) returns Shape from TopoDS
---C++ : return const &
is static;
ErrorOnSurface (me)
returns Real from Standard;
FirstShape(me) returns Shape from TopoDS
---C++ : return const &
is static;
LastShape(me) returns Shape from TopoDS
---C++ : return const &
is static;
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
---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
---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
-- position of the vertex VSpine.
raises
DomainError from Standard
---Purpose: if the vertex is not in the Spine
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
raises
DomainError from Standard
---Purpose: if the <Spine> is undefined
is static;
--
-- Private methods
--
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.
is static private;
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)
returns Integer
is static private;
DefineRealSegmax(me : in out)
is static private;
RebuildTopOrBottomFace(me; aFace: Shape from TopoDS;
IsTop: Boolean from Standard)
is static private;
ShareFaces(me: in out; theShape: Shape from TopoDS;
theInitialFacesLen: Integer;
theInitialEdgesLen: Integer;
theInitialSectionsLen: Integer)
---Purpose: Performs sharing coincident faces in theShape. Also modifies
-- myFaces, mySections and myEdges to contain shared shapes.
-- Returns the shared shape. If theShape is not modified this
-- method returns it.
returns Shape from TopoDS
is static private;
fields
mySpine : Wire from TopoDS;
myProfile : Shape from TopoDS;
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;
myTapes : DataMapOfShapeHArray2OfShape from BRepFill;
myRails : DataMapOfShapeHArray2OfShape from BRepFill;
myCurIndexOfSectionEdge : Integer from Standard;
myFirst : Shape from TopoDS;
myLast : Shape from TopoDS;
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;