File indexing completed on 2025-01-18 10:03:51
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _HLRBRep_CInter_HeaderFile
0018 #define _HLRBRep_CInter_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <IntCurve_IntConicConic.hxx>
0024 #include <HLRBRep_TheIntConicCurveOfCInter.hxx>
0025 #include <HLRBRep_TheIntPCurvePCurveOfCInter.hxx>
0026 #include <IntRes2d_Intersection.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <TColStd_Array1OfReal.hxx>
0029 class Standard_ConstructionError;
0030 class HLRBRep_CurveTool;
0031 class HLRBRep_TheProjPCurOfCInter;
0032 class HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter;
0033 class HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter;
0034 class HLRBRep_TheIntConicCurveOfCInter;
0035 class HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter;
0036 class HLRBRep_IntConicCurveOfCInter;
0037 class HLRBRep_TheIntPCurvePCurveOfCInter;
0038 class HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter;
0039 class HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter;
0040 class HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter;
0041 class IntRes2d_Domain;
0042
0043
0044
0045 class HLRBRep_CInter : public IntRes2d_Intersection
0046 {
0047 public:
0048
0049 DEFINE_STANDARD_ALLOC
0050
0051
0052
0053 HLRBRep_CInter();
0054
0055
0056 HLRBRep_CInter(const Standard_Address& C, const Standard_Real TolConf, const Standard_Real Tol);
0057
0058
0059 HLRBRep_CInter(const Standard_Address& C, const IntRes2d_Domain& D, const Standard_Real TolConf, const Standard_Real Tol);
0060
0061
0062 HLRBRep_CInter(const Standard_Address& C1, const Standard_Address& C2, const Standard_Real TolConf, const Standard_Real Tol);
0063
0064
0065 HLRBRep_CInter(const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Address& C2, const Standard_Real TolConf, const Standard_Real Tol);
0066
0067
0068 HLRBRep_CInter(const Standard_Address& C1, const Standard_Address& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
0069
0070
0071 HLRBRep_CInter(const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Address& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
0072
0073
0074 Standard_EXPORT void Perform (const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Address& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
0075
0076
0077 void Perform (const Standard_Address& C1, const Standard_Address& C2, const Standard_Real TolConf, const Standard_Real Tol);
0078
0079
0080 Standard_EXPORT void Perform (const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Real TolConf, const Standard_Real Tol);
0081
0082
0083 Standard_EXPORT void Perform (const Standard_Address& C1, const Standard_Real TolConf, const Standard_Real Tol);
0084
0085
0086 void Perform (const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Address& C2, const Standard_Real TolConf, const Standard_Real Tol);
0087
0088
0089 void Perform (const Standard_Address& C1, const Standard_Address& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
0090
0091
0092 Standard_EXPORT IntRes2d_Domain ComputeDomain (const Standard_Address& C1, const Standard_Real TolDomain) const;
0093
0094
0095 Standard_EXPORT void SetMinNbSamples (const Standard_Integer theMinNbSamples);
0096 Standard_EXPORT Standard_Integer GetMinNbSamples () const;
0097
0098
0099 protected:
0100
0101
0102
0103
0104
0105 private:
0106
0107
0108
0109 Standard_EXPORT void InternalPerform (const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Address& C2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol, const Standard_Boolean Composite);
0110
0111
0112 Standard_EXPORT void InternalCompositePerform_noRecurs (const Standard_Integer NbInterC1, const Standard_Address& C1, const Standard_Integer NumInterC1, const TColStd_Array1OfReal& Tab1, const IntRes2d_Domain& D1, const Standard_Integer NbInterC2, const Standard_Address& C2, const Standard_Integer NumInterC2, const TColStd_Array1OfReal& Tab2, const IntRes2d_Domain& D2, const Standard_Real TolConf, const Standard_Real Tol);
0113
0114
0115 Standard_EXPORT void InternalCompositePerform (const Standard_Address& C1, const IntRes2d_Domain& D1, const Standard_Integer N1, const Standard_Integer NB1, const TColStd_Array1OfReal& Tab1, const Standard_Address& C2, const IntRes2d_Domain& D2, const Standard_Integer N2, const Standard_Integer NB2, const TColStd_Array1OfReal& Tab2, const Standard_Real TolConf, const Standard_Real Tol, const Standard_Boolean Composite);
0116
0117
0118 Standard_Real param1inf;
0119 Standard_Real param1sup;
0120 Standard_Real param2inf;
0121 Standard_Real param2sup;
0122 IntCurve_IntConicConic intconiconi;
0123 HLRBRep_TheIntConicCurveOfCInter intconicurv;
0124 HLRBRep_TheIntPCurvePCurveOfCInter intcurvcurv;
0125
0126
0127 };
0128
0129 #define TheCurve Standard_Address
0130 #define TheCurve_hxx <Standard_Address.hxx>
0131 #define TheCurveTool HLRBRep_CurveTool
0132 #define TheCurveTool_hxx <HLRBRep_CurveTool.hxx>
0133 #define IntCurve_TheProjPCur HLRBRep_TheProjPCurOfCInter
0134 #define IntCurve_TheProjPCur_hxx <HLRBRep_TheProjPCurOfCInter.hxx>
0135 #define IntCurve_TheCurveLocatorOfTheProjPCur HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter
0136 #define IntCurve_TheCurveLocatorOfTheProjPCur_hxx <HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter.hxx>
0137 #define IntCurve_TheLocateExtPCOfTheProjPCur HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter
0138 #define IntCurve_TheLocateExtPCOfTheProjPCur_hxx <HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter.hxx>
0139 #define IntCurve_TheCurveLocatorOfTheProjPCur HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter
0140 #define IntCurve_TheCurveLocatorOfTheProjPCur_hxx <HLRBRep_TheCurveLocatorOfTheProjPCurOfCInter.hxx>
0141 #define IntCurve_TheLocateExtPCOfTheProjPCur HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter
0142 #define IntCurve_TheLocateExtPCOfTheProjPCur_hxx <HLRBRep_TheLocateExtPCOfTheProjPCurOfCInter.hxx>
0143 #define IntCurve_TheIntConicCurve HLRBRep_TheIntConicCurveOfCInter
0144 #define IntCurve_TheIntConicCurve_hxx <HLRBRep_TheIntConicCurveOfCInter.hxx>
0145 #define IntCurve_TheIntersectorOfTheIntConicCurve HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter
0146 #define IntCurve_TheIntersectorOfTheIntConicCurve_hxx <HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter.hxx>
0147 #define IntCurve_TheIntersectorOfTheIntConicCurve HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter
0148 #define IntCurve_TheIntersectorOfTheIntConicCurve_hxx <HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter.hxx>
0149 #define IntCurve_IntConicCurve HLRBRep_IntConicCurveOfCInter
0150 #define IntCurve_IntConicCurve_hxx <HLRBRep_IntConicCurveOfCInter.hxx>
0151 #define IntCurve_TheIntPCurvePCurve HLRBRep_TheIntPCurvePCurveOfCInter
0152 #define IntCurve_TheIntPCurvePCurve_hxx <HLRBRep_TheIntPCurvePCurveOfCInter.hxx>
0153 #define IntCurve_ThePolygon2dOfTheIntPCurvePCurve HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter
0154 #define IntCurve_ThePolygon2dOfTheIntPCurvePCurve_hxx <HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter.hxx>
0155 #define IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter
0156 #define IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve_hxx <HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter.hxx>
0157 #define IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter
0158 #define IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve_hxx <HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter.hxx>
0159 #define IntCurve_ThePolygon2dOfTheIntPCurvePCurve HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter
0160 #define IntCurve_ThePolygon2dOfTheIntPCurvePCurve_hxx <HLRBRep_ThePolygon2dOfTheIntPCurvePCurveOfCInter.hxx>
0161 #define IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter
0162 #define IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve_hxx <HLRBRep_TheDistBetweenPCurvesOfTheIntPCurvePCurveOfCInter.hxx>
0163 #define IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter
0164 #define IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve_hxx <HLRBRep_ExactIntersectionPointOfTheIntPCurvePCurveOfCInter.hxx>
0165 #define IntCurve_IntCurveCurveGen HLRBRep_CInter
0166 #define IntCurve_IntCurveCurveGen_hxx <HLRBRep_CInter.hxx>
0167
0168 #include <IntCurve_IntCurveCurveGen.lxx>
0169
0170 #undef TheCurve
0171 #undef TheCurve_hxx
0172 #undef TheCurveTool
0173 #undef TheCurveTool_hxx
0174 #undef IntCurve_TheProjPCur
0175 #undef IntCurve_TheProjPCur_hxx
0176 #undef IntCurve_TheCurveLocatorOfTheProjPCur
0177 #undef IntCurve_TheCurveLocatorOfTheProjPCur_hxx
0178 #undef IntCurve_TheLocateExtPCOfTheProjPCur
0179 #undef IntCurve_TheLocateExtPCOfTheProjPCur_hxx
0180 #undef IntCurve_TheCurveLocatorOfTheProjPCur
0181 #undef IntCurve_TheCurveLocatorOfTheProjPCur_hxx
0182 #undef IntCurve_TheLocateExtPCOfTheProjPCur
0183 #undef IntCurve_TheLocateExtPCOfTheProjPCur_hxx
0184 #undef IntCurve_TheIntConicCurve
0185 #undef IntCurve_TheIntConicCurve_hxx
0186 #undef IntCurve_TheIntersectorOfTheIntConicCurve
0187 #undef IntCurve_TheIntersectorOfTheIntConicCurve_hxx
0188 #undef IntCurve_TheIntersectorOfTheIntConicCurve
0189 #undef IntCurve_TheIntersectorOfTheIntConicCurve_hxx
0190 #undef IntCurve_IntConicCurve
0191 #undef IntCurve_IntConicCurve_hxx
0192 #undef IntCurve_TheIntPCurvePCurve
0193 #undef IntCurve_TheIntPCurvePCurve_hxx
0194 #undef IntCurve_ThePolygon2dOfTheIntPCurvePCurve
0195 #undef IntCurve_ThePolygon2dOfTheIntPCurvePCurve_hxx
0196 #undef IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve
0197 #undef IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve_hxx
0198 #undef IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve
0199 #undef IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve_hxx
0200 #undef IntCurve_ThePolygon2dOfTheIntPCurvePCurve
0201 #undef IntCurve_ThePolygon2dOfTheIntPCurvePCurve_hxx
0202 #undef IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve
0203 #undef IntCurve_TheDistBetweenPCurvesOfTheIntPCurvePCurve_hxx
0204 #undef IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve
0205 #undef IntCurve_ExactIntersectionPointOfTheIntPCurvePCurve_hxx
0206 #undef IntCurve_IntCurveCurveGen
0207 #undef IntCurve_IntCurveCurveGen_hxx
0208
0209
0210
0211
0212 #endif