File: Geom2dConvert.cpp

package info (click to toggle)
python-ocp 7.8.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 64,720 kB
  • sloc: cpp: 362,337; pascal: 33; python: 23; makefile: 4
file content (422 lines) | stat: -rw-r--r-- 29,853 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422

// std lib related includes
#include <tuple>

// pybind 11 related includes
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>

namespace py = pybind11;

// Standard Handle
#include <Standard_Handle.hxx>


// includes to resolve forward declarations
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2d_Curve.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Geom2d_BSplineCurve.hxx>
#include <Geom2d_BoundedCurve.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor2d_Curve2d.hxx>
#include <Adaptor3d_Curve.hxx>
#include <Adaptor3d_Surface.hxx>
#include <Geom2dConvert_PPoint.hxx>

// module includes
#include <Geom2dConvert.hxx>
#include <Geom2dConvert_ApproxArcsSegments.hxx>
#include <Geom2dConvert_ApproxCurve.hxx>
#include <Geom2dConvert_BSplineCurveKnotSplitting.hxx>
#include <Geom2dConvert_BSplineCurveToBezierCurve.hxx>
#include <Geom2dConvert_CompCurveToBSplineCurve.hxx>
#include <Geom2dConvert_PPoint.hxx>
#include <Geom2dConvert_SequenceOfPPoint.hxx>

// template related includes

// ./opencascade/Geom2dConvert_SequenceOfPPoint.hxx
#include "NCollection_tmpl.hxx"


// user-defined pre
#include "OCP_specific.inc"

// user-defined inclusion per module

