summaryrefslogtreecommitdiff
path: root/inc/Extrema_CurveTool.hxx
blob: e99e4435659f6ae62082d8f9dc8e4b859bca3dde (plain)
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
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Extrema_CurveTool_HeaderFile
#define _Extrema_CurveTool_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _GeomAbs_Shape_HeaderFile
#include <GeomAbs_Shape.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _GeomAbs_CurveType_HeaderFile
#include <GeomAbs_CurveType.hxx>
#endif
#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
#endif
#ifndef _gp_Lin_HeaderFile
#include <gp_Lin.hxx>
#endif
#ifndef _gp_Circ_HeaderFile
#include <gp_Circ.hxx>
#endif
#ifndef _gp_Elips_HeaderFile
#include <gp_Elips.hxx>
#endif
#ifndef _gp_Hypr_HeaderFile
#include <gp_Hypr.hxx>
#endif
#ifndef _gp_Parab_HeaderFile
#include <gp_Parab.hxx>
#endif
#ifndef _Handle_Geom_BezierCurve_HeaderFile
#include <Handle_Geom_BezierCurve.hxx>
#endif
#ifndef _Handle_Geom_BSplineCurve_HeaderFile
#include <Handle_Geom_BSplineCurve.hxx>
#endif
class Adaptor3d_Curve;
class TColStd_Array1OfReal;
class gp_Pnt;
class gp_Vec;
class Geom_BezierCurve;
class Geom_BSplineCurve;



class Extrema_CurveTool  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  
      static  Standard_Real FirstParameter(const Adaptor3d_Curve& C) ;
  
      static  Standard_Real LastParameter(const Adaptor3d_Curve& C) ;
  
      static  GeomAbs_Shape Continuity(const Adaptor3d_Curve& C) ;
  //! Returns  the number  of  intervals for  continuity <br>
//!          <S>. May be one if Continuity(me) >= <S> <br>
      static  Standard_Integer NbIntervals(Adaptor3d_Curve& C,const GeomAbs_Shape S) ;
  //! Stores in <T> the  parameters bounding the intervals <br>
//!          of continuity <S>. <br>
//! <br>
//!          The array must provide  enough room to  accomodate <br>
//!          for the parameters. i.e. T.Length() > NbIntervals() <br>
      static  void Intervals(Adaptor3d_Curve& C,TColStd_Array1OfReal& T,const GeomAbs_Shape S) ;
  
  Standard_EXPORT   static  Standard_Boolean IsPeriodic(const Adaptor3d_Curve& C) ;
  
      static  Standard_Real Period(const Adaptor3d_Curve& C) ;
  
      static  Standard_Real Resolution(const Adaptor3d_Curve& C,const Standard_Real R3d) ;
  
      static  GeomAbs_CurveType GetType(const Adaptor3d_Curve& C) ;
  
      static  gp_Pnt Value(const Adaptor3d_Curve& C,const Standard_Real U) ;
  
      static  void D1(const Adaptor3d_Curve& C,const Standard_Real U,gp_Pnt& P,gp_Vec& V) ;
  
      static  void D2(const Adaptor3d_Curve& C,const Standard_Real U,gp_Pnt& P,gp_Vec& V1,gp_Vec& V2) ;
  
      static  gp_Lin Line(const Adaptor3d_Curve& C) ;
  
      static  gp_Circ Circle(const Adaptor3d_Curve& C) ;
  
      static  gp_Elips Ellipse(const Adaptor3d_Curve& C) ;
  
      static  gp_Hypr Hyperbola(const Adaptor3d_Curve& C) ;
  
      static  gp_Parab Parabola(const Adaptor3d_Curve& C) ;
  
      static  Standard_Integer Degree(const Adaptor3d_Curve& C) ;
  
      static  Standard_Boolean IsRational(const Adaptor3d_Curve& C) ;
  
      static  Standard_Integer NbPoles(const Adaptor3d_Curve& C) ;
  
      static  Standard_Integer NbKnots(const Adaptor3d_Curve& C) ;
  
      static  Handle_Geom_BezierCurve Bezier(const Adaptor3d_Curve& C) ;
  
      static  Handle_Geom_BSplineCurve BSpline(const Adaptor3d_Curve& C) ;





protected:





private:





};


#include <Extrema_CurveTool.lxx>



// other Inline functions and methods (like "C++: function call" methods)


#endif