File indexing completed on 2026-06-14 08:29:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntPatch_HInterTool_HeaderFile
0018 #define _IntPatch_HInterTool_HeaderFile
0019
0020 #include <Adaptor2d_Curve2d.hxx>
0021 #include <Adaptor3d_Surface.hxx>
0022
0023 class gp_Pnt2d;
0024 class Adaptor3d_HVertex;
0025 class gp_Pnt;
0026
0027
0028
0029 class IntPatch_HInterTool
0030 {
0031 public:
0032 DEFINE_STANDARD_ALLOC
0033
0034 Standard_EXPORT IntPatch_HInterTool();
0035
0036 static Standard_Boolean SingularOnUMin(const Handle(Adaptor3d_Surface)& S);
0037
0038 static Standard_Boolean SingularOnUMax(const Handle(Adaptor3d_Surface)& S);
0039
0040 static Standard_Boolean SingularOnVMin(const Handle(Adaptor3d_Surface)& S);
0041
0042 static Standard_Boolean SingularOnVMax(const Handle(Adaptor3d_Surface)& S);
0043
0044 Standard_EXPORT static Standard_Integer NbSamplesU(const Handle(Adaptor3d_Surface)& S,
0045 const Standard_Real u1,
0046 const Standard_Real u2);
0047
0048 Standard_EXPORT static Standard_Integer NbSamplesV(const Handle(Adaptor3d_Surface)& S,
0049 const Standard_Real v1,
0050 const Standard_Real v2);
0051
0052 Standard_EXPORT Standard_Integer NbSamplePoints(const Handle(Adaptor3d_Surface)& S);
0053
0054 Standard_EXPORT void SamplePoint(const Handle(Adaptor3d_Surface)& S,
0055 const Standard_Integer Index,
0056 Standard_Real& U,
0057 Standard_Real& V) const;
0058
0059
0060
0061
0062
0063
0064 Standard_EXPORT static Standard_Boolean HasBeenSeen(const Handle(Adaptor2d_Curve2d)& C);
0065
0066
0067
0068
0069 Standard_EXPORT static Standard_Integer NbSamplesOnArc(const Handle(Adaptor2d_Curve2d)& A);
0070
0071
0072
0073
0074
0075 Standard_EXPORT static void Bounds(const Handle(Adaptor2d_Curve2d)& C,
0076 Standard_Real& Ufirst,
0077 Standard_Real& Ulast);
0078
0079
0080
0081
0082
0083
0084
0085 Standard_EXPORT static Standard_Boolean Project(const Handle(Adaptor2d_Curve2d)& C,
0086 const gp_Pnt2d& P,
0087 Standard_Real& Paramproj,
0088 gp_Pnt2d& Ptproj);
0089
0090
0091
0092
0093
0094 Standard_EXPORT static Standard_Real Tolerance(const Handle(Adaptor3d_HVertex)& V,
0095 const Handle(Adaptor2d_Curve2d)& C);
0096
0097
0098 Standard_EXPORT static Standard_Real Parameter(const Handle(Adaptor3d_HVertex)& V,
0099 const Handle(Adaptor2d_Curve2d)& C);
0100
0101
0102 Standard_EXPORT static Standard_Integer NbPoints(const Handle(Adaptor2d_Curve2d)& C);
0103
0104
0105
0106
0107 Standard_EXPORT static void Value(const Handle(Adaptor2d_Curve2d)& C,
0108 const Standard_Integer Index,
0109 gp_Pnt& Pt,
0110 Standard_Real& Tol,
0111 Standard_Real& U);
0112
0113
0114
0115 Standard_EXPORT static Standard_Boolean IsVertex(const Handle(Adaptor2d_Curve2d)& C,
0116 const Standard_Integer Index);
0117
0118
0119
0120 Standard_EXPORT static void Vertex(const Handle(Adaptor2d_Curve2d)& C,
0121 const Standard_Integer Index,
0122 Handle(Adaptor3d_HVertex)& V);
0123
0124
0125
0126 Standard_EXPORT static Standard_Integer NbSegments(const Handle(Adaptor2d_Curve2d)& C);
0127
0128
0129
0130
0131
0132
0133
0134 Standard_EXPORT static Standard_Boolean HasFirstPoint(const Handle(Adaptor2d_Curve2d)& C,
0135 const Standard_Integer Index,
0136 Standard_Integer& IndFirst);
0137
0138
0139
0140
0141
0142
0143
0144 Standard_EXPORT static Standard_Boolean HasLastPoint(const Handle(Adaptor2d_Curve2d)& C,
0145 const Standard_Integer Index,
0146 Standard_Integer& IndLast);
0147
0148
0149
0150 Standard_EXPORT static Standard_Boolean IsAllSolution(const Handle(Adaptor2d_Curve2d)& C);
0151
0152 protected:
0153 private:
0154 Standard_Real uinf;
0155 Standard_Real vinf;
0156 Standard_Real usup;
0157 Standard_Real vsup;
0158 };
0159
0160 #include <IntPatch_HInterTool.lxx>
0161
0162 #endif