File indexing completed on 2026-09-18 09:20:09
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Extrema_GenExtSS_HeaderFile
0018 #define _Extrema_GenExtSS_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <gp_Pnt.hxx>
0025 #include <NCollection_Array2.hxx>
0026 #include <NCollection_HArray2.hxx>
0027 #include <Extrema_FuncExtSS.hxx>
0028
0029 class Adaptor3d_Surface;
0030 class Extrema_POnSurf;
0031
0032
0033
0034
0035 class Extrema_GenExtSS
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040
0041 Standard_EXPORT Extrema_GenExtSS();
0042
0043
0044 Standard_EXPORT ~Extrema_GenExtSS();
0045
0046
0047
0048
0049
0050
0051
0052
0053 Standard_EXPORT Extrema_GenExtSS(const Adaptor3d_Surface& S1,
0054 const Adaptor3d_Surface& S2,
0055 const int NbU,
0056 const int NbV,
0057 const double Tol1,
0058 const double Tol2);
0059
0060
0061
0062
0063
0064
0065
0066
0067 Standard_EXPORT Extrema_GenExtSS(const Adaptor3d_Surface& S1,
0068 const Adaptor3d_Surface& S2,
0069 const int NbU,
0070 const int NbV,
0071 const double U1min,
0072 const double U1sup,
0073 const double V1min,
0074 const double V1sup,
0075 const double U2min,
0076 const double U2sup,
0077 const double V2min,
0078 const double V2sup,
0079 const double Tol1,
0080 const double Tol2);
0081
0082 Standard_EXPORT void Initialize(const Adaptor3d_Surface& S2,
0083 const int NbU,
0084 const int NbV,
0085 const double Tol2);
0086
0087 Standard_EXPORT void Initialize(const Adaptor3d_Surface& S2,
0088 const int NbU,
0089 const int NbV,
0090 const double U2min,
0091 const double U2sup,
0092 const double V2min,
0093 const double V2sup,
0094 const double Tol2);
0095
0096
0097
0098
0099 Standard_EXPORT void Perform(const Adaptor3d_Surface& S1, const double Tol1);
0100
0101
0102
0103
0104 Standard_EXPORT void Perform(const Adaptor3d_Surface& S1,
0105 const double U1min,
0106 const double U1sup,
0107 const double V1min,
0108 const double V1sup,
0109 const double Tol1);
0110
0111
0112 Standard_EXPORT bool IsDone() const;
0113
0114
0115 Standard_EXPORT int NbExt() const;
0116
0117
0118 Standard_EXPORT double SquareDistance(const int N) const;
0119
0120
0121 Standard_EXPORT const Extrema_POnSurf& PointOnS1(const int N) const;
0122
0123
0124 Standard_EXPORT const Extrema_POnSurf& PointOnS2(const int N) const;
0125
0126 private:
0127
0128 Extrema_GenExtSS(const Extrema_GenExtSS&) = delete;
0129 Extrema_GenExtSS& operator=(const Extrema_GenExtSS&) = delete;
0130
0131 private:
0132 bool myDone;
0133 bool myInit;
0134 double myu1min;
0135 double myu1sup;
0136 double myv1min;
0137 double myv1sup;
0138 double myu2min;
0139 double myu2sup;
0140 double myv2min;
0141 double myv2sup;
0142 int myusample;
0143 int myvsample;
0144 occ::handle<NCollection_HArray2<gp_Pnt>> mypoints1;
0145 occ::handle<NCollection_HArray2<gp_Pnt>> mypoints2;
0146 double mytol1;
0147 double mytol2;
0148 Extrema_FuncExtSS myF;
0149 const Adaptor3d_Surface* myS2;
0150 };
0151
0152 #endif