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