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
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
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.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16 
17 
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>
51 
52 //=======================================================================
53 //function : SimulSurf
54 //purpose  :
55 //=======================================================================
SimulSurf(Handle (ChFiDS_SurfData)&,const Handle (ChFiDS_ElSpine)&,const Handle (ChFiDS_Spine)&,const Standard_Integer,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const TopAbs_Orientation,const Standard_Real,const Standard_Real,Standard_Real &,Standard_Real &,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const math_Vector &)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)& ,
65 				Standard_Boolean&                   ,
66 				const Handle(BRepAdaptor_Surface)& ,
67 				const Handle(Adaptor3d_TopolTool)&    ,
68 				const TopAbs_Orientation            ,
69 				const Standard_Real                 ,
70 				const Standard_Real                 ,
71 				Standard_Real&                      ,
72 				Standard_Real&                      ,
73 				const Standard_Boolean              ,
74 				const Standard_Boolean              ,
75 				const Standard_Boolean              ,
76 				const Standard_Boolean              ,
77 				const Standard_Boolean              ,
78 				const Standard_Boolean              ,
79 				const math_Vector&                  )
80 {
81   throw Standard_Failure("SimulSurf Not Implemented");
82 }
83 
84 //=======================================================================
85 //function : SimulSurf
86 //purpose  :
87 //=======================================================================
88 
SimulSurf(Handle (ChFiDS_SurfData)&,const Handle (ChFiDS_ElSpine)&,const Handle (ChFiDS_Spine)&,const Standard_Integer,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const TopAbs_Orientation,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const Standard_Real,const Standard_Real,Standard_Real &,Standard_Real &,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const math_Vector &)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)& ,
101 				Standard_Boolean&                   ,
102 				const Standard_Real                 ,
103 				const Standard_Real                 ,
104 				Standard_Real&                      ,
105 				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              ,
112 				const math_Vector&                  )
113 {
114   throw Standard_Failure("SimulSurf Not Implemented");
115 }
116 
117 
118 //=======================================================================
119 //function : SimulSurf
120 //purpose  :
121 //=======================================================================
122 
SimulSurf(Handle (ChFiDS_SurfData)&,const Handle (ChFiDS_ElSpine)&,const Handle (ChFiDS_Spine)&,const Standard_Integer,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const TopAbs_Orientation,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const TopAbs_Orientation,const Standard_Real,const Standard_Real,Standard_Real &,Standard_Real &,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const math_Vector &)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)& ,
132 				Standard_Boolean&                   ,
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)& ,
139 				Standard_Boolean&                   ,
140 				const TopAbs_Orientation            ,
141 				const Standard_Real                 ,
142 				const Standard_Real                 ,
143 				Standard_Real&                      ,
144 				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              ,
152 				const math_Vector&                  )
153 {
154   throw Standard_Failure("SimulSurf Not Implemented");
155 }
156 
157 
158 
159 //=======================================================================
160 //function : PerformSurf
161 //purpose  :
162 //=======================================================================
163 
PerformSurf(ChFiDS_SequenceOfSurfData &,const Handle (ChFiDS_ElSpine)&,const Handle (ChFiDS_Spine)&,const Standard_Integer,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const TopAbs_Orientation,const Standard_Real,const Standard_Real,const Standard_Real,Standard_Real &,Standard_Real &,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const math_Vector &)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)& ,
173 				  Standard_Boolean&                   ,
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                 ,
180 				  Standard_Real&                      ,
181 				  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              ,
188 				  const math_Vector&                  )
189 {
190   throw Standard_Failure("PerformSurf Not Implemented");
191 }
192 
193 //=======================================================================
194 //function : PerformSurf
195 //purpose  :
196 //=======================================================================
197 
PerformSurf(ChFiDS_SequenceOfSurfData &,const Handle (ChFiDS_ElSpine)&,const Handle (ChFiDS_Spine)&,const Standard_Integer,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const TopAbs_Orientation,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const Standard_Real,const Standard_Real,const Standard_Real,Standard_Real &,Standard_Real &,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const math_Vector &)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)& ,
210 				  Standard_Boolean&                   ,
211 				  const Standard_Real                 ,
212 				  const Standard_Real                 ,
213 				  const Standard_Real                 ,
214 				  Standard_Real&                      ,
215 				  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              ,
222 				  const math_Vector&                  )
223 {
224   throw Standard_Failure("PerformSurf Not Implemented");
225 
226 }
227 
228 
229 
230 
231 
232 //=======================================================================
233 //function : PerformSurf
234 //purpose  :
235 //=======================================================================
236 
PerformSurf(ChFiDS_SequenceOfSurfData &,const Handle (ChFiDS_ElSpine)&,const Handle (ChFiDS_Spine)&,const Standard_Integer,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const TopAbs_Orientation,const Handle (BRepAdaptor_Surface)&,const Handle (Adaptor3d_TopolTool)&,const Handle (BRepAdaptor_Curve2d)&,const Handle (BRepAdaptor_Surface)&,const Handle (BRepAdaptor_Curve2d)&,Standard_Boolean &,const TopAbs_Orientation,const Standard_Real,const Standard_Real,const Standard_Real,Standard_Real &,Standard_Real &,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const Standard_Boolean,const math_Vector &)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)& ,
246 				  Standard_Boolean&                   ,
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)& ,
253 				  Standard_Boolean&                   ,
254 				  const TopAbs_Orientation            ,
255 				  const Standard_Real                 ,
256 				  const Standard_Real                 ,
257 				  const Standard_Real                 ,
258 				  Standard_Real&                      ,
259 				  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              ,
267 				  const math_Vector&                  )
268 {
269   throw Standard_Failure("PerformSurf Not Implemented");
270 
271 }
272