File indexing completed on 2025-01-18 10:04:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntAna_QuadQuadGeo_HeaderFile
0018 #define _IntAna_QuadQuadGeo_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <IntAna_ResultType.hxx>
0025 #include <gp_Pnt.hxx>
0026 #include <gp_Dir.hxx>
0027 class gp_Pln;
0028 class gp_Cylinder;
0029 class gp_Sphere;
0030 class gp_Cone;
0031 class gp_Torus;
0032 class gp_Lin;
0033 class gp_Circ;
0034 class gp_Elips;
0035 class gp_Parab;
0036 class gp_Hypr;
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054 class IntAna_QuadQuadGeo
0055 {
0056 public:
0057
0058 DEFINE_STANDARD_ALLOC
0059
0060
0061
0062 Standard_EXPORT IntAna_QuadQuadGeo();
0063
0064
0065
0066
0067
0068
0069 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P1, const gp_Pln& P2, const Standard_Real TolAng, const Standard_Real Tol);
0070
0071
0072
0073
0074
0075
0076 Standard_EXPORT void Perform (const gp_Pln& P1, const gp_Pln& P2, const Standard_Real TolAng, const Standard_Real Tol);
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P, const gp_Cylinder& C, const Standard_Real Tolang, const Standard_Real Tol, const Standard_Real H = 0);
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098 Standard_EXPORT void Perform (const gp_Pln& P, const gp_Cylinder& C, const Standard_Real Tolang, const Standard_Real Tol, const Standard_Real H = 0);
0099
0100
0101 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P, const gp_Sphere& S);
0102
0103
0104 Standard_EXPORT void Perform (const gp_Pln& P, const gp_Sphere& S);
0105
0106
0107
0108
0109
0110
0111
0112
0113 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P, const gp_Cone& C, const Standard_Real Tolang, const Standard_Real Tol);
0114
0115
0116
0117
0118
0119
0120
0121
0122 Standard_EXPORT void Perform (const gp_Pln& P, const gp_Cone& C, const Standard_Real Tolang, const Standard_Real Tol);
0123
0124
0125 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl1, const gp_Cylinder& Cyl2, const Standard_Real Tol);
0126
0127
0128 Standard_EXPORT void Perform (const gp_Cylinder& Cyl1, const gp_Cylinder& Cyl2, const Standard_Real Tol);
0129
0130
0131 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl, const gp_Sphere& Sph, const Standard_Real Tol);
0132
0133
0134 Standard_EXPORT void Perform (const gp_Cylinder& Cyl, const gp_Sphere& Sph, const Standard_Real Tol);
0135
0136
0137 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl, const gp_Cone& Con, const Standard_Real Tol);
0138
0139
0140 Standard_EXPORT void Perform (const gp_Cylinder& Cyl, const gp_Cone& Con, const Standard_Real Tol);
0141
0142
0143 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Sphere& Sph1, const gp_Sphere& Sph2, const Standard_Real Tol);
0144
0145
0146 Standard_EXPORT void Perform (const gp_Sphere& Sph1, const gp_Sphere& Sph2, const Standard_Real Tol);
0147
0148
0149 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Sphere& Sph, const gp_Cone& Con, const Standard_Real Tol);
0150
0151
0152 Standard_EXPORT void Perform (const gp_Sphere& Sph, const gp_Cone& Con, const Standard_Real Tol);
0153
0154
0155 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cone& Con1, const gp_Cone& Con2, const Standard_Real Tol);
0156
0157
0158 Standard_EXPORT void Perform (const gp_Cone& Con1, const gp_Cone& Con2, const Standard_Real Tol);
0159
0160
0161 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& Pln, const gp_Torus& Tor, const Standard_Real Tol);
0162
0163
0164 Standard_EXPORT void Perform (const gp_Pln& Pln, const gp_Torus& Tor, const Standard_Real Tol);
0165
0166
0167 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl, const gp_Torus& Tor, const Standard_Real Tol);
0168
0169
0170 Standard_EXPORT void Perform (const gp_Cylinder& Cyl, const gp_Torus& Tor, const Standard_Real Tol);
0171
0172
0173 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cone& Con, const gp_Torus& Tor, const Standard_Real Tol);
0174
0175
0176 Standard_EXPORT void Perform (const gp_Cone& Con, const gp_Torus& Tor, const Standard_Real Tol);
0177
0178
0179 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Sphere& Sph, const gp_Torus& Tor, const Standard_Real Tol);
0180
0181
0182 Standard_EXPORT void Perform (const gp_Sphere& Sph, const gp_Torus& Tor, const Standard_Real Tol);
0183
0184
0185 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Torus& Tor1, const gp_Torus& Tor2, const Standard_Real Tol);
0186
0187
0188 Standard_EXPORT void Perform (const gp_Torus& Tor1, const gp_Torus& Tor2, const Standard_Real Tol);
0189
0190
0191 Standard_Boolean IsDone() const;
0192
0193
0194 IntAna_ResultType TypeInter() const;
0195
0196
0197
0198
0199
0200
0201
0202
0203
0204
0205 Standard_Integer NbSolutions() const;
0206
0207
0208 Standard_EXPORT gp_Pnt Point (const Standard_Integer Num) const;
0209
0210
0211 Standard_EXPORT gp_Lin Line (const Standard_Integer Num) const;
0212
0213
0214 Standard_EXPORT gp_Circ Circle (const Standard_Integer Num) const;
0215
0216
0217 Standard_EXPORT gp_Elips Ellipse (const Standard_Integer Num) const;
0218
0219
0220 Standard_EXPORT gp_Parab Parabola (const Standard_Integer Num) const;
0221
0222
0223 Standard_EXPORT gp_Hypr Hyperbola (const Standard_Integer Num) const;
0224
0225 Standard_EXPORT Standard_Boolean HasCommonGen() const;
0226
0227 Standard_EXPORT const gp_Pnt& PChar() const;
0228
0229
0230
0231
0232 protected:
0233
0234
0235
0236 Standard_EXPORT void InitTolerances();
0237
0238
0239 Standard_Boolean done;
0240 Standard_Integer nbint;
0241 IntAna_ResultType typeres;
0242 gp_Pnt pt1;
0243 gp_Pnt pt2;
0244 gp_Pnt pt3;
0245 gp_Pnt pt4;
0246 gp_Dir dir1;
0247 gp_Dir dir2;
0248 gp_Dir dir3;
0249 gp_Dir dir4;
0250 Standard_Real param1;
0251 Standard_Real param2;
0252 Standard_Real param3;
0253 Standard_Real param4;
0254 Standard_Real param1bis;
0255 Standard_Real param2bis;
0256 Standard_Real myEPSILON_DISTANCE;
0257 Standard_Real myEPSILON_ANGLE_CONE;
0258 Standard_Real myEPSILON_MINI_CIRCLE_RADIUS;
0259 Standard_Real myEPSILON_CYLINDER_DELTA_RADIUS;
0260 Standard_Real myEPSILON_CYLINDER_DELTA_DISTANCE;
0261 Standard_Real myEPSILON_AXES_PARA;
0262 Standard_Boolean myCommonGen;
0263 gp_Pnt myPChar;
0264
0265
0266 private:
0267
0268
0269
0270
0271
0272 };
0273
0274
0275 #include <IntAna_QuadQuadGeo.lxx>
0276
0277
0278
0279
0280
0281 #endif