File indexing completed on 2026-09-12 09:17:48
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 bool SingularOnUMin(const occ::handle<Adaptor3d_Surface>& S);
0037
0038 static bool SingularOnUMax(const occ::handle<Adaptor3d_Surface>& S);
0039
0040 static bool SingularOnVMin(const occ::handle<Adaptor3d_Surface>& S);
0041
0042 static bool SingularOnVMax(const occ::handle<Adaptor3d_Surface>& S);
0043
0044 Standard_EXPORT static int NbSamplesU(const occ::handle<Adaptor3d_Surface>& S,
0045 const double u1,
0046 const double u2);
0047
0048 Standard_EXPORT static int NbSamplesV(const occ::handle<Adaptor3d_Surface>& S,
0049 const double v1,
0050 const double v2);
0051
0052 Standard_EXPORT int NbSamplePoints(const occ::handle<Adaptor3d_Surface>& S);
0053
0054 Standard_EXPORT void SamplePoint(const occ::handle<Adaptor3d_Surface>& S,
0055 const int Index,
0056 double& U,
0057 double& V) const;
0058
0059
0060
0061
0062
0063
0064 Standard_EXPORT static bool HasBeenSeen(const occ::handle<Adaptor2d_Curve2d>& C);
0065
0066
0067
0068
0069 Standard_EXPORT static int NbSamplesOnArc(const occ::handle<Adaptor2d_Curve2d>& A);
0070
0071
0072
0073
0074
0075 Standard_EXPORT static void Bounds(const occ::handle<Adaptor2d_Curve2d>& C,
0076 double& Ufirst,
0077 double& Ulast);
0078
0079
0080
0081
0082
0083
0084
0085 Standard_EXPORT static bool Project(const occ::handle<Adaptor2d_Curve2d>& C,
0086 const gp_Pnt2d& P,
0087 double& Paramproj,
0088 gp_Pnt2d& Ptproj);
0089
0090
0091
0092
0093
0094 Standard_EXPORT static double Tolerance(const occ::handle<Adaptor3d_HVertex>& V,
0095 const occ::handle<Adaptor2d_Curve2d>& C);
0096
0097
0098 Standard_EXPORT static double Parameter(const occ::handle<Adaptor3d_HVertex>& V,
0099 const occ::handle<Adaptor2d_Curve2d>& C);
0100
0101
0102 Standard_EXPORT static int NbPoints(const occ::handle<Adaptor2d_Curve2d>& C);
0103
0104
0105
0106
0107 Standard_EXPORT static void Value(const occ::handle<Adaptor2d_Curve2d>& C,
0108 const int Index,
0109 gp_Pnt& Pt,
0110 double& Tol,
0111 double& U);
0112
0113
0114
0115 Standard_EXPORT static bool IsVertex(const occ::handle<Adaptor2d_Curve2d>& C, const int Index);
0116
0117
0118
0119 Standard_EXPORT static void Vertex(const occ::handle<Adaptor2d_Curve2d>& C,
0120 const int Index,
0121 occ::handle<Adaptor3d_HVertex>& V);
0122
0123
0124
0125 Standard_EXPORT static int NbSegments(const occ::handle<Adaptor2d_Curve2d>& C);
0126
0127
0128
0129
0130
0131
0132
0133 Standard_EXPORT static bool HasFirstPoint(const occ::handle<Adaptor2d_Curve2d>& C,
0134 const int Index,
0135 int& IndFirst);
0136
0137
0138
0139
0140
0141
0142
0143 Standard_EXPORT static bool HasLastPoint(const occ::handle<Adaptor2d_Curve2d>& C,
0144 const int Index,
0145 int& IndLast);
0146
0147
0148
0149 Standard_EXPORT static bool IsAllSolution(const occ::handle<Adaptor2d_Curve2d>& C);
0150
0151 private:
0152 double uinf;
0153 double vinf;
0154 double usup;
0155 double vsup;
0156 };
0157
0158 #include <IntPatch_HInterTool.lxx>
0159
0160 #endif