File indexing completed on 2025-01-18 10:03:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Extrema_GenExtCS_HeaderFile
0018 #define _Extrema_GenExtCS_HeaderFile
0019
0020 #include <Extrema_FuncExtCS.hxx>
0021 #include <TColgp_HArray2OfPnt.hxx>
0022
0023 class Adaptor3d_Curve;
0024 class Adaptor3d_Surface;
0025 class Extrema_POnCurv;
0026 class Extrema_POnSurf;
0027
0028
0029
0030
0031
0032 class Extrema_GenExtCS
0033 {
0034 public:
0035
0036 DEFINE_STANDARD_ALLOC
0037
0038
0039 Standard_EXPORT Extrema_GenExtCS();
0040
0041
0042 Standard_EXPORT ~Extrema_GenExtCS();
0043
0044
0045
0046
0047
0048
0049
0050
0051 Standard_EXPORT Extrema_GenExtCS(const Adaptor3d_Curve& C, const Adaptor3d_Surface& S, const Standard_Integer NbT, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real Tol1, const Standard_Real Tol2);
0052
0053
0054
0055
0056
0057
0058
0059
0060 Standard_EXPORT Extrema_GenExtCS(const Adaptor3d_Curve& C, const Adaptor3d_Surface& S, const Standard_Integer NbT, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real tmin, const Standard_Real tsup, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real Tol1, const Standard_Real Tol2);
0061
0062 Standard_EXPORT void Initialize (const Adaptor3d_Surface& S, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real Tol2);
0063
0064 Standard_EXPORT void Initialize (const Adaptor3d_Surface& S, const Standard_Integer NbU, const Standard_Integer NbV, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real Tol2);
0065
0066
0067
0068
0069 Standard_EXPORT void Perform (const Adaptor3d_Curve& C, const Standard_Integer NbT, const Standard_Real Tol1);
0070
0071
0072
0073
0074 Standard_EXPORT void Perform (const Adaptor3d_Curve& C, const Standard_Integer NbT, const Standard_Real tmin, const Standard_Real tsup, const Standard_Real Tol1);
0075
0076
0077 Standard_EXPORT Standard_Boolean IsDone() const;
0078
0079
0080 Standard_EXPORT Standard_Integer NbExt() const;
0081
0082
0083 Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
0084
0085
0086 Standard_EXPORT const Extrema_POnCurv& PointOnCurve (const Standard_Integer N) const;
0087
0088
0089 Standard_EXPORT const Extrema_POnSurf& PointOnSurface (const Standard_Integer N) const;
0090
0091 private:
0092
0093 Standard_EXPORT void GlobMinGenCS(const Adaptor3d_Curve& theC,
0094 const Standard_Integer theNbParticles,
0095 const math_Vector& theTUVinf,
0096 const math_Vector& theTUVsup,
0097 math_Vector& theTUV);
0098
0099 Standard_EXPORT void GlobMinConicS(const Adaptor3d_Curve& theC,
0100 const Standard_Integer theNbParticles,
0101 const math_Vector& theTUVinf,
0102 const math_Vector& theTUVsup,
0103 math_Vector& theTUV);
0104
0105 Standard_EXPORT void GlobMinCQuadric(const Adaptor3d_Curve& theC,
0106 const Standard_Integer theNbParticles,
0107 const math_Vector& theTUVinf,
0108 const math_Vector& theTUVsup,
0109 math_Vector& theTUV);
0110
0111 private:
0112
0113
0114 Extrema_GenExtCS (const Extrema_GenExtCS& ) Standard_DELETE;
0115 Extrema_GenExtCS& operator= (const Extrema_GenExtCS& ) Standard_DELETE;
0116
0117 private:
0118
0119 Standard_Boolean myDone;
0120 Standard_Real mytmin;
0121 Standard_Real mytsup;
0122 Standard_Real myumin;
0123 Standard_Real myusup;
0124 Standard_Real myvmin;
0125 Standard_Real myvsup;
0126 Standard_Integer mytsample;
0127 Standard_Integer myusample;
0128 Standard_Integer myvsample;
0129 Standard_Real mytol1;
0130 Standard_Real mytol2;
0131 Extrema_FuncExtCS myF;
0132 const Adaptor3d_Surface* myS;
0133 Handle(TColgp_HArray2OfPnt) mySurfPnts;
0134
0135 };
0136
0137 #endif