File indexing completed on 2025-01-18 10:03:28
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Extrema_ExtElC_HeaderFile
0018 #define _Extrema_ExtElC_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <Extrema_POnCurv.hxx>
0025
0026 class gp_Lin;
0027 class gp_Circ;
0028 class gp_Elips;
0029 class gp_Hypr;
0030 class gp_Parab;
0031
0032
0033
0034
0035
0036 class Extrema_ExtElC
0037 {
0038 public:
0039
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043 Standard_EXPORT Extrema_ExtElC();
0044
0045
0046
0047
0048 Standard_EXPORT Extrema_ExtElC(const gp_Lin& C1, const gp_Lin& C2, const Standard_Real AngTol);
0049
0050
0051
0052 Standard_EXPORT Extrema_ExtElC(const gp_Lin& C1, const gp_Circ& C2, const Standard_Real Tol);
0053
0054
0055
0056 Standard_EXPORT Extrema_ExtElC(const gp_Lin& C1, const gp_Elips& C2);
0057
0058
0059
0060 Standard_EXPORT Extrema_ExtElC(const gp_Lin& C1, const gp_Hypr& C2);
0061
0062
0063
0064 Standard_EXPORT Extrema_ExtElC(const gp_Lin& C1, const gp_Parab& C2);
0065
0066
0067
0068 Standard_EXPORT Extrema_ExtElC(const gp_Circ& C1, const gp_Circ& C2);
0069
0070
0071 Standard_EXPORT Standard_Boolean IsDone() const;
0072
0073
0074 Standard_EXPORT Standard_Boolean IsParallel() const;
0075
0076
0077 Standard_EXPORT Standard_Integer NbExt() const;
0078
0079
0080 Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N = 1) const;
0081
0082
0083
0084 Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv& P1, Extrema_POnCurv& P2) const;
0085
0086
0087
0088
0089 protected:
0090
0091
0092 Standard_EXPORT Standard_Boolean PlanarLineCircleExtrema(const gp_Lin& C1,
0093 const gp_Circ& C2);
0094
0095
0096
0097
0098 private:
0099
0100
0101
0102 Standard_Boolean myDone;
0103 Standard_Boolean myIsPar;
0104 Standard_Integer myNbExt;
0105 Standard_Real mySqDist[6];
0106 Extrema_POnCurv myPoint[6][2];
0107
0108
0109 };
0110
0111
0112
0113
0114
0115
0116
0117 #endif