0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
[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
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22
23
24
25class Pipe from BRepFill
26
27 ---Purpose: Create a shape by sweeping a shape (the profile)
28 -- along a wire (the spine).
29 --
30 -- For each edge or vertex from the spine the user
31 -- may ask for the shape generated from each subshape
32 -- of the profile.
33
34uses
35
36 HArray2OfShape from TopTools,
37 LocationLaw from BRepFill,
38 Shape from TopoDS,
39 Face from TopoDS,
40 Wire from TopoDS,
41 Edge from TopoDS,
42 Vertex from TopoDS,
43 Pnt from gp,
a31abc03 44 Trsf from gp,
471ce736 45 Shape from GeomAbs,
a31abc03 46 Trihedron from GeomFill
7fd59977 47
48raises
49 DomainError from Standard,
50 NotDone from StdFail
51
52is
53
54 Create returns Pipe from BRepFill;
55
56 Create ( Spine : Wire from TopoDS;
57 Profile : Shape from TopoDS;
471ce736 58 aMode : Trihedron from GeomFill = GeomFill_IsCorrectedFrenet;
59 ForceApproxC1 : Boolean from Standard = Standard_False;
7fd59977 60 GeneratePartCase : Boolean from Standard = Standard_False)
61 returns Pipe from BRepFill;
62
63 Perform (me : in out; Spine : Wire from TopoDS;
64 Profile : Shape from TopoDS;
65 GeneratePartCase : Boolean from Standard = Standard_False)
66 is static;
67
68 Spine(me) returns Shape from TopoDS
69 ---C++ : return const &
70 is static;
71
72 Profile(me) returns Shape from TopoDS
73 ---C++ : return const &
74 is static;
75
76 Shape(me) returns Shape from TopoDS
77 ---C++ : return const &
78 is static;
79
80 FirstShape(me) returns Shape from TopoDS
81 ---C++ : return const &
82 is static;
83
84 LastShape(me) returns Shape from TopoDS
85 ---C++ : return const &
86 is static;
87
88 Face(me : in out; ESpine, EProfile : Edge from TopoDS)
89 returns Face from TopoDS
90 ---Purpose: Returns the face created from an edge of the spine
91 -- and an edge of the profile.
92 raises
93 DomainError from Standard
94 ---Purpose: if the edges are not in the spine or the profile
95
96 is static;
97
98 Edge(me : in out; ESpine : Edge from TopoDS; VProfile : Vertex from TopoDS)
99 returns Edge from TopoDS
100 ---Purpose: Returns the edge created from an edge of the spine
101 -- and a vertex of the profile.
102 raises
103 DomainError from Standard
104 ---Purpose: if the edge or the vertex are not in the spine or
105 -- the profile.
106
107 is static;
108
109 Section(me; VSpine : Vertex from TopoDS)
110 returns Shape from TopoDS
111 ---Purpose: Returns the shape created from the profile at the
112 -- position of the vertex VSpine.
113 raises
114 DomainError from Standard
115 ---Purpose: if the vertex is not in the Spine
116 is static;
117
118
119 PipeLine(me; Point : Pnt from gp)
120 ---Purpose: Create a Wire by sweeping the Point along the <spine>
121 returns Wire from TopoDS
122 raises
123 DomainError from Standard
124 ---Purpose: if the <Spine> is undefined
125 is static;
126
127
128 --
129 -- Private methods
130 --
131
132 MakeShape(me : in out; S : Shape from TopoDS;
133 FirstShape, LastShape : Shape from TopoDS)
134 returns Shape from TopoDS
135 ---Purpose: Auxiliary recursive method used to build the
136 -- result.
137 is static private;
138
139
140 FindEdge(me; S : Shape from TopoDS;
141 E : Edge from TopoDS;
142 Init : in out Integer)
143 ---Purpose: Auxiliary recursive method used to find the edge's index
144 returns Integer
145 is static private;
146
147 FindVertex(me; S : Shape from TopoDS;
148 V : Vertex from TopoDS;
149 Init : in out Integer)
150 returns Integer
151 is static private;
152
153 DefineRealSegmax(me : in out)
154 is static private;
155
46e68e02 156 ShareFaces(me: in out; theShape: Shape from TopoDS;
157 theInitialFacesLen: Integer;
158 theInitialEdgesLen: Integer;
159 theInitialSectionsLen: Integer)
160 ---Purpose: Performs sharing coincident faces in theShape. Also modifies
161 -- myFaces, mySections and myEdges to contain shared shapes.
162 -- Returns the shared shape. If theShape is not modified this
163 -- method returns it.
164 returns Shape from TopoDS
165 is static private;
7fd59977 166
167fields
168 mySpine : Wire from TopoDS;
169 myProfile : Shape from TopoDS;
170 myShape : Shape from TopoDS;
171 myTrsf : Trsf from gp;
172 myLoc : LocationLaw from BRepFill;
173 mySections: HArray2OfShape from TopTools;
174 myFaces : HArray2OfShape from TopTools;
175 myEdges : HArray2OfShape from TopTools;
176 myFirst : Shape from TopoDS;
177 myLast : Shape from TopoDS;
178
179 myDegmax : Integer from Standard;
180 mySegmax : Integer from Standard;
471ce736 181 myContinuity : Shape from GeomAbs;
a31abc03 182 myMode : Trihedron from GeomFill;
183 myForceApproxC1 : Boolean from Standard;
184
7fd59977 185end Pipe;