// Module definiiton
void register_Geom2dConvert(py::module &main_module) {


py::module m = static_cast<py::module>(main_module.attr("Geom2dConvert"));
py::object klass;

//Python trampoline classes

// classes

    // Class Geom2dConvert from ./opencascade/Geom2dConvert.hxx
    klass = m.attr("Geom2dConvert");

    // default constructor
    register_default_constructor<Geom2dConvert , shared_ptr<Geom2dConvert>>(m,"Geom2dConvert");

    // nested enums

    static_cast<py::class_<Geom2dConvert , shared_ptr<Geom2dConvert>  >>(klass)
    // constructors
    // custom constructors
    // methods
    // methods using call by reference i.s.o. return
    // static methods
        .def_static("SplitBSplineCurve_s",
                    (opencascade::handle<Geom2d_BSplineCurve> (*)( const opencascade::handle<Geom2d_BSplineCurve> & ,  const Standard_Integer ,  const Standard_Integer ,  const Standard_Boolean  ) ) static_cast<opencascade::handle<Geom2d_BSplineCurve> (*)( const opencascade::handle<Geom2d_BSplineCurve> & ,  const Standard_Integer ,  const Standard_Integer ,  const Standard_Boolean  ) >(&Geom2dConvert::SplitBSplineCurve),
                    R"#(-- Convert a curve to BSpline by Approximation)#"  , py::arg("C"),  py::arg("FromK1"),  py::arg("ToK2"),  py::arg("SameOrientation")=static_cast<const Standard_Boolean>(Standard_True)
          )
        .def_static("SplitBSplineCurve_s",
                    (opencascade::handle<Geom2d_BSplineCurve> (*)( const opencascade::handle<Geom2d_BSplineCurve> & ,  const Standard_Real ,  const Standard_Real ,  const Standard_Real ,  const Standard_Boolean  ) ) static_cast<opencascade::handle<Geom2d_BSplineCurve> (*)( const opencascade::handle<Geom2d_BSplineCurve> & ,  const Standard_Real ,  const Standard_Real ,  const Standard_Real ,  const Standard_Boolean  ) >(&Geom2dConvert::SplitBSplineCurve),
                    R"#(This function computes the segment of B-spline curve between the parametric values FromU1, ToU2. If C is periodic the arc has the same orientation as C if SameOrientation = True. If C is not periodic SameOrientation is not used for the computation and C is oriented fromU1 toU2. If U1 and U2 and two parametric values we consider that U1 = U2 if Abs (U1 - U2) <= ParametricTolerance and ParametricTolerance must be greater or equal to Resolution from package gp.)#"  , py::arg("C"),  py::arg("FromU1"),  py::arg("ToU2"),  py::arg("ParametricTolerance"),  py::arg("SameOrientation")=static_cast<const Standard_Boolean>(Standard_True)
          )
        .def_static("CurveToBSplineCurve_s",
                    (opencascade::handle<Geom2d_BSplineCurve> (*)( const opencascade::handle<Geom2d_Curve> & ,  const Convert_ParameterisationType  ) ) static_cast<opencascade::handle<Geom2d_BSplineCurve> (*)( const opencascade::handle<Geom2d_Curve> & ,  const Convert_ParameterisationType  ) >(&Geom2dConvert::CurveToBSplineCurve),
                    R"#(This function converts a non infinite curve from Geom into a B-spline curve. C must be an ellipse or a circle or a trimmed conic or a trimmed line or a Bezier curve or a trimmed Bezier curve or a BSpline curve or a trimmed BSpline curve or an Offset curve or a trimmed Offset curve. The returned B-spline is not periodic except if C is a Circle or an Ellipse. ParameterisationType applies only if the curve is a Circle or an ellipse : TgtThetaOver2, TgtThetaOver2_1, TgtThetaOver2_2, TgtThetaOver2_3, TgtThetaOver2_4, Purpose: this is the classical rational parameterisation 2 1 - t cos(theta) = ------ 2 1 + t)#"  , py::arg("C"),  py::arg("Parameterisation")=static_cast<const Convert_ParameterisationType>(Convert_TgtThetaOver2)
          )
    // static methods using call by reference i.s.o. return
        .def_static("ConcatG1_s",
            [](NCollection_Array1<opencascade::handle<Geom2d_BSplineCurve>> & ArrayOfCurves, const NCollection_Array1<Standard_Real> & ArrayOfToler,TColGeom2d_HArray1OfBSplineCurve& ArrayOfConcatenated,const Standard_Real ClosedTolerance ){
                Standard_Boolean  ClosedFlag;
                opencascade::handle<TColGeom2d_HArray1OfBSplineCurve>  ArrayOfConcatenated_ptr; ArrayOfConcatenated_ptr = &ArrayOfConcatenated;

                Geom2dConvert::ConcatG1(ArrayOfCurves,ArrayOfToler,ArrayOfConcatenated_ptr,ClosedFlag,ClosedTolerance);
                if ( ArrayOfConcatenated_ptr.get() != &ArrayOfConcatenated ) copy_if_copy_constructible(ArrayOfConcatenated, *ArrayOfConcatenated_ptr);

return std::make_tuple(ClosedFlag); },
            R"#(This Method concatenates G1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve.)#"  , py::arg("ArrayOfCurves"),  py::arg("ArrayOfToler"),  py::arg("ArrayOfConcatenated"),  py::arg("ClosedTolerance")
          )
        .def_static("ConcatC1_s",
            [](NCollection_Array1<opencascade::handle<Geom2d_BSplineCurve>> & ArrayOfCurves, const NCollection_Array1<Standard_Real> & ArrayOfToler,TColStd_HArray1OfInteger& ArrayOfIndices,TColGeom2d_HArray1OfBSplineCurve& ArrayOfConcatenated,const Standard_Real ClosedTolerance ){
                Standard_Boolean  ClosedFlag;
                opencascade::handle<TColStd_HArray1OfInteger>  ArrayOfIndices_ptr; ArrayOfIndices_ptr = &ArrayOfIndices;
                opencascade::handle<TColGeom2d_HArray1OfBSplineCurve>  ArrayOfConcatenated_ptr; ArrayOfConcatenated_ptr = &ArrayOfConcatenated;

                Geom2dConvert::ConcatC1(ArrayOfCurves,ArrayOfToler,ArrayOfIndices_ptr,ArrayOfConcatenated_ptr,ClosedFlag,ClosedTolerance);
                if ( ArrayOfIndices_ptr.get() != &ArrayOfIndices ) copy_if_copy_constructible(ArrayOfIndices, *ArrayOfIndices_ptr);
                if ( ArrayOfConcatenated_ptr.get() != &ArrayOfConcatenated ) copy_if_copy_constructible(ArrayOfConcatenated, *ArrayOfConcatenated_ptr);

return std::make_tuple(ClosedFlag); },
            R"#(This Method concatenates C1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve.)#"  , py::arg("ArrayOfCurves"),  py::arg("ArrayOfToler"),  py::arg("ArrayOfIndices"),  py::arg("ArrayOfConcatenated"),  py::arg("ClosedTolerance")
          )
        .def_static("ConcatC1_s",
            [](NCollection_Array1<opencascade::handle<Geom2d_BSplineCurve>> & ArrayOfCurves, const NCollection_Array1<Standard_Real> & ArrayOfToler,TColStd_HArray1OfInteger& ArrayOfIndices,TColGeom2d_HArray1OfBSplineCurve& ArrayOfConcatenated,const Standard_Real ClosedTolerance,const Standard_Real AngularTolerance ){
                Standard_Boolean  ClosedFlag;
                opencascade::handle<TColStd_HArray1OfInteger>  ArrayOfIndices_ptr; ArrayOfIndices_ptr = &ArrayOfIndices;
                opencascade::handle<TColGeom2d_HArray1OfBSplineCurve>  ArrayOfConcatenated_ptr; ArrayOfConcatenated_ptr = &ArrayOfConcatenated;

                Geom2dConvert::ConcatC1(ArrayOfCurves,ArrayOfToler,ArrayOfIndices_ptr,ArrayOfConcatenated_ptr,ClosedFlag,ClosedTolerance,AngularTolerance);
                if ( ArrayOfIndices_ptr.get() != &ArrayOfIndices ) copy_if_copy_constructible(ArrayOfIndices, *ArrayOfIndices_ptr);
                if ( ArrayOfConcatenated_ptr.get() != &ArrayOfConcatenated ) copy_if_copy_constructible(ArrayOfConcatenated, *ArrayOfConcatenated_ptr);

return std::make_tuple(ClosedFlag); },
            R"#(This Method concatenates C1 the ArrayOfCurves as far as it is possible. ArrayOfCurves[0..N-1] ArrayOfToler contains the biggest tolerance of the two points shared by two consecutives curves. Its dimension: [0..N-2] ClosedFlag indicates if the ArrayOfCurves is closed. In this case ClosedTolerance contains the biggest tolerance of the two points which are at the closure. Otherwise its value is 0.0 ClosedFlag becomes False on the output if it is impossible to build closed curve.)#"  , py::arg("ArrayOfCurves"),  py::arg("ArrayOfToler"),  py::arg("ArrayOfIndices"),  py::arg("ArrayOfConcatenated"),  py::arg("ClosedTolerance"),  py::arg("AngularTolerance")
          )
        .def_static("C0BSplineToC1BSplineCurve_s",
            [](Geom2d_BSplineCurve& BS,const Standard_Real Tolerance ){
                opencascade::handle<Geom2d_BSplineCurve>  BS_ptr; BS_ptr = &BS;

                Geom2dConvert::C0BSplineToC1BSplineCurve(BS_ptr,Tolerance);
                if ( BS_ptr.get() != &BS ) copy_if_copy_constructible(BS, *BS_ptr);

 },
            R"#(This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns a new BSpline which could still be C0. tolerance is a geometrical tolerance)#"  , py::arg("BS"),  py::arg("Tolerance")
          )
        .def_static("C0BSplineToArrayOfC1BSplineCurve_s",
            [](const opencascade::handle<Geom2d_BSplineCurve> & BS,TColGeom2d_HArray1OfBSplineCurve& tabBS,const Standard_Real Tolerance ){
                opencascade::handle<TColGeom2d_HArray1OfBSplineCurve>  tabBS_ptr; tabBS_ptr = &tabBS;

                Geom2dConvert::C0BSplineToArrayOfC1BSplineCurve(BS,tabBS_ptr,Tolerance);
                if ( tabBS_ptr.get() != &tabBS ) copy_if_copy_constructible(tabBS, *tabBS_ptr);

 },
            R"#(This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns an array of BSpline C1. Tolerance is a geometrical tolerance)#"  , py::arg("BS"),  py::arg("tabBS"),  py::arg("Tolerance")
          )
        .def_static("C0BSplineToArrayOfC1BSplineCurve_s",
            [](const opencascade::handle<Geom2d_BSplineCurve> & BS,TColGeom2d_HArray1OfBSplineCurve& tabBS,const Standard_Real AngularTolerance,const Standard_Real Tolerance ){
                opencascade::handle<TColGeom2d_HArray1OfBSplineCurve>  tabBS_ptr; tabBS_ptr = &tabBS;

                Geom2dConvert::C0BSplineToArrayOfC1BSplineCurve(BS,tabBS_ptr,AngularTolerance,Tolerance);
                if ( tabBS_ptr.get() != &tabBS ) copy_if_copy_constructible(tabBS, *tabBS_ptr);

 },
            R"#(This Method reduces as far as it is possible the multiplicities of the knots of the BSpline BS.(keeping the geometry). It returns an array of BSpline C1. tolerance is a geometrical tolerance)#"  , py::arg("BS"),  py::arg("tabBS"),  py::arg("AngularTolerance"),  py::arg("Tolerance")
          )
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
;

    // Class Geom2dConvert_ApproxArcsSegments from ./opencascade/Geom2dConvert_ApproxArcsSegments.hxx
    klass = m.attr("Geom2dConvert_ApproxArcsSegments");


    // nested enums
        py::enum_<Geom2dConvert_ApproxArcsSegments::Status>(klass, "Status_e", R"#(None)#")
            .value("StatusOK", Geom2dConvert_ApproxArcsSegments::Status::StatusOK)
            .value("StatusNotDone", Geom2dConvert_ApproxArcsSegments::Status::StatusNotDone)
            .value("StatusError", Geom2dConvert_ApproxArcsSegments::Status::StatusError).export_values();

    static_cast<py::class_<Geom2dConvert_ApproxArcsSegments , shared_ptr<Geom2dConvert_ApproxArcsSegments>  >>(klass)
    // constructors
        .def(py::init< const Adaptor2d_Curve2d &,const Standard_Real,const Standard_Real >()  , py::arg("theCurve"),  py::arg("theTolerance"),  py::arg("theAngleTol") )
    // custom constructors
    // methods
    // methods using call by reference i.s.o. return
    // static methods
    // static methods using call by reference i.s.o. return
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
       .def("GetResult",
             (const TColGeom2d_SequenceOfCurve & (Geom2dConvert_ApproxArcsSegments::*)() const) static_cast<const TColGeom2d_SequenceOfCurve & (Geom2dConvert_ApproxArcsSegments::*)() const>(&Geom2dConvert_ApproxArcsSegments::GetResult),
             R"#(Get the result curve after approximation.)#"
             
         )
;

    // Class Geom2dConvert_ApproxCurve from ./opencascade/Geom2dConvert_ApproxCurve.hxx
    klass = m.attr("Geom2dConvert_ApproxCurve");


    // nested enums

    static_cast<py::class_<Geom2dConvert_ApproxCurve , shared_ptr<Geom2dConvert_ApproxCurve>  >>(klass)
    // constructors
        .def(py::init< const opencascade::handle<Geom2d_Curve> &,const Standard_Real,const GeomAbs_Shape,const Standard_Integer,const Standard_Integer >()  , py::arg("Curve"),  py::arg("Tol2d"),  py::arg("Order"),  py::arg("MaxSegments"),  py::arg("MaxDegree") )
        .def(py::init< const opencascade::handle<Adaptor2d_Curve2d> &,const Standard_Real,const GeomAbs_Shape,const Standard_Integer,const Standard_Integer >()  , py::arg("Curve"),  py::arg("Tol2d"),  py::arg("Order"),  py::arg("MaxSegments"),  py::arg("MaxDegree") )
    // custom constructors
    // methods
        .def("Curve",
             (opencascade::handle<Geom2d_BSplineCurve> (Geom2dConvert_ApproxCurve::*)() const) static_cast<opencascade::handle<Geom2d_BSplineCurve> (Geom2dConvert_ApproxCurve::*)() const>(&Geom2dConvert_ApproxCurve::Curve),
             R"#(Returns the 2D BSpline curve resulting from the approximation algorithm.)#" 
          )
        .def("IsDone",
             (Standard_Boolean (Geom2dConvert_ApproxCurve::*)() const) static_cast<Standard_Boolean (Geom2dConvert_ApproxCurve::*)() const>(&Geom2dConvert_ApproxCurve::IsDone),
             R"#(returns Standard_True if the approximation has been done with within required tolerance)#" 
          )
        .def("HasResult",
             (Standard_Boolean (Geom2dConvert_ApproxCurve::*)() const) static_cast<Standard_Boolean (Geom2dConvert_ApproxCurve::*)() const>(&Geom2dConvert_ApproxCurve::HasResult),
             R"#(returns Standard_True if the approximation did come out with a result that is not NECESSARELY within the required tolerance)#" 
          )
        .def("MaxError",
             (Standard_Real (Geom2dConvert_ApproxCurve::*)() const) static_cast<Standard_Real (Geom2dConvert_ApproxCurve::*)() const>(&Geom2dConvert_ApproxCurve::MaxError),
             R"#(Returns the greatest distance between a point on the source conic and the BSpline curve resulting from the approximation. (>0 when an approximation has been done, 0 if no approximation))#" 
          )
        .def("Dump",
             (void (Geom2dConvert_ApproxCurve::*)( std::ostream &  ) const) static_cast<void (Geom2dConvert_ApproxCurve::*)( std::ostream &  ) const>(&Geom2dConvert_ApproxCurve::Dump),
             R"#(Print on the stream o information about the object)#"  , py::arg("o")
          )
    // methods using call by reference i.s.o. return
    // static methods
    // static methods using call by reference i.s.o. return
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
;

    // Class Geom2dConvert_BSplineCurveKnotSplitting from ./opencascade/Geom2dConvert_BSplineCurveKnotSplitting.hxx
    klass = m.attr("Geom2dConvert_BSplineCurveKnotSplitting");


    // nested enums

    static_cast<py::class_<Geom2dConvert_BSplineCurveKnotSplitting , shared_ptr<Geom2dConvert_BSplineCurveKnotSplitting>  >>(klass)
    // constructors
        .def(py::init< const opencascade::handle<Geom2d_BSplineCurve> &,const Standard_Integer >()  , py::arg("BasisCurve"),  py::arg("ContinuityRange") )
    // custom constructors
    // methods
        .def("NbSplits",
             (Standard_Integer (Geom2dConvert_BSplineCurveKnotSplitting::*)() const) static_cast<Standard_Integer (Geom2dConvert_BSplineCurveKnotSplitting::*)() const>(&Geom2dConvert_BSplineCurveKnotSplitting::NbSplits),
             R"#(Returns the number of points at which the analysed BSpline curve should be split, in order to obtain arcs with the continuity required by this framework. All these points correspond to knot values. Note that the first and last points of the curve, which bound the first and last arcs, are counted among these splitting points.)#" 
          )
        .def("Splitting",
             (void (Geom2dConvert_BSplineCurveKnotSplitting::*)( NCollection_Array1<Standard_Integer> &  ) const) static_cast<void (Geom2dConvert_BSplineCurveKnotSplitting::*)( NCollection_Array1<Standard_Integer> &  ) const>(&Geom2dConvert_BSplineCurveKnotSplitting::Splitting),
             R"#(Loads the SplitValues table with the split knots values computed in this framework. Each value in the table is an index in the knots table of the BSpline curve analysed by this algorithm. The values in SplitValues are given in ascending order and comprise the indices of the knots which give the first and last points of the curve. Use two consecutive values from the table as arguments of the global function SplitBSplineCurve (provided by the package Geom2dConvert) to split the curve. Exceptions Standard_DimensionError if the array SplitValues was not created with the following bounds: - 1, and - the number of split points computed in this framework (as given by the function NbSplits).)#"  , py::arg("SplitValues")
          )
        .def("SplitValue",
             (Standard_Integer (Geom2dConvert_BSplineCurveKnotSplitting::*)( const Standard_Integer  ) const) static_cast<Standard_Integer (Geom2dConvert_BSplineCurveKnotSplitting::*)( const Standard_Integer  ) const>(&Geom2dConvert_BSplineCurveKnotSplitting::SplitValue),
             R"#(Returns the split knot of index Index to the split knots table computed in this framework. The returned value is an index in the knots table of the BSpline curve analysed by this algorithm. Notes: - If Index is equal to 1, the corresponding knot gives the first point of the curve. - If Index is equal to the number of split knots computed in this framework, the corresponding point is the last point of the curve. Exceptions Standard_RangeError if Index is less than 1 or greater than the number of split knots computed in this framework.)#"  , py::arg("Index")
          )
    // methods using call by reference i.s.o. return
    // static methods
    // static methods using call by reference i.s.o. return
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
;

    // Class Geom2dConvert_BSplineCurveToBezierCurve from ./opencascade/Geom2dConvert_BSplineCurveToBezierCurve.hxx
    klass = m.attr("Geom2dConvert_BSplineCurveToBezierCurve");


    // nested enums

    static_cast<py::class_<Geom2dConvert_BSplineCurveToBezierCurve , shared_ptr<Geom2dConvert_BSplineCurveToBezierCurve>  >>(klass)
    // constructors
        .def(py::init< const opencascade::handle<Geom2d_BSplineCurve> & >()  , py::arg("BasisCurve") )
        .def(py::init< const opencascade::handle<Geom2d_BSplineCurve> &,const Standard_Real,const Standard_Real,const Standard_Real >()  , py::arg("BasisCurve"),  py::arg("U1"),  py::arg("U2"),  py::arg("ParametricTolerance") )
    // custom constructors
    // methods
        .def("Arc",
             (opencascade::handle<Geom2d_BezierCurve> (Geom2dConvert_BSplineCurveToBezierCurve::*)( const Standard_Integer  ) ) static_cast<opencascade::handle<Geom2d_BezierCurve> (Geom2dConvert_BSplineCurveToBezierCurve::*)( const Standard_Integer  ) >(&Geom2dConvert_BSplineCurveToBezierCurve::Arc),
             R"#(Constructs and returns the Bezier curve of index Index to the table of adjacent Bezier arcs computed by this algorithm. This Bezier curve has the same orientation as the BSpline curve analyzed in this framework. Exceptions Standard_OutOfRange if Index is less than 1 or greater than the number of adjacent Bezier arcs computed by this algorithm.)#"  , py::arg("Index")
          )
        .def("Arcs",
             (void (Geom2dConvert_BSplineCurveToBezierCurve::*)( NCollection_Array1<opencascade::handle<Geom2d_BezierCurve>> &  ) ) static_cast<void (Geom2dConvert_BSplineCurveToBezierCurve::*)( NCollection_Array1<opencascade::handle<Geom2d_BezierCurve>> &  ) >(&Geom2dConvert_BSplineCurveToBezierCurve::Arcs),
             R"#(Constructs all the Bezier curves whose data is computed by this algorithm and loads these curves into the Curves table. The Bezier curves have the same orientation as the BSpline curve analyzed in this framework. Exceptions Standard_DimensionError if the Curves array was not created with the following bounds: - 1 , and - the number of adjacent Bezier arcs computed by this algorithm (as given by the function NbArcs).)#"  , py::arg("Curves")
          )
        .def("Knots",
             (void (Geom2dConvert_BSplineCurveToBezierCurve::*)( NCollection_Array1<Standard_Real> &  ) const) static_cast<void (Geom2dConvert_BSplineCurveToBezierCurve::*)( NCollection_Array1<Standard_Real> &  ) const>(&Geom2dConvert_BSplineCurveToBezierCurve::Knots),
             R"#(This methode returns the bspline's knots associated to the converted arcs Raises DimensionError if the length of Curves is not equal to NbArcs + 1)#"  , py::arg("TKnots")
          )
        .def("NbArcs",
             (Standard_Integer (Geom2dConvert_BSplineCurveToBezierCurve::*)() const) static_cast<Standard_Integer (Geom2dConvert_BSplineCurveToBezierCurve::*)() const>(&Geom2dConvert_BSplineCurveToBezierCurve::NbArcs),
             R"#(Returns the number of BezierCurve arcs. If at the creation time you have decomposed the basis curve between the parametric values UFirst, ULast the number of BezierCurve arcs depends on the number of knots included inside the interval [UFirst, ULast]. If you have decomposed the whole basis B-spline curve the number of BezierCurve arcs NbArcs is equal to the number of knots less one.)#" 
          )
    // methods using call by reference i.s.o. return
    // static methods
    // static methods using call by reference i.s.o. return
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
;

    // Class Geom2dConvert_CompCurveToBSplineCurve from ./opencascade/Geom2dConvert_CompCurveToBSplineCurve.hxx
    klass = m.attr("Geom2dConvert_CompCurveToBSplineCurve");


    // nested enums

    static_cast<py::class_<Geom2dConvert_CompCurveToBSplineCurve , shared_ptr<Geom2dConvert_CompCurveToBSplineCurve>  >>(klass)
    // constructors
        .def(py::init< const Convert_ParameterisationType >()  , py::arg("Parameterisation")=static_cast<const Convert_ParameterisationType>(Convert_TgtThetaOver2) )
        .def(py::init< const opencascade::handle<Geom2d_BoundedCurve> &,const Convert_ParameterisationType >()  , py::arg("BasisCurve"),  py::arg("Parameterisation")=static_cast<const Convert_ParameterisationType>(Convert_TgtThetaOver2) )
    // custom constructors
    // methods
        .def("Add",
             (Standard_Boolean (Geom2dConvert_CompCurveToBSplineCurve::*)( const opencascade::handle<Geom2d_BoundedCurve> & ,  const Standard_Real ,  const Standard_Boolean  ) ) static_cast<Standard_Boolean (Geom2dConvert_CompCurveToBSplineCurve::*)( const opencascade::handle<Geom2d_BoundedCurve> & ,  const Standard_Real ,  const Standard_Boolean  ) >(&Geom2dConvert_CompCurveToBSplineCurve::Add),
             R"#(Append a curve in the BSpline Return False if the curve is not G0 with the BSplineCurve. Tolerance is used to check continuity and decrease Multiplicty at the common Knot After is useful if BasisCurve is a closed curve .)#"  , py::arg("NewCurve"),  py::arg("Tolerance"),  py::arg("After")=static_cast<const Standard_Boolean>(Standard_False)
          )
        .def("BSplineCurve",
             (opencascade::handle<Geom2d_BSplineCurve> (Geom2dConvert_CompCurveToBSplineCurve::*)() const) static_cast<opencascade::handle<Geom2d_BSplineCurve> (Geom2dConvert_CompCurveToBSplineCurve::*)() const>(&Geom2dConvert_CompCurveToBSplineCurve::BSplineCurve),
             R"#(None)#" 
          )
        .def("Clear",
             (void (Geom2dConvert_CompCurveToBSplineCurve::*)() ) static_cast<void (Geom2dConvert_CompCurveToBSplineCurve::*)() >(&Geom2dConvert_CompCurveToBSplineCurve::Clear),
             R"#(Clear result curve)#" 
          )
    // methods using call by reference i.s.o. return
    // static methods
    // static methods using call by reference i.s.o. return
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
;

    // Class Geom2dConvert_PPoint from ./opencascade/Geom2dConvert_PPoint.hxx
    klass = m.attr("Geom2dConvert_PPoint");


    // nested enums

    static_cast<py::class_<Geom2dConvert_PPoint , shared_ptr<Geom2dConvert_PPoint>  >>(klass)
    // constructors
        .def(py::init<  >()  )
        .def(py::init< const Standard_Real,const gp_XY &,const gp_XY & >()  , py::arg("theParameter"),  py::arg("thePoint"),  py::arg("theD1") )
        .def(py::init< const Standard_Real,const Adaptor2d_Curve2d & >()  , py::arg("theParameter"),  py::arg("theAdaptor") )
    // custom constructors
    // methods
        .def("Dist",
             (Standard_Real (Geom2dConvert_PPoint::*)( const Geom2dConvert_PPoint &  ) const) static_cast<Standard_Real (Geom2dConvert_PPoint::*)( const Geom2dConvert_PPoint &  ) const>(&Geom2dConvert_PPoint::Dist),
             R"#(Compute the distance betwwen two 2d points.)#"  , py::arg("theOth")
          )
        .def("Parameter",
             (Standard_Real (Geom2dConvert_PPoint::*)() const) static_cast<Standard_Real (Geom2dConvert_PPoint::*)() const>(&Geom2dConvert_PPoint::Parameter),
             R"#(Query the parmeter value.)#" 
          )
        .def("SetD1",
             (void (Geom2dConvert_PPoint::*)( const gp_XY &  ) ) static_cast<void (Geom2dConvert_PPoint::*)( const gp_XY &  ) >(&Geom2dConvert_PPoint::SetD1),
             R"#(Change the value of the derivative at the point.)#"  , py::arg("theD1")
          )
    // methods using call by reference i.s.o. return
    // static methods
    // static methods using call by reference i.s.o. return
    // operators
    // additional methods and static methods
    // properties
    // methods returning by ref wrapped as properties
       .def("Point",
             (const gp_XY & (Geom2dConvert_PPoint::*)() const) static_cast<const gp_XY & (Geom2dConvert_PPoint::*)() const>(&Geom2dConvert_PPoint::Point),
             R"#(Query the point location.)#"
             
         )
       .def("D1",
             (const gp_XY & (Geom2dConvert_PPoint::*)() const) static_cast<const gp_XY & (Geom2dConvert_PPoint::*)() const>(&Geom2dConvert_PPoint::D1),
             R"#(Query the first derivatives.)#"
             
         )
;

// functions
// ./opencascade/Geom2dConvert.hxx
// ./opencascade/Geom2dConvert_ApproxArcsSegments.hxx
// ./opencascade/Geom2dConvert_ApproxCurve.hxx
// ./opencascade/Geom2dConvert_BSplineCurveKnotSplitting.hxx
// ./opencascade/Geom2dConvert_BSplineCurveToBezierCurve.hxx
// ./opencascade/Geom2dConvert_CompCurveToBSplineCurve.hxx
// ./opencascade/Geom2dConvert_PPoint.hxx
// ./opencascade/Geom2dConvert_SequenceOfPPoint.hxx

// Additional functions

// operators

// register typdefs
    register_template_NCollection_Sequence<Geom2dConvert_PPoint>(m,"Geom2dConvert_SequenceOfPPoint");


// exceptions

// user-defined post-inclusion per module in the body

};

// user-defined post-inclusion per module

// user-defined post