0023643: Intersection algorithm produces B-Spline curve in case of coaxial cones
[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,
44 Trsf from gp
45
46
47raises
48 DomainError from Standard,
49 NotDone from StdFail
50
51is
52
53 Create returns Pipe from BRepFill;
54
55 Create ( Spine : Wire from TopoDS;
56 Profile : Shape from TopoDS;
57 GeneratePartCase : Boolean from Standard = Standard_False)
58 returns Pipe from BRepFill;
59
60 Perform (me : in out; Spine : Wire from TopoDS;
61 Profile : Shape from TopoDS;
62 GeneratePartCase : Boolean from Standard = Standard_False)
63 is static;
64
65 Spine(me) returns Shape from TopoDS
66 ---C++ : return const &
67 is static;
68
69 Profile(me) returns Shape from TopoDS
70 ---C++ : return const &
71 is static;
72
73 Shape(me) returns Shape from TopoDS
74 ---C++ : return const &
75 is static;
76
77 FirstShape(me) returns Shape from TopoDS
78 ---C++ : return const &
79 is static;
80
81 LastShape(me) returns Shape from TopoDS
82 ---C++ : return const &
83 is static;
84
85 Face(me : in out; ESpine, EProfile : Edge from TopoDS)
86 returns Face from TopoDS
87 ---Purpose: Returns the face created from an edge of the spine
88 -- and an edge of the profile.
89 raises
90 DomainError from Standard
91 ---Purpose: if the edges are not in the spine or the profile
92
93 is static;
94
95 Edge(me : in out; ESpine : Edge from TopoDS; VProfile : Vertex from TopoDS)
96 returns Edge from TopoDS
97 ---Purpose: Returns the edge created from an edge of the spine
98 -- and a vertex of the profile.
99 raises
100 DomainError from Standard
101 ---Purpose: if the edge or the vertex are not in the spine or
102 -- the profile.
103
104 is static;
105
106 Section(me; VSpine : Vertex from TopoDS)
107 returns Shape from TopoDS
108 ---Purpose: Returns the shape created from the profile at the
109 -- position of the vertex VSpine.
110 raises
111 DomainError from Standard
112 ---Purpose: if the vertex is not in the Spine
113 is static;
114
115
116 PipeLine(me; Point : Pnt from gp)
117 ---Purpose: Create a Wire by sweeping the Point along the <spine>
118 returns Wire from TopoDS
119 raises
120 DomainError from Standard
121 ---Purpose: if the <Spine> is undefined
122 is static;
123
124
125 --
126 -- Private methods
127 --
128
129 MakeShape(me : in out; S : Shape from TopoDS;
130 FirstShape, LastShape : Shape from TopoDS)
131 returns Shape from TopoDS
132 ---Purpose: Auxiliary recursive method used to build the
133 -- result.
134 is static private;
135
136
137 FindEdge(me; S : Shape from TopoDS;
138 E : Edge from TopoDS;
139 Init : in out Integer)
140 ---Purpose: Auxiliary recursive method used to find the edge's index
141 returns Integer
142 is static private;
143
144 FindVertex(me; S : Shape from TopoDS;
145 V : Vertex from TopoDS;
146 Init : in out Integer)
147 returns Integer
148 is static private;
149
150 DefineRealSegmax(me : in out)
151 is static private;
152
153
154fields
155 mySpine : Wire from TopoDS;
156 myProfile : Shape from TopoDS;
157 myShape : Shape from TopoDS;
158 myTrsf : Trsf from gp;
159 myLoc : LocationLaw from BRepFill;
160 mySections: HArray2OfShape from TopTools;
161 myFaces : HArray2OfShape from TopTools;
162 myEdges : HArray2OfShape from TopTools;
163 myFirst : Shape from TopoDS;
164 myLast : Shape from TopoDS;
165
166 myDegmax : Integer from Standard;
167 mySegmax : Integer from Standard;
168end Pipe;