File indexing completed on 2026-06-19 08:28:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Geom2dInt_ExactIntersectionPointOfTheIntPCurvePCurveOfGInter_HeaderFile
0018 #define _Geom2dInt_ExactIntersectionPointOfTheIntPCurvePCurveOfGInter_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Boolean.hxx>
0025 #include <Geom2dInt_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfGInter.hxx>
0026 #include <math_Vector.hxx>
0027 class Adaptor2d_Curve2d;
0028 class Geom2dInt_Geom2dCurveTool;
0029 class Geom2dInt_TheProjPCurOfGInter;
0030 class Geom2dInt_TheIntPCurvePCurveOfGInter;
0031 class Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter;
0032 class Geom2dInt_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfGInter;
0033
0034 class Geom2dInt_ExactIntersectionPointOfTheIntPCurvePCurveOfGInter
0035 {
0036 public:
0037 DEFINE_STANDARD_ALLOC
0038
0039 Standard_EXPORT Geom2dInt_ExactIntersectionPointOfTheIntPCurvePCurveOfGInter(
0040 const Adaptor2d_Curve2d& C1,
0041 const Adaptor2d_Curve2d& C2,
0042 const Standard_Real Tol);
0043
0044 Standard_EXPORT void Perform(const Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter& Poly1,
0045 const Geom2dInt_ThePolygon2dOfTheIntPCurvePCurveOfGInter& Poly2,
0046 Standard_Integer& NumSegOn1,
0047 Standard_Integer& NumSegOn2,
0048 Standard_Real& ParamOnSeg1,
0049 Standard_Real& ParamOnSeg2);
0050
0051 Standard_EXPORT void Perform(const Standard_Real Uo,
0052 const Standard_Real Vo,
0053 const Standard_Real UInf,
0054 const Standard_Real VInf,
0055 const Standard_Real USup,
0056 const Standard_Real VSup);
0057
0058 Standard_EXPORT Standard_Integer NbRoots() const;
0059
0060 Standard_EXPORT void Roots(Standard_Real& U, Standard_Real& V);
0061
0062 Standard_EXPORT Standard_Boolean AnErrorOccurred() const;
0063
0064 protected:
0065 private:
0066 Standard_EXPORT void MathPerform();
0067
0068 Standard_Boolean done;
0069 Standard_Integer nbroots;
0070 Standard_Real myTol;
0071 Geom2dInt_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfGInter FctDist;
0072 math_Vector ToleranceVector;
0073 math_Vector BInfVector;
0074 math_Vector BSupVector;
0075 math_Vector StartingPoint;
0076 math_Vector Root;
0077 Standard_Boolean anErrorOccurred;
0078 };
0079
0080 #endif