File indexing completed on 2026-09-24 09:16:20
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 class IntAna_QuadQuadGeo
0054 {
0055 public:
0056 DEFINE_STANDARD_ALLOC
0057
0058
0059 Standard_EXPORT IntAna_QuadQuadGeo();
0060
0061
0062
0063
0064
0065
0066 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P1,
0067 const gp_Pln& P2,
0068 const double TolAng,
0069 const double Tol);
0070
0071
0072
0073
0074
0075
0076 Standard_EXPORT void Perform(const gp_Pln& P1,
0077 const gp_Pln& P2,
0078 const double TolAng,
0079 const double Tol);
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P,
0091 const gp_Cylinder& C,
0092 const double Tolang,
0093 const double Tol,
0094 const double H = 0);
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105 Standard_EXPORT void Perform(const gp_Pln& P,
0106 const gp_Cylinder& C,
0107 const double Tolang,
0108 const double Tol,
0109 const double H = 0);
0110
0111
0112 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P, const gp_Sphere& S);
0113
0114
0115 Standard_EXPORT void Perform(const gp_Pln& P, const gp_Sphere& S);
0116
0117
0118
0119
0120
0121
0122
0123
0124 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& P,
0125 const gp_Cone& C,
0126 const double Tolang,
0127 const double Tol);
0128
0129
0130
0131
0132
0133
0134
0135
0136 Standard_EXPORT void Perform(const gp_Pln& P,
0137 const gp_Cone& C,
0138 const double Tolang,
0139 const double Tol);
0140
0141
0142 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl1,
0143 const gp_Cylinder& Cyl2,
0144 const double Tol);
0145
0146
0147 Standard_EXPORT void Perform(const gp_Cylinder& Cyl1, const gp_Cylinder& Cyl2, const double Tol);
0148
0149
0150 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl,
0151 const gp_Sphere& Sph,
0152 const double Tol);
0153
0154
0155 Standard_EXPORT void Perform(const gp_Cylinder& Cyl, const gp_Sphere& Sph, const double Tol);
0156
0157
0158 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl, const gp_Cone& Con, const double Tol);
0159
0160
0161 Standard_EXPORT void Perform(const gp_Cylinder& Cyl, const gp_Cone& Con, const double Tol);
0162
0163
0164 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Sphere& Sph1,
0165 const gp_Sphere& Sph2,
0166 const double Tol);
0167
0168
0169 Standard_EXPORT void Perform(const gp_Sphere& Sph1, const gp_Sphere& Sph2, const double Tol);
0170
0171
0172 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Sphere& Sph, const gp_Cone& Con, const double Tol);
0173
0174
0175 Standard_EXPORT void Perform(const gp_Sphere& Sph, const gp_Cone& Con, const double Tol);
0176
0177
0178 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cone& Con1, const gp_Cone& Con2, const double Tol);
0179
0180
0181 Standard_EXPORT void Perform(const gp_Cone& Con1, const gp_Cone& Con2, const double Tol);
0182
0183
0184 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Pln& Pln, const gp_Torus& Tor, const double Tol);
0185
0186
0187 Standard_EXPORT void Perform(const gp_Pln& Pln, const gp_Torus& Tor, const double Tol);
0188
0189
0190 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cylinder& Cyl, const gp_Torus& Tor, const double Tol);
0191
0192
0193 Standard_EXPORT void Perform(const gp_Cylinder& Cyl, const gp_Torus& Tor, const double Tol);
0194
0195
0196 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Cone& Con, const gp_Torus& Tor, const double Tol);
0197
0198
0199 Standard_EXPORT void Perform(const gp_Cone& Con, const gp_Torus& Tor, const double Tol);
0200
0201
0202 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Sphere& Sph, const gp_Torus& Tor, const double Tol);
0203
0204
0205 Standard_EXPORT void Perform(const gp_Sphere& Sph, const gp_Torus& Tor, const double Tol);
0206
0207
0208 Standard_EXPORT IntAna_QuadQuadGeo(const gp_Torus& Tor1, const gp_Torus& Tor2, const double Tol);
0209
0210
0211 Standard_EXPORT void Perform(const gp_Torus& Tor1, const gp_Torus& Tor2, const double Tol);
0212
0213
0214 bool IsDone() const;
0215
0216
0217 IntAna_ResultType TypeInter() const;
0218
0219
0220
0221
0222
0223
0224
0225
0226
0227
0228 int NbSolutions() const;
0229
0230
0231 Standard_EXPORT gp_Pnt Point(const int Num) const;
0232
0233
0234 Standard_EXPORT gp_Lin Line(const int Num) const;
0235
0236
0237 Standard_EXPORT gp_Circ Circle(const int Num) const;
0238
0239
0240 Standard_EXPORT gp_Elips Ellipse(const int Num) const;
0241
0242
0243 Standard_EXPORT gp_Parab Parabola(const int Num) const;
0244
0245
0246 Standard_EXPORT gp_Hypr Hyperbola(const int Num) const;
0247
0248 Standard_EXPORT bool HasCommonGen() const;
0249
0250 Standard_EXPORT const gp_Pnt& PChar() const;
0251
0252 protected:
0253
0254 Standard_EXPORT void InitTolerances();
0255
0256 bool done;
0257 int nbint;
0258 IntAna_ResultType typeres;
0259 gp_Pnt pt1;
0260 gp_Pnt pt2;
0261 gp_Pnt pt3;
0262 gp_Pnt pt4;
0263 gp_Dir dir1;
0264 gp_Dir dir2;
0265 gp_Dir dir3;
0266 gp_Dir dir4;
0267 double param1;
0268 double param2;
0269 double param3;
0270 double param4;
0271 double param1bis;
0272 double param2bis;
0273 double myEPSILON_DISTANCE;
0274 double myEPSILON_ANGLE_CONE;
0275 double myEPSILON_MINI_CIRCLE_RADIUS;
0276 double myEPSILON_CYLINDER_DELTA_RADIUS;
0277 double myEPSILON_CYLINDER_DELTA_DISTANCE;
0278 double myEPSILON_AXES_PARA;
0279 bool myCommonGen;
0280 gp_Pnt myPChar;
0281 };
0282
0283 #include <IntAna_QuadQuadGeo.lxx>
0284
0285 #endif