File indexing completed on 2026-11-03 10:30:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Extrema_ExtElSS_HeaderFile
0018 #define _Extrema_ExtElSS_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Boolean.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <NCollection_Array1.hxx>
0027 #include <NCollection_HArray1.hxx>
0028 #include <Extrema_POnSurf.hxx>
0029 #include <Standard_Real.hxx>
0030
0031 class gp_Pln;
0032 class gp_Sphere;
0033 class gp_Cylinder;
0034 class gp_Cone;
0035 class gp_Torus;
0036 class Extrema_POnSurf;
0037
0038
0039
0040
0041 class Extrema_ExtElSS
0042 {
0043 public:
0044 DEFINE_STANDARD_ALLOC
0045
0046 Standard_EXPORT Extrema_ExtElSS();
0047
0048
0049
0050 Standard_EXPORT Extrema_ExtElSS(const gp_Pln& S1, const gp_Pln& S2);
0051
0052 Standard_EXPORT void Perform(const gp_Pln& S1, const gp_Pln& S2);
0053
0054
0055
0056 Standard_EXPORT Extrema_ExtElSS(const gp_Pln& S1, const gp_Sphere& S2);
0057
0058 Standard_EXPORT void Perform(const gp_Pln& S1, const gp_Sphere& S2);
0059
0060
0061
0062 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Sphere& S2);
0063
0064 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Sphere& S2);
0065
0066
0067
0068 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Cylinder& S2);
0069
0070 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Cylinder& S2);
0071
0072
0073
0074 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Cone& S2);
0075
0076 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Cone& S2);
0077
0078
0079
0080 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Torus& S2);
0081
0082 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Torus& S2);
0083
0084
0085 Standard_EXPORT bool IsDone() const;
0086
0087
0088 Standard_EXPORT bool IsParallel() const;
0089
0090
0091 Standard_EXPORT int NbExt() const;
0092
0093
0094 Standard_EXPORT double SquareDistance(const int N = 1) const;
0095
0096
0097
0098 Standard_EXPORT void Points(const int N, Extrema_POnSurf& P1, Extrema_POnSurf& P2) const;
0099
0100 private:
0101 bool myDone;
0102 bool myIsPar;
0103 int myNbExt;
0104 occ::handle<NCollection_HArray1<double>> mySqDist;
0105 occ::handle<NCollection_HArray1<Extrema_POnSurf>> myPOnS1;
0106 occ::handle<NCollection_HArray1<Extrema_POnSurf>> myPOnS2;
0107 };
0108
0109 #endif