File indexing completed on 2026-06-06 08:35:55
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 <TColStd_HArray1OfReal.hxx>
0027 #include <Extrema_HArray1OfPOnSurf.hxx>
0028 #include <Standard_Real.hxx>
0029
0030 class gp_Pln;
0031 class gp_Sphere;
0032 class gp_Cylinder;
0033 class gp_Cone;
0034 class gp_Torus;
0035 class Extrema_POnSurf;
0036
0037
0038
0039
0040 class Extrema_ExtElSS
0041 {
0042 public:
0043 DEFINE_STANDARD_ALLOC
0044
0045 Standard_EXPORT Extrema_ExtElSS();
0046
0047
0048
0049 Standard_EXPORT Extrema_ExtElSS(const gp_Pln& S1, const gp_Pln& S2);
0050
0051 Standard_EXPORT void Perform(const gp_Pln& S1, const gp_Pln& S2);
0052
0053
0054
0055 Standard_EXPORT Extrema_ExtElSS(const gp_Pln& S1, const gp_Sphere& S2);
0056
0057 Standard_EXPORT void Perform(const gp_Pln& S1, const gp_Sphere& S2);
0058
0059
0060
0061 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Sphere& S2);
0062
0063 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Sphere& S2);
0064
0065
0066
0067 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Cylinder& S2);
0068
0069 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Cylinder& S2);
0070
0071
0072
0073 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Cone& S2);
0074
0075 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Cone& S2);
0076
0077
0078
0079 Standard_EXPORT Extrema_ExtElSS(const gp_Sphere& S1, const gp_Torus& S2);
0080
0081 Standard_EXPORT void Perform(const gp_Sphere& S1, const gp_Torus& S2);
0082
0083
0084 Standard_EXPORT Standard_Boolean IsDone() const;
0085
0086
0087 Standard_EXPORT Standard_Boolean IsParallel() const;
0088
0089
0090 Standard_EXPORT Standard_Integer NbExt() const;
0091
0092
0093 Standard_EXPORT Standard_Real SquareDistance(const Standard_Integer N = 1) const;
0094
0095
0096
0097 Standard_EXPORT void Points(const Standard_Integer N,
0098 Extrema_POnSurf& P1,
0099 Extrema_POnSurf& P2) const;
0100
0101 protected:
0102 private:
0103 Standard_Boolean myDone;
0104 Standard_Boolean myIsPar;
0105 Standard_Integer myNbExt;
0106 Handle(TColStd_HArray1OfReal) mySqDist;
0107 Handle(Extrema_HArray1OfPOnSurf) myPOnS1;
0108 Handle(Extrema_HArray1OfPOnSurf) myPOnS2;
0109 };
0110
0111 #endif