summaryrefslogtreecommitdiff
path: root/inc/GCPnts_UniformAbscissa.hxx
blob: 5e67d47e12f9da6a7e267ee5059e005cc3bde920 (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
// 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 _GCPnts_UniformAbscissa_HeaderFile
#define _GCPnts_UniformAbscissa_HeaderFile

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

#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfReal_HeaderFile
#include <Handle_TColStd_HArray1OfReal.hxx>
#endif
class TColStd_HArray1OfReal;
class Standard_DomainError;
class Standard_ConstructionError;
class Standard_OutOfRange;
class StdFail_NotDone;
class Adaptor3d_Curve;
class Adaptor2d_Curve2d;


//! This class allows to compute a uniform distribution of points <br>
//!          on a curve (ie the points will all be equally distant). <br>
class GCPnts_UniformAbscissa  {
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); 
  }

  //! creation of a indefinite UniformAbscissa <br>
  Standard_EXPORT   GCPnts_UniformAbscissa();
  //! Computes a uniform abscissa distribution of points on <br>
//!  the Curve <C>. Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor3d_Curve& C,const Standard_Real Abscissa,const Standard_Real Toler = -1);
  //! Computes a Uniform abscissa distribution of points <br>
//!  on a part of the Curve <C>. Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor3d_Curve& C,const Standard_Real Abscissa,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1);
  //! Computes a uniform abscissa distribution of points on <br>
//!  the Curve <C>. <br>
//!  <NbPoints> defines the nomber of desired points. <br>
//!  Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor3d_Curve& C,const Standard_Integer NbPoints,const Standard_Real Toler = -1);
  //! Computes a Uniform abscissa distribution of points <br>
//!  on a part of the Curve <C>. <br>
//!  Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor3d_Curve& C,const Standard_Integer NbPoints,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1);
  //! Initialize the algoritms with <C>, <Abscissa>, <Toler> <br>
  Standard_EXPORT     void Initialize(Adaptor3d_Curve& C,const Standard_Real Abscissa,const Standard_Real Toler = -1) ;
  //! Initialize the algoritms with <C>, <Abscissa>, <U1>, <br>
//!          <U2>, <Toler> <br>
  Standard_EXPORT     void Initialize(Adaptor3d_Curve& C,const Standard_Real Abscissa,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1) ;
  //! Initialize the algoritms with <C>, <NbPoints>, <Toler> and <br>
  Standard_EXPORT     void Initialize(Adaptor3d_Curve& C,const Standard_Integer NbPoints,const Standard_Real Toler = -1) ;
  //! Initialize the algoritms with <C>, <Abscissa>, <U1>, <br>
//!          <U2>, <Toler>. <br>
  Standard_EXPORT     void Initialize(Adaptor3d_Curve& C,const Standard_Integer NbPoints,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1) ;
  //! Computes a uniform abscissa distribution of points on <br>
//!  the Curve2d <C>. <br>
//!  Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor2d_Curve2d& C,const Standard_Real Abscissa,const Standard_Real Toler = -1);
  //! Computes a Uniform abscissa distribution of points <br>
//!  on a part of the Curve2d <C>. <br>
//!  Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor2d_Curve2d& C,const Standard_Real Abscissa,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1);
  //! Computes a uniform abscissa distribution of points on <br>
//!  the Curve2d <C>. <br>
//!  <NbPoints> defines the nomber of desired points. <br>
//!  Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor2d_Curve2d& C,const Standard_Integer NbPoints,const Standard_Real Toler = -1);
  //! Computes a Uniform abscissa distribution of points <br>
//!  on a part of the Curve2d <C>. <br>
//!  Parameter Toler is equal Precision::Confusion by default. <br>
//!  It Is used for more precise calculation of curve length <br>
  Standard_EXPORT   GCPnts_UniformAbscissa(Adaptor2d_Curve2d& C,const Standard_Integer NbPoints,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1);
  //! Initialize the algoritms with <C>, <Abscissa>, <Toler> <br>
  Standard_EXPORT     void Initialize(Adaptor2d_Curve2d& C,const Standard_Real Abscissa,const Standard_Real Toler = -1) ;
  //! Initialize the algoritms with <C>, <Abscissa>, <U1>, <br>
//!          <U2>, <Toler> <br>
  Standard_EXPORT     void Initialize(Adaptor2d_Curve2d& C,const Standard_Real Abscissa,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1) ;
  //! Initialize the algoritms with <C>, <NbPoints>, <Toler> and <br>
  Standard_EXPORT     void Initialize(Adaptor2d_Curve2d& C,const Standard_Integer NbPoints,const Standard_Real Toler = -1) ;
  //! Initialize the algoritms with <C>, <Abscissa>, <U1>, <br>
//!          <U2>, <Toler>. <br>
  Standard_EXPORT     void Initialize(Adaptor2d_Curve2d& C,const Standard_Integer NbPoints,const Standard_Real U1,const Standard_Real U2,const Standard_Real Toler = -1) ;
  
        Standard_Boolean IsDone() const;
  
        Standard_Integer NbPoints() const;
  //! returns the computed Parameter of index <Index>. <br>
        Standard_Real Parameter(const Standard_Integer Index) const;
  //! returne the current abscissa <br>
//! ie the distance between two consecutive points <br>
        Standard_Real Abscissa() const;





protected:





private:



Standard_Boolean myDone;
Standard_Integer myNbPoints;
Standard_Real myAbscissa;
Handle_TColStd_HArray1OfReal myParams;


};


#include <GCPnts_UniformAbscissa.lxx>



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


#endif