File indexing completed on 2026-09-25 09:20:22
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntPatch_GLine_HeaderFile
0018 #define _IntPatch_GLine_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <gp_Ax2.hxx>
0024 #include <Standard_Integer.hxx>
0025 #include <IntPatch_Point.hxx>
0026 #include <NCollection_Sequence.hxx>
0027 #include <IntPatch_Line.hxx>
0028 #include <IntSurf_TypeTrans.hxx>
0029 #include <IntSurf_Situation.hxx>
0030 #include <gp_Circ.hxx>
0031 class gp_Lin;
0032 class gp_Circ;
0033 class gp_Elips;
0034 class gp_Parab;
0035 class gp_Hypr;
0036 class IntPatch_Point;
0037
0038
0039
0040 class IntPatch_GLine : public IntPatch_Line
0041 {
0042
0043 public:
0044
0045
0046 Standard_EXPORT IntPatch_GLine(const gp_Lin& L,
0047 const bool Tang,
0048 const IntSurf_TypeTrans Trans1,
0049 const IntSurf_TypeTrans Trans2);
0050
0051
0052
0053 Standard_EXPORT IntPatch_GLine(const gp_Lin& L,
0054 const bool Tang,
0055 const IntSurf_Situation Situ1,
0056 const IntSurf_Situation Situ2);
0057
0058
0059
0060 Standard_EXPORT IntPatch_GLine(const gp_Lin& L, const bool Tang);
0061
0062
0063
0064 Standard_EXPORT IntPatch_GLine(const gp_Circ& C,
0065 const bool Tang,
0066 const IntSurf_TypeTrans Trans1,
0067 const IntSurf_TypeTrans Trans2);
0068
0069
0070
0071 Standard_EXPORT IntPatch_GLine(const gp_Circ& C,
0072 const bool Tang,
0073 const IntSurf_Situation Situ1,
0074 const IntSurf_Situation Situ2);
0075
0076
0077
0078 Standard_EXPORT IntPatch_GLine(const gp_Circ& C, const bool Tang);
0079
0080
0081
0082 Standard_EXPORT IntPatch_GLine(const gp_Elips& E,
0083 const bool Tang,
0084 const IntSurf_TypeTrans Trans1,
0085 const IntSurf_TypeTrans Trans2);
0086
0087
0088
0089 Standard_EXPORT IntPatch_GLine(const gp_Elips& E,
0090 const bool Tang,
0091 const IntSurf_Situation Situ1,
0092 const IntSurf_Situation Situ2);
0093
0094
0095
0096 Standard_EXPORT IntPatch_GLine(const gp_Elips& E, const bool Tang);
0097
0098
0099
0100 Standard_EXPORT IntPatch_GLine(const gp_Parab& P,
0101 const bool Tang,
0102 const IntSurf_TypeTrans Trans1,
0103 const IntSurf_TypeTrans Trans2);
0104
0105
0106
0107 Standard_EXPORT IntPatch_GLine(const gp_Parab& P,
0108 const bool Tang,
0109 const IntSurf_Situation Situ1,
0110 const IntSurf_Situation Situ2);
0111
0112
0113
0114 Standard_EXPORT IntPatch_GLine(const gp_Parab& P, const bool Tang);
0115
0116
0117
0118 Standard_EXPORT IntPatch_GLine(const gp_Hypr& H,
0119 const bool Tang,
0120 const IntSurf_TypeTrans Trans1,
0121 const IntSurf_TypeTrans Trans2);
0122
0123
0124
0125 Standard_EXPORT IntPatch_GLine(const gp_Hypr& H,
0126 const bool Tang,
0127 const IntSurf_Situation Situ1,
0128 const IntSurf_Situation Situ2);
0129
0130
0131
0132 Standard_EXPORT IntPatch_GLine(const gp_Hypr& H, const bool Tang);
0133
0134
0135 Standard_EXPORT void AddVertex(const IntPatch_Point& Pnt);
0136
0137
0138
0139 Standard_EXPORT void Replace(const int Index, const IntPatch_Point& Pnt);
0140
0141 void SetFirstPoint(const int IndFirst);
0142
0143 void SetLastPoint(const int IndLast);
0144
0145
0146
0147 gp_Lin Line() const;
0148
0149
0150
0151 gp_Circ Circle() const;
0152
0153
0154
0155 gp_Elips Ellipse() const;
0156
0157
0158
0159 gp_Parab Parabola() const;
0160
0161
0162
0163 gp_Hypr Hyperbola() const;
0164
0165
0166
0167 bool HasFirstPoint() const;
0168
0169
0170
0171 bool HasLastPoint() const;
0172
0173
0174
0175 const IntPatch_Point& FirstPoint() const;
0176
0177
0178
0179 const IntPatch_Point& LastPoint() const;
0180
0181 int NbVertex() const;
0182
0183
0184 const IntPatch_Point& Vertex(const int Index) const;
0185
0186
0187
0188
0189
0190 Standard_EXPORT void ComputeVertexParameters(const double Tol);
0191
0192 DEFINE_STANDARD_RTTIEXT(IntPatch_GLine, IntPatch_Line)
0193
0194 private:
0195 gp_Ax2 pos;
0196 double par1;
0197 double par2;
0198 bool fipt;
0199 bool lapt;
0200 int indf;
0201 int indl;
0202 NCollection_Sequence<IntPatch_Point> svtx;
0203 };
0204
0205 #include <IntPatch_GLine.lxx>
0206
0207 #endif