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_ExtPExtS_HeaderFile
0018 #define _Extrema_ExtPExtS_HeaderFile
0019
0020 #include <Extrema_GenExtPS.hxx>
0021 #include <Extrema_FuncPSNorm.hxx>
0022 #include <Extrema_POnSurf.hxx>
0023 #include <GeomAdaptor_SurfaceOfLinearExtrusion.hxx>
0024 #include <gp_Ax2.hxx>
0025 #include <gp_Vec.hxx>
0026
0027 DEFINE_STANDARD_HANDLE(Extrema_ExtPExtS, Standard_Transient)
0028
0029
0030
0031
0032 class Extrema_ExtPExtS : public Standard_Transient
0033 {
0034
0035 public:
0036
0037
0038 Standard_EXPORT Extrema_ExtPExtS();
0039
0040
0041
0042 Standard_EXPORT Extrema_ExtPExtS(const gp_Pnt& P, const Handle(GeomAdaptor_SurfaceOfLinearExtrusion)& S, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real TolU, const Standard_Real TolV);
0043
0044
0045
0046 Standard_EXPORT Extrema_ExtPExtS(const gp_Pnt& P, const Handle(GeomAdaptor_SurfaceOfLinearExtrusion)& S, const Standard_Real TolU, const Standard_Real TolV);
0047
0048
0049 Standard_EXPORT void Initialize (const Handle(GeomAdaptor_SurfaceOfLinearExtrusion)& S, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup, const Standard_Real TolU, const Standard_Real TolV);
0050
0051 Standard_EXPORT void Perform (const gp_Pnt& P);
0052
0053
0054 Standard_EXPORT Standard_Boolean IsDone() const;
0055
0056
0057 Standard_EXPORT Standard_Integer NbExt() const;
0058
0059
0060 Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
0061
0062
0063 Standard_EXPORT const Extrema_POnSurf& Point (const Standard_Integer N) const;
0064
0065
0066
0067
0068 DEFINE_STANDARD_RTTIEXT(Extrema_ExtPExtS,Standard_Transient)
0069
0070 protected:
0071
0072
0073
0074
0075 private:
0076
0077
0078 Standard_EXPORT void MakePreciser (Standard_Real& U, const gp_Pnt& P, const Standard_Boolean isMin, const gp_Ax2& OrtogSection) const;
0079
0080 Standard_Real myuinf;
0081 Standard_Real myusup;
0082 Standard_Real mytolu;
0083 Standard_Real myvinf;
0084 Standard_Real myvsup;
0085 Standard_Real mytolv;
0086 Extrema_FuncPSNorm myF;
0087 Handle(Adaptor3d_Curve) myC;
0088 Handle(GeomAdaptor_SurfaceOfLinearExtrusion) myS;
0089 gp_Vec myDirection;
0090 gp_Ax2 myPosition;
0091 Extrema_GenExtPS myExtPS;
0092 Standard_Boolean myIsAnalyticallyComputable;
0093 Standard_Boolean myDone;
0094 Standard_Integer myNbExt;
0095 Standard_Real mySqDist[4];
0096 Extrema_POnSurf myPoint[4];
0097
0098
0099 };
0100
0101
0102
0103
0104
0105
0106
0107 #endif