1 // Created on: 1998-05-18
2 // Created by: Philippe NOUAILLE
3 // Copyright (c) 1998-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
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
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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
18 #include <Adaptor2d_Curve2d.hxx>
19 #include <Adaptor3d_Surface.hxx>
20 #include <Adaptor3d_TopolTool.hxx>
21 #include <AppBlend_Approx.hxx>
22 #include <Blend_CurvPointFuncInv.hxx>
23 #include <Blend_FuncInv.hxx>
24 #include <Blend_Function.hxx>
25 #include <Blend_RstRstFunction.hxx>
26 #include <Blend_SurfCurvFuncInv.hxx>
27 #include <Blend_SurfPointFuncInv.hxx>
28 #include <Blend_SurfRstFunction.hxx>
29 #include <BRepAdaptor_Curve2d.hxx>
30 #include <BRepAdaptor_Surface.hxx>
31 #include <BRepBlend_Line.hxx>
32 #include <BRepTopAdaptor_TopolTool.hxx>
33 #include <ChFi3d_Builder.hxx>
34 #include <ChFiDS_CommonPoint.hxx>
35 #include <ChFiDS_ElSpine.hxx>
36 #include <ChFiDS_Spine.hxx>
37 #include <ChFiDS_Stripe.hxx>
38 #include <ChFiDS_SurfData.hxx>
39 #include <Geom2d_Curve.hxx>
40 #include <Geom_Surface.hxx>
41 #include <gp_Pnt2d.hxx>
42 #include <Standard_ConstructionError.hxx>
43 #include <Standard_NoSuchObject.hxx>
44 #include <Standard_OutOfRange.hxx>
45 #include <TopoDS_Edge.hxx>
46 #include <TopoDS_Face.hxx>
47 #include <TopoDS_Shape.hxx>
48 #include <TopoDS_Vertex.hxx>
49 #include <TopOpeBRepBuild_HBuilder.hxx>
50 #include <TopOpeBRepDS_HDataStructure.hxx>
52 //=======================================================================
53 //function : SimulSurf
55 //=======================================================================
56 void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
57 const Handle(ChFiDS_ElSpine)& ,
58 const Handle(ChFiDS_Spine)& ,
59 const Standard_Integer ,
60 const Handle(BRepAdaptor_Surface)& ,
61 const Handle(Adaptor3d_TopolTool)& ,
62 const Handle(BRepAdaptor_Curve2d)& ,
63 const Handle(BRepAdaptor_Surface)& ,
64 const Handle(BRepAdaptor_Curve2d)& ,
66 const Handle(BRepAdaptor_Surface)& ,
67 const Handle(Adaptor3d_TopolTool)& ,
68 const TopAbs_Orientation ,
73 const Standard_Boolean ,
74 const Standard_Boolean ,
75 const Standard_Boolean ,
76 const Standard_Boolean ,
77 const Standard_Boolean ,
78 const Standard_Boolean ,
81 throw Standard_Failure("SimulSurf Not Implemented");
84 //=======================================================================
85 //function : SimulSurf
87 //=======================================================================
89 void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
90 const Handle(ChFiDS_ElSpine)& ,
91 const Handle(ChFiDS_Spine)& ,
92 const Standard_Integer ,
93 const Handle(BRepAdaptor_Surface)& ,
94 const Handle(Adaptor3d_TopolTool)& ,
95 const TopAbs_Orientation ,
96 const Handle(BRepAdaptor_Surface)& ,
97 const Handle(Adaptor3d_TopolTool)& ,
98 const Handle(BRepAdaptor_Curve2d)& ,
99 const Handle(BRepAdaptor_Surface)& ,
100 const Handle(BRepAdaptor_Curve2d)& ,
102 const Standard_Real ,
103 const Standard_Real ,
106 const Standard_Boolean ,
107 const Standard_Boolean ,
108 const Standard_Boolean ,
109 const Standard_Boolean ,
110 const Standard_Boolean ,
111 const Standard_Boolean ,
114 throw Standard_Failure("SimulSurf Not Implemented");
118 //=======================================================================
119 //function : SimulSurf
121 //=======================================================================
123 void ChFi3d_Builder::SimulSurf(Handle(ChFiDS_SurfData)& ,
124 const Handle(ChFiDS_ElSpine)& ,
125 const Handle(ChFiDS_Spine)& ,
126 const Standard_Integer ,
127 const Handle(BRepAdaptor_Surface)& ,
128 const Handle(Adaptor3d_TopolTool)& ,
129 const Handle(BRepAdaptor_Curve2d)& ,
130 const Handle(BRepAdaptor_Surface)& ,
131 const Handle(BRepAdaptor_Curve2d)& ,
133 const TopAbs_Orientation ,
134 const Handle(BRepAdaptor_Surface)& ,
135 const Handle(Adaptor3d_TopolTool)& ,
136 const Handle(BRepAdaptor_Curve2d)& ,
137 const Handle(BRepAdaptor_Surface)& ,
138 const Handle(BRepAdaptor_Curve2d)& ,
140 const TopAbs_Orientation ,
141 const Standard_Real ,
142 const Standard_Real ,
145 const Standard_Boolean ,
146 const Standard_Boolean ,
147 const Standard_Boolean ,
148 const Standard_Boolean ,
149 const Standard_Boolean ,
150 const Standard_Boolean ,
151 const Standard_Boolean ,
154 throw Standard_Failure("SimulSurf Not Implemented");
159 //=======================================================================
160 //function : PerformSurf
162 //=======================================================================
164 void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
165 const Handle(ChFiDS_ElSpine)& ,
166 const Handle(ChFiDS_Spine)& ,
167 const Standard_Integer ,
168 const Handle(BRepAdaptor_Surface)& ,
169 const Handle(Adaptor3d_TopolTool)& ,
170 const Handle(BRepAdaptor_Curve2d)& ,
171 const Handle(BRepAdaptor_Surface)& ,
172 const Handle(BRepAdaptor_Curve2d)& ,
174 const Handle(BRepAdaptor_Surface)& ,
175 const Handle(Adaptor3d_TopolTool)& ,
176 const TopAbs_Orientation ,
177 const Standard_Real ,
178 const Standard_Real ,
179 const Standard_Real ,
182 const Standard_Boolean ,
183 const Standard_Boolean ,
184 const Standard_Boolean ,
185 const Standard_Boolean ,
186 const Standard_Boolean ,
187 const Standard_Boolean ,
190 throw Standard_Failure("PerformSurf Not Implemented");
193 //=======================================================================
194 //function : PerformSurf
196 //=======================================================================
198 void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
199 const Handle(ChFiDS_ElSpine)& ,
200 const Handle(ChFiDS_Spine)& ,
201 const Standard_Integer ,
202 const Handle(BRepAdaptor_Surface)& ,
203 const Handle(Adaptor3d_TopolTool)& ,
204 const TopAbs_Orientation ,
205 const Handle(BRepAdaptor_Surface)& ,
206 const Handle(Adaptor3d_TopolTool)& ,
207 const Handle(BRepAdaptor_Curve2d)& ,
208 const Handle(BRepAdaptor_Surface)& ,
209 const Handle(BRepAdaptor_Curve2d)& ,
211 const Standard_Real ,
212 const Standard_Real ,
213 const Standard_Real ,
216 const Standard_Boolean ,
217 const Standard_Boolean ,
218 const Standard_Boolean ,
219 const Standard_Boolean ,
220 const Standard_Boolean ,
221 const Standard_Boolean ,
224 throw Standard_Failure("PerformSurf Not Implemented");
232 //=======================================================================
233 //function : PerformSurf
235 //=======================================================================
237 void ChFi3d_Builder::PerformSurf(ChFiDS_SequenceOfSurfData& ,
238 const Handle(ChFiDS_ElSpine)& ,
239 const Handle(ChFiDS_Spine)& ,
240 const Standard_Integer ,
241 const Handle(BRepAdaptor_Surface)& ,
242 const Handle(Adaptor3d_TopolTool)& ,
243 const Handle(BRepAdaptor_Curve2d)& ,
244 const Handle(BRepAdaptor_Surface)& ,
245 const Handle(BRepAdaptor_Curve2d)& ,
247 const TopAbs_Orientation ,
248 const Handle(BRepAdaptor_Surface)& ,
249 const Handle(Adaptor3d_TopolTool)& ,
250 const Handle(BRepAdaptor_Curve2d)& ,
251 const Handle(BRepAdaptor_Surface)& ,
252 const Handle(BRepAdaptor_Curve2d)& ,
254 const TopAbs_Orientation ,
255 const Standard_Real ,
256 const Standard_Real ,
257 const Standard_Real ,
260 const Standard_Boolean ,
261 const Standard_Boolean ,
262 const Standard_Boolean ,
263 const Standard_Boolean ,
264 const Standard_Boolean ,
265 const Standard_Boolean ,
266 const Standard_Boolean ,
269 throw Standard_Failure("PerformSurf Not Implemented");