File indexing completed on 2025-01-18 10:03:28
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Extrema_ExtCS_HeaderFile
0018 #define _Extrema_ExtCS_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <Extrema_ExtElCS.hxx>
0024 #include <Extrema_SequenceOfPOnSurf.hxx>
0025 #include <Extrema_SequenceOfPOnCurv.hxx>
0026 #include <TColStd_SequenceOfReal.hxx>
0027 #include <GeomAbs_SurfaceType.hxx>
0028
0029 class Adaptor3d_Curve;
0030 class Adaptor3d_Surface;
0031 class Extrema_POnCurv;
0032 class Extrema_POnSurf;
0033 class gp_Pnt;
0034
0035
0036
0037
0038
0039 class Extrema_ExtCS
0040 {
0041 public:
0042
0043 DEFINE_STANDARD_ALLOC
0044
0045
0046 Standard_EXPORT Extrema_ExtCS();
0047
0048
0049 Standard_EXPORT Extrema_ExtCS(const Adaptor3d_Curve& C, const Adaptor3d_Surface& S, const Standard_Real TolC, const Standard_Real TolS);
0050
0051
0052
0053
0054 Standard_EXPORT Extrema_ExtCS(const Adaptor3d_Curve& C, const Adaptor3d_Surface& S, const Standard_Real UCinf, const Standard_Real UCsup, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup, const Standard_Real TolC, const Standard_Real TolS);
0055
0056
0057 Standard_EXPORT void Initialize (const Adaptor3d_Surface& S, const Standard_Real TolC, const Standard_Real TolS);
0058
0059
0060 Standard_EXPORT void Initialize (const Adaptor3d_Surface& S, const Standard_Real Uinf, const Standard_Real Usup, const Standard_Real Vinf, const Standard_Real Vsup, const Standard_Real TolC, const Standard_Real TolS);
0061
0062
0063
0064
0065 Standard_EXPORT void Perform (const Adaptor3d_Curve& C, const Standard_Real Uinf, const Standard_Real Usup);
0066
0067
0068 Standard_EXPORT Standard_Boolean IsDone() const;
0069
0070
0071 Standard_EXPORT Standard_Boolean IsParallel() const;
0072
0073
0074 Standard_EXPORT Standard_Integer NbExt() const;
0075
0076
0077 Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N) const;
0078
0079
0080 Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv& P1, Extrema_POnSurf& P2) const;
0081
0082 private:
0083
0084 Standard_EXPORT Standard_Boolean AddSolution (const Adaptor3d_Curve& Curve, const Standard_Real T, const Standard_Real U, const Standard_Real V, const gp_Pnt& PointOnCurve, const gp_Pnt& PointOnSurf, const Standard_Real SquareDist);
0085
0086 private:
0087
0088
0089 Extrema_ExtCS (Extrema_ExtCS& ) Standard_DELETE;
0090 Extrema_ExtCS& operator= (Extrema_ExtCS& ) Standard_DELETE;
0091
0092 private:
0093
0094 const Adaptor3d_Surface* myS;
0095 Standard_Boolean myDone;
0096 Standard_Boolean myIsPar;
0097 Extrema_ExtElCS myExtElCS;
0098 Extrema_SequenceOfPOnSurf myPOnS;
0099 Extrema_SequenceOfPOnCurv myPOnC;
0100 Standard_Real myuinf;
0101 Standard_Real myusup;
0102 Standard_Real myvinf;
0103 Standard_Real myvsup;
0104 Standard_Real mytolC;
0105 Standard_Real mytolS;
0106 Standard_Real myucinf;
0107 Standard_Real myucsup;
0108 TColStd_SequenceOfReal mySqDist;
0109 GeomAbs_SurfaceType myStype;
0110
0111 };
0112
0113 #endif