File indexing completed on 2025-01-18 10:03:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _GeomAPI_ProjectPointOnSurf_HeaderFile
0018 #define _GeomAPI_ProjectPointOnSurf_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Integer.hxx>
0025 #include <Extrema_ExtPS.hxx>
0026 #include <GeomAdaptor_Surface.hxx>
0027 #include <Extrema_ExtAlgo.hxx>
0028 #include <Extrema_ExtFlag.hxx>
0029 class gp_Pnt;
0030 class Geom_Surface;
0031
0032
0033
0034
0035
0036 class GeomAPI_ProjectPointOnSurf
0037 {
0038 public:
0039
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043
0044
0045 Standard_EXPORT GeomAPI_ProjectPointOnSurf();
0046
0047
0048
0049 Standard_EXPORT GeomAPI_ProjectPointOnSurf(const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0050
0051
0052
0053
0054
0055
0056 Standard_EXPORT GeomAPI_ProjectPointOnSurf(const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Standard_Real Tolerance, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0057
0058 Standard_EXPORT GeomAPI_ProjectPointOnSurf(const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real Tolerance, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0059
0060
0061
0062 Standard_EXPORT GeomAPI_ProjectPointOnSurf(const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0063
0064 Standard_EXPORT void Init (const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Standard_Real Tolerance, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0065
0066
0067
0068
0069 Standard_EXPORT void Init (const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0070
0071 Standard_EXPORT void Init (const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real Tolerance, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0072
0073
0074
0075
0076 Standard_EXPORT void Init (const gp_Pnt& P, const Handle(Geom_Surface)& Surface, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0077
0078 Standard_EXPORT void Init (const Handle(Geom_Surface)& Surface, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Standard_Real Tolerance, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0079
0080 Standard_EXPORT void Init (const Handle(Geom_Surface)& Surface, const Standard_Real Umin, const Standard_Real Usup, const Standard_Real Vmin, const Standard_Real Vsup, const Extrema_ExtAlgo Algo = Extrema_ExtAlgo_Grad);
0081
0082
0083
0084 void SetExtremaAlgo(const Extrema_ExtAlgo theAlgo)
0085 {
0086 myExtPS.SetAlgo(theAlgo);
0087 }
0088
0089
0090
0091 void SetExtremaFlag(const Extrema_ExtFlag theExtFlag)
0092 {
0093 myExtPS.SetFlag(theExtFlag);
0094 }
0095
0096
0097 Standard_EXPORT void Perform (const gp_Pnt& P);
0098
0099 Standard_EXPORT Standard_Boolean IsDone() const;
0100
0101
0102
0103 Standard_EXPORT Standard_Integer NbPoints() const;
0104 Standard_EXPORT operator Standard_Integer() const;
0105
0106
0107
0108
0109
0110
0111 Standard_EXPORT gp_Pnt Point (const Standard_Integer Index) const;
0112
0113
0114
0115
0116
0117
0118
0119 Standard_EXPORT void Parameters (const Standard_Integer Index, Standard_Real& U, Standard_Real& V) const;
0120
0121
0122
0123
0124
0125
0126
0127 Standard_EXPORT Standard_Real Distance (const Standard_Integer Index) const;
0128
0129
0130
0131
0132
0133 Standard_EXPORT gp_Pnt NearestPoint() const;
0134 Standard_EXPORT operator gp_Pnt() const;
0135
0136
0137
0138
0139
0140 Standard_EXPORT void LowerDistanceParameters (Standard_Real& U, Standard_Real& V) const;
0141
0142
0143
0144
0145
0146 Standard_EXPORT Standard_Real LowerDistance() const;
0147 Standard_EXPORT operator Standard_Real() const;
0148
0149
0150 const Extrema_ExtPS& Extrema() const;
0151
0152 private:
0153
0154
0155 Standard_EXPORT void Init();
0156
0157
0158 Standard_Boolean myIsDone;
0159 Standard_Integer myIndex;
0160 Extrema_ExtPS myExtPS;
0161 GeomAdaptor_Surface myGeomAdaptor;
0162
0163
0164 };
0165
0166
0167 #include <GeomAPI_ProjectPointOnSurf.lxx>
0168
0169
0170
0171
0172
0173 #endif