File indexing completed on 2026-10-03 09:16:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Intf_Tool_HeaderFile
0018 #define _Intf_Tool_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 class gp_Lin2d;
0025 class Bnd_Box2d;
0026 class gp_Hypr2d;
0027 class gp_Parab2d;
0028 class gp_Lin;
0029 class Bnd_Box;
0030 class gp_Hypr;
0031 class gp_Parab;
0032
0033
0034
0035 class Intf_Tool
0036 {
0037 public:
0038 DEFINE_STANDARD_ALLOC
0039
0040 Standard_EXPORT Intf_Tool();
0041
0042 Standard_EXPORT void Lin2dBox(const gp_Lin2d& theLin2d,
0043 const Bnd_Box2d& bounding,
0044 Bnd_Box2d& boxLin);
0045
0046 Standard_EXPORT void Hypr2dBox(const gp_Hypr2d& theHypr2d,
0047 const Bnd_Box2d& bounding,
0048 Bnd_Box2d& boxHypr);
0049
0050 Standard_EXPORT void Parab2dBox(const gp_Parab2d& theParab2d,
0051 const Bnd_Box2d& bounding,
0052 Bnd_Box2d& boxHypr);
0053
0054 Standard_EXPORT void LinBox(const gp_Lin& theLin, const Bnd_Box& bounding, Bnd_Box& boxLin);
0055
0056 Standard_EXPORT void HyprBox(const gp_Hypr& theHypr, const Bnd_Box& bounding, Bnd_Box& boxHypr);
0057
0058 Standard_EXPORT void ParabBox(const gp_Parab& theParab,
0059 const Bnd_Box& bounding,
0060 Bnd_Box& boxHypr);
0061
0062 Standard_EXPORT int NbSegments() const;
0063
0064 Standard_EXPORT double BeginParam(const int SegmentNum) const;
0065
0066 Standard_EXPORT double EndParam(const int SegmentNum) const;
0067
0068 private:
0069 Standard_EXPORT int Inters2d(const gp_Hypr2d& theCurve, const Bnd_Box2d& Domain);
0070
0071 Standard_EXPORT int Inters2d(const gp_Parab2d& theCurve, const Bnd_Box2d& Domain);
0072
0073 Standard_EXPORT int Inters3d(const gp_Hypr& theCurve, const Bnd_Box& Domain);
0074
0075 Standard_EXPORT int Inters3d(const gp_Parab& theCurve, const Bnd_Box& Domain);
0076
0077 int nbSeg;
0078 double beginOnCurve[6];
0079 double endOnCurve[6];
0080 int bord[12];
0081 double xint[12];
0082 double yint[12];
0083 double zint[12];
0084 double parint[12];
0085 };
0086
0087 #endif