summaryrefslogtreecommitdiff
path: root/inc/gp.hxx
blob: d7c6167ab38eac862a2545084923bc0c35bd04e8 (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
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
// 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 _gp_HeaderFile
#define _gp_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
class gp_Pnt;
class gp_Dir;
class gp_Ax1;
class gp_Ax2;
class gp_Pnt2d;
class gp_Dir2d;
class gp_Ax2d;
class gp_XYZ;
class gp_Mat;
class gp_Quaternion;
class gp_Trsf;
class gp_GTrsf;
class gp_Pnt;
class gp_Vec;
class gp_Dir;
class gp_Ax1;
class gp_Ax2;
class gp_Ax3;
class gp_Lin;
class gp_Circ;
class gp_Elips;
class gp_Hypr;
class gp_Parab;
class gp_Pln;
class gp_Cylinder;
class gp_Sphere;
class gp_Torus;
class gp_Cone;
class gp_XY;
class gp_Mat2d;
class gp_Trsf2d;
class gp_GTrsf2d;
class gp_Pnt2d;
class gp_Vec2d;
class gp_Dir2d;
class gp_Ax2d;
class gp_Ax22d;
class gp_Lin2d;
class gp_Circ2d;
class gp_Elips2d;
class gp_Hypr2d;
class gp_Parab2d;



//!  The geometric processor package, called gp, provides an <br>
//!  implementation of entities used  : <br>
//!  . for algebraic calculation such as "XYZ" coordinates, "Mat" <br>
//!    matrix <br>
//!  . for basis analytic geometry such as Transformations, point, <br>
//!    vector, line, plane, axis placement, conics, and elementary <br>
//!    surfaces. <br>
//!  These entities are defined in 2d and 3d space. <br>
//!  All the classes of this package are non-persistent. <br>
class gp  {
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); 
  }

  
//!  In geometric computations, defines the tolerance criterion <br>
//! used to determine when two numbers can be considered equal. <br>
//! Many class functions use this tolerance criterion, for <br>
//! example, to avoid division by zero in geometric <br>
//! computations. In the documentation, tolerance criterion is <br>
//! always referred to as gp::Resolution(). <br>
      static  Standard_Real Resolution() ;
  //! Identifies a Cartesian point with coordinates X = Y = Z = 0.0.0 <br>
  Standard_EXPORT   static const gp_Pnt& Origin() ;
  //! Returns a unit vector with the combination (1,0,0) <br>
  Standard_EXPORT   static const gp_Dir& DX() ;
  //! Returns a unit vector with the combination (0,1,0) <br>
  Standard_EXPORT   static const gp_Dir& DY() ;
  //! Returns a unit vector with the combination (0,0,1) <br>
  Standard_EXPORT   static const gp_Dir& DZ() ;
  //!Identifies an axis where its origin is Origin <br>
//! and its unit vector coordinates  X = 1.0,  Y = Z = 0.0 <br>
  Standard_EXPORT   static const gp_Ax1& OX() ;
  //!Identifies an axis where its origin is Origin <br>
//! and its unit vector coordinates Y = 1.0,  X = Z = 0.0 <br>
  Standard_EXPORT   static const gp_Ax1& OY() ;
  //!Identifies an axis where its origin is Origin <br>
//! and its unit vector coordinates Z = 1.0,  Y = X = 0.0 <br>
  Standard_EXPORT   static const gp_Ax1& OZ() ;
  //!Identifies a coordinate system where its origin is Origin, <br>
//! and its "main Direction" and "X Direction" coordinates <br>
//!  Z = 1.0, X = Y =0.0 and X direction coordinates X = 1.0, Y = Z = 0.0 <br>
  Standard_EXPORT   static const gp_Ax2& XOY() ;
  //!Identifies a coordinate system where its origin is Origin, <br>
//! and its "main Direction" and "X Direction" coordinates <br>
//!  Y = 1.0, X = Z =0.0 and X direction coordinates Z = 1.0, X = Y = 0.0 <br>
  Standard_EXPORT   static const gp_Ax2& ZOX() ;
  //!Identifies a coordinate system where its origin is Origin, <br>
//! and its "main Direction" and "X Direction" coordinates <br>
//!  X = 1.0, Z = Y =0.0 and X direction coordinates Y = 1.0, X = Z = 0.0 <br>//! In 2D space <br>
  Standard_EXPORT   static const gp_Ax2& YOZ() ;
  //! Identifies a Cartesian point with coordinates X = Y = 0.0 <br>
  Standard_EXPORT   static const gp_Pnt2d& Origin2d() ;
  //! Returns a unit vector with the combinations (1,0) <br>
  Standard_EXPORT   static const gp_Dir2d& DX2d() ;
  //! Returns a unit vector with the combinations (0,1) <br>
  Standard_EXPORT   static const gp_Dir2d& DY2d() ;
  //! Identifies an axis where its origin is Origin2d <br>
//! and its unit vector coordinates are: X = 1.0,  Y = 0.0 <br>
  Standard_EXPORT   static const gp_Ax2d& OX2d() ;
  //!  Identifies an axis where its origin is Origin2d <br>
//! and its unit vector coordinates are Y = 1.0,  X = 0.0 <br>
  Standard_EXPORT   static const gp_Ax2d& OY2d() ;





protected:





private:




friend class gp_XYZ;
friend class gp_Mat;
friend class gp_Quaternion;
friend class gp_Trsf;
friend class gp_GTrsf;
friend class gp_Pnt;
friend class gp_Vec;
friend class gp_Dir;
friend class gp_Ax1;
friend class gp_Ax2;
friend class gp_Ax3;
friend class gp_Lin;
friend class gp_Circ;
friend class gp_Elips;
friend class gp_Hypr;
friend class gp_Parab;
friend class gp_Pln;
friend class gp_Cylinder;
friend class gp_Sphere;
friend class gp_Torus;
friend class gp_Cone;
friend class gp_XY;
friend class gp_Mat2d;
friend class gp_Trsf2d;
friend class gp_GTrsf2d;
friend class gp_Pnt2d;
friend class gp_Vec2d;
friend class gp_Dir2d;
friend class gp_Ax2d;
friend class gp_Ax22d;
friend class gp_Lin2d;
friend class gp_Circ2d;
friend class gp_Elips2d;
friend class gp_Hypr2d;
friend class gp_Parab2d;

};


#include <gp.lxx>



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


#endif