File indexing completed on 2025-01-18 10:04:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntAna2d_AnaIntersection_HeaderFile
0018 #define _IntAna2d_AnaIntersection_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <IntAna2d_IntPoint.hxx>
0025 class gp_Lin2d;
0026 class gp_Circ2d;
0027 class IntAna2d_Conic;
0028 class gp_Elips2d;
0029 class gp_Parab2d;
0030 class gp_Hypr2d;
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041 class IntAna2d_AnaIntersection
0042 {
0043 public:
0044
0045 DEFINE_STANDARD_ALLOC
0046
0047
0048
0049 Standard_EXPORT IntAna2d_AnaIntersection();
0050
0051
0052 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Lin2d& L1, const gp_Lin2d& L2);
0053
0054
0055 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Circ2d& C1, const gp_Circ2d& C2);
0056
0057
0058 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Lin2d& L, const gp_Circ2d& C);
0059
0060
0061 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Lin2d& L, const IntAna2d_Conic& C);
0062
0063
0064 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Circ2d& C, const IntAna2d_Conic& Co);
0065
0066
0067 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Elips2d& E, const IntAna2d_Conic& C);
0068
0069
0070 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Parab2d& P, const IntAna2d_Conic& C);
0071
0072
0073 Standard_EXPORT IntAna2d_AnaIntersection(const gp_Hypr2d& H, const IntAna2d_Conic& C);
0074
0075
0076 Standard_EXPORT void Perform (const gp_Lin2d& L1, const gp_Lin2d& L2);
0077
0078
0079 Standard_EXPORT void Perform (const gp_Circ2d& C1, const gp_Circ2d& C2);
0080
0081
0082 Standard_EXPORT void Perform (const gp_Lin2d& L, const gp_Circ2d& C);
0083
0084
0085 Standard_EXPORT void Perform (const gp_Lin2d& L, const IntAna2d_Conic& C);
0086
0087
0088 Standard_EXPORT void Perform (const gp_Circ2d& C, const IntAna2d_Conic& Co);
0089
0090
0091 Standard_EXPORT void Perform (const gp_Elips2d& E, const IntAna2d_Conic& C);
0092
0093
0094 Standard_EXPORT void Perform (const gp_Parab2d& P, const IntAna2d_Conic& C);
0095
0096
0097 Standard_EXPORT void Perform (const gp_Hypr2d& H, const IntAna2d_Conic& C);
0098
0099
0100 Standard_Boolean IsDone() const;
0101
0102
0103
0104
0105
0106 Standard_Boolean IsEmpty() const;
0107
0108
0109
0110
0111
0112
0113
0114 Standard_Boolean IdenticalElements() const;
0115
0116
0117
0118
0119 Standard_Boolean ParallelElements() const;
0120
0121
0122 Standard_Integer NbPoints() const;
0123
0124
0125
0126 const IntAna2d_IntPoint& Point (const Standard_Integer N) const;
0127
0128
0129
0130
0131 protected:
0132
0133
0134
0135
0136
0137 private:
0138
0139
0140
0141 Standard_Boolean done;
0142 Standard_Boolean para;
0143 Standard_Boolean iden;
0144 Standard_Boolean empt;
0145 Standard_Integer nbp;
0146 IntAna2d_IntPoint lpnt[4];
0147
0148
0149 };
0150
0151
0152 #include <IntAna2d_AnaIntersection.lxx>
0153
0154
0155
0156
0157
0158 #endif