0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepFill / BRepFill_Pipe.cdl
CommitLineData
b311480e 1-- Created on: 1994-06-07
2-- Created by: Bruno DUMORTIER
3-- Copyright (c) 1994-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
c8ea5b8e 17
7fd59977 18class Pipe from BRepFill
19
20 ---Purpose: Create a shape by sweeping a shape (the profile)
21 -- along a wire (the spine).
22 --
23 -- For each edge or vertex from the spine the user
24 -- may ask for the shape generated from each subshape
25 -- of the profile.
26
27uses
28
29 HArray2OfShape from TopTools,
c8ea5b8e 30 MapOfShape from TopTools,
31 DataMapOfShapeHArray2OfShape from BRepFill,
7fd59977 32 LocationLaw from BRepFill,
33 Shape from TopoDS,
34 Face from TopoDS,
35 Wire from TopoDS,
36 Edge from TopoDS,
37 Vertex from TopoDS,
38 Pnt from gp,
a31abc03 39 Trsf from gp,
471ce736 40 Shape from GeomAbs,
a31abc03 41 Trihedron from GeomFill
7fd59977 42
43raises
44 DomainError from Standard,
45 NotDone from StdFail
46
47is
48
49 Create returns Pipe from BRepFill;
50
51 Create ( Spine : Wire from TopoDS;
52 Profile : Shape from TopoDS;
471ce736 53 aMode : Trihedron from GeomFill = GeomFill_IsCorrectedFrenet;
54 ForceApproxC1 : Boolean from Standard = Standard_False;
7fd59977 55 GeneratePartCase : Boolean from Standard = Standard_False)
56 returns Pipe from BRepFill;
57
58 Perform (me : in out; Spine : Wire from TopoDS;
59 Profile : Shape from TopoDS;
60 GeneratePartCase : Boolean from Standard = Standard_False)
61 is static;
62
63 Spine(me) returns Shape from TopoDS
64 ---C++ : return const &
65 is static;
66
67 Profile(me) returns Shape from TopoDS
68 ---C++ : return const &
69 is static;
70
71 Shape(me) returns Shape from TopoDS
72 ---C++ : return const &
73 is static;
74
73920cd4 75 ErrorOnSurface (me)
76 returns Real from Standard;
77
7fd59977 78 FirstShape(me) returns Shape from TopoDS
79 ---C++ : return const &
80 is static;
81
82 LastShape(me) returns Shape from TopoDS
83 ---C++ : return const &
84 is static;
85
86 Face(me : in out; ESpine, EProfile : Edge from TopoDS)
87 returns Face from TopoDS
88 ---Purpose: Returns the face created from an edge of the spine
89 -- and an edge of the profile.
90 raises
91 DomainError from Standard
92 ---Purpose: if the edges are not in the spine or the profile
93
94 is static;
95
96 Edge(me : in out; ESpine : Edge from TopoDS; VProfile : Vertex from TopoDS)
97 returns Edge from TopoDS
98 ---Purpose: Returns the edge created from an edge of the spine
99 -- and a vertex of the profile.
100 raises
101 DomainError from Standard
102 ---Purpose: if the edge or the vertex are not in the spine or
103 -- the profile.
104
105 is static;
106
107 Section(me; VSpine : Vertex from TopoDS)
108 returns Shape from TopoDS
109 ---Purpose: Returns the shape created from the profile at the
110 -- position of the vertex VSpine.
111 raises
112 DomainError from Standard
113 ---Purpose: if the vertex is not in the Spine
114 is static;
115
116
c8ea5b8e 117 PipeLine(me : in out; Point : Pnt from gp)
7fd59977 118 ---Purpose: Create a Wire by sweeping the Point along the <spine>
119 returns Wire from TopoDS
120 raises
121 DomainError from Standard
122 ---Purpose: if the <Spine> is undefined
123 is static;
124
125
126 --
127 -- Private methods
128 --
129
130 MakeShape(me : in out; S : Shape from TopoDS;
131 FirstShape, LastShape : Shape from TopoDS)
132 returns Shape from TopoDS
133 ---Purpose: Auxiliary recursive method used to build the
134 -- result.
135 is static private;
136
137
138 FindEdge(me; S : Shape from TopoDS;
139 E : Edge from TopoDS;
140 Init : in out Integer)
141 ---Purpose: Auxiliary recursive method used to find the edge's index
142 returns Integer
143 is static private;
144
145 FindVertex(me; S : Shape from TopoDS;
146 V : Vertex from TopoDS;
147 Init : in out Integer)
148 returns Integer
149 is static private;
150
151 DefineRealSegmax(me : in out)
152 is static private;
153
c8ea5b8e 154 RebuildTopOrBottomFace(me; aFace: Shape from TopoDS;
155 IsTop: Boolean from Standard)
156 is static private;
157
46e68e02 158 ShareFaces(me: in out; theShape: Shape from TopoDS;
159 theInitialFacesLen: Integer;
160 theInitialEdgesLen: Integer;
161 theInitialSectionsLen: Integer)
162 ---Purpose: Performs sharing coincident faces in theShape. Also modifies
163 -- myFaces, mySections and myEdges to contain shared shapes.
164 -- Returns the shared shape. If theShape is not modified this
165 -- method returns it.
166 returns Shape from TopoDS
167 is static private;
7fd59977 168
169fields
170 mySpine : Wire from TopoDS;
171 myProfile : Shape from TopoDS;
172 myShape : Shape from TopoDS;
173 myTrsf : Trsf from gp;
174 myLoc : LocationLaw from BRepFill;
175 mySections: HArray2OfShape from TopTools;
176 myFaces : HArray2OfShape from TopTools;
c8ea5b8e 177 myEdges : HArray2OfShape from TopTools;
178 myReversedEdges : MapOfShape from TopTools;
179 myTapes : DataMapOfShapeHArray2OfShape from BRepFill;
8e817497 180 myRails : DataMapOfShapeHArray2OfShape from BRepFill;
c8ea5b8e 181 myCurIndexOfSectionEdge : Integer from Standard;
7fd59977 182 myFirst : Shape from TopoDS;
183 myLast : Shape from TopoDS;
184
185 myDegmax : Integer from Standard;
186 mySegmax : Integer from Standard;
471ce736 187 myContinuity : Shape from GeomAbs;
a31abc03 188 myMode : Trihedron from GeomFill;
189 myForceApproxC1 : Boolean from Standard;
190
73920cd4 191 myErrorOnSurf : Real from Standard;
192
7fd59977 193end Pipe;