File indexing completed on 2025-01-18 10:03:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef _BRepExtrema_ExtPF_HeaderFile
0015 #define _BRepExtrema_ExtPF_HeaderFile
0016
0017 #include <Extrema_ExtPS.hxx>
0018 #include <TColStd_SequenceOfReal.hxx>
0019 #include <Extrema_SequenceOfPOnSurf.hxx>
0020 #include <BRepAdaptor_Surface.hxx>
0021 #include <Extrema_ExtFlag.hxx>
0022 #include <Extrema_ExtAlgo.hxx>
0023
0024 class TopoDS_Vertex;
0025 class TopoDS_Face;
0026
0027
0028 class BRepExtrema_ExtPF
0029 {
0030 public:
0031
0032 DEFINE_STANDARD_ALLOC
0033
0034 BRepExtrema_ExtPF()
0035 {}
0036
0037 Standard_EXPORT BRepExtrema_ExtPF(const TopoDS_Vertex& TheVertex,const TopoDS_Face& TheFace,
0038 const Extrema_ExtFlag TheFlag = Extrema_ExtFlag_MINMAX,
0039 const Extrema_ExtAlgo TheAlgo = Extrema_ExtAlgo_Grad);
0040
0041 Standard_EXPORT void Initialize(const TopoDS_Face& TheFace,
0042 const Extrema_ExtFlag TheFlag = Extrema_ExtFlag_MINMAX,
0043 const Extrema_ExtAlgo TheAlgo = Extrema_ExtAlgo_Grad);
0044
0045
0046
0047 Standard_EXPORT void Perform(const TopoDS_Vertex& TheVertex,const TopoDS_Face& TheFace);
0048
0049 Standard_Boolean IsDone() const
0050 {
0051 return myExtPS.IsDone();
0052 }
0053
0054 Standard_Integer NbExt() const
0055 {
0056 return myPoints.Length();
0057 }
0058
0059 Standard_Real SquareDistance(const Standard_Integer N) const
0060 {
0061 return mySqDist.Value(N);
0062 }
0063
0064 void Parameter(const Standard_Integer N,Standard_Real& U,Standard_Real& V) const
0065 {
0066 myPoints.Value(N).Parameter(U, V);
0067 }
0068
0069 gp_Pnt Point(const Standard_Integer N) const
0070 {
0071 return myPoints.Value(N).Value();
0072 }
0073
0074 void SetFlag(const Extrema_ExtFlag F)
0075 {
0076 myExtPS.SetFlag(F);
0077 }
0078
0079 void SetAlgo(const Extrema_ExtAlgo A)
0080 {
0081 myExtPS.SetAlgo(A);
0082 }
0083
0084 private:
0085
0086 Extrema_ExtPS myExtPS;
0087 TColStd_SequenceOfReal mySqDist;
0088 Extrema_SequenceOfPOnSurf myPoints;
0089 BRepAdaptor_Surface mySurf;
0090 };
0091
0092 #endif