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_ExtElCS_HeaderFile
0018 #define _Extrema_ExtElCS_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Integer.hxx>
0025 #include <TColStd_HArray1OfReal.hxx>
0026 #include <Extrema_HArray1OfPOnCurv.hxx>
0027 #include <Extrema_HArray1OfPOnSurf.hxx>
0028
0029 class gp_Lin;
0030 class gp_Pln;
0031 class gp_Cylinder;
0032 class gp_Cone;
0033 class gp_Sphere;
0034 class gp_Torus;
0035 class gp_Circ;
0036 class gp_Hypr;
0037 class Extrema_POnCurv;
0038 class Extrema_POnSurf;
0039
0040
0041
0042
0043
0044 class Extrema_ExtElCS
0045 {
0046 public:
0047
0048 DEFINE_STANDARD_ALLOC
0049
0050
0051 Standard_EXPORT Extrema_ExtElCS();
0052
0053
0054
0055
0056 Standard_EXPORT Extrema_ExtElCS(const gp_Lin& C, const gp_Pln& S);
0057
0058 Standard_EXPORT void Perform (const gp_Lin& C, const gp_Pln& S);
0059
0060
0061
0062 Standard_EXPORT Extrema_ExtElCS(const gp_Lin& C, const gp_Cylinder& S);
0063
0064 Standard_EXPORT void Perform (const gp_Lin& C, const gp_Cylinder& S);
0065
0066
0067 Standard_EXPORT Extrema_ExtElCS(const gp_Lin& C, const gp_Cone& S);
0068
0069 Standard_EXPORT void Perform (const gp_Lin& C, const gp_Cone& S);
0070
0071
0072
0073 Standard_EXPORT Extrema_ExtElCS(const gp_Lin& C, const gp_Sphere& S);
0074
0075 Standard_EXPORT void Perform (const gp_Lin& C, const gp_Sphere& S);
0076
0077
0078
0079 Standard_EXPORT Extrema_ExtElCS(const gp_Lin& C, const gp_Torus& S);
0080
0081 Standard_EXPORT void Perform (const gp_Lin& C, const gp_Torus& S);
0082
0083
0084
0085 Standard_EXPORT Extrema_ExtElCS(const gp_Circ& C, const gp_Pln& S);
0086
0087 Standard_EXPORT void Perform (const gp_Circ& C, const gp_Pln& S);
0088
0089
0090
0091 Standard_EXPORT Extrema_ExtElCS(const gp_Circ& C, const gp_Cylinder& S);
0092
0093 Standard_EXPORT void Perform (const gp_Circ& C, const gp_Cylinder& S);
0094
0095
0096
0097 Standard_EXPORT Extrema_ExtElCS(const gp_Circ& C, const gp_Cone& S);
0098
0099 Standard_EXPORT void Perform (const gp_Circ& C, const gp_Cone& S);
0100
0101
0102
0103 Standard_EXPORT Extrema_ExtElCS(const gp_Circ& C, const gp_Sphere& S);
0104
0105 Standard_EXPORT void Perform (const gp_Circ& C, const gp_Sphere& S);
0106
0107
0108
0109 Standard_EXPORT Extrema_ExtElCS(const gp_Circ& C, const gp_Torus& S);
0110
0111 Standard_EXPORT void Perform (const gp_Circ& C, const gp_Torus& S);
0112
0113
0114
0115 Standard_EXPORT Extrema_ExtElCS(const gp_Hypr& C, const gp_Pln& S);
0116
0117 Standard_EXPORT void Perform (const gp_Hypr& C, const gp_Pln& S);
0118
0119
0120 Standard_EXPORT Standard_Boolean IsDone() const;
0121
0122
0123 Standard_EXPORT Standard_Boolean IsParallel() const;
0124
0125
0126 Standard_EXPORT Standard_Integer NbExt() const;
0127
0128
0129 Standard_EXPORT Standard_Real SquareDistance (const Standard_Integer N = 1) const;
0130
0131
0132
0133 Standard_EXPORT void Points (const Standard_Integer N, Extrema_POnCurv& P1, Extrema_POnSurf& P2) const;
0134
0135
0136
0137
0138 protected:
0139
0140
0141
0142
0143
0144 private:
0145
0146
0147
0148 Standard_Boolean myDone;
0149 Standard_Integer myNbExt;
0150 Standard_Boolean myIsPar;
0151 Handle(TColStd_HArray1OfReal) mySqDist;
0152 Handle(Extrema_HArray1OfPOnCurv) myPoint1;
0153 Handle(Extrema_HArray1OfPOnSurf) myPoint2;
0154
0155
0156 };
0157
0158
0159
0160
0161
0162
0163
0164 #endif