File indexing completed on 2026-09-19 09:28:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _IntRes2d_Intersection_HeaderFile
0018 #define _IntRes2d_Intersection_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Boolean.hxx>
0025 #include <IntRes2d_IntersectionPoint.hxx>
0026 #include <NCollection_Sequence.hxx>
0027 #include <IntRes2d_IntersectionSegment.hxx>
0028 class IntRes2d_IntersectionPoint;
0029 class IntRes2d_IntersectionSegment;
0030
0031
0032
0033
0034 class IntRes2d_Intersection
0035 {
0036 public:
0037 DEFINE_STANDARD_ALLOC
0038
0039
0040 bool IsDone() const;
0041
0042
0043
0044
0045 bool IsEmpty() const;
0046
0047
0048
0049
0050 int NbPoints() const;
0051
0052
0053
0054
0055
0056
0057 const IntRes2d_IntersectionPoint& Point(const int N) const;
0058
0059
0060
0061
0062 int NbSegments() const;
0063
0064
0065
0066
0067
0068
0069 const IntRes2d_IntersectionSegment& Segment(const int N) const;
0070
0071 void SetReversedParameters(const bool Reverseflag);
0072
0073 protected:
0074
0075 IntRes2d_Intersection();
0076
0077 IntRes2d_Intersection(const IntRes2d_Intersection& Other);
0078
0079
0080 IntRes2d_Intersection& operator=(const IntRes2d_Intersection& theOther) = default;
0081
0082
0083 ~IntRes2d_Intersection() = default;
0084
0085 Standard_EXPORT void SetValues(const IntRes2d_Intersection& Inter);
0086
0087 Standard_EXPORT void Append(const IntRes2d_Intersection& Inter,
0088 const double FirstParam1,
0089 const double LastParam1,
0090 const double FirstParam2,
0091 const double LastParam2);
0092
0093 void Append(const IntRes2d_IntersectionSegment& Seg);
0094
0095 void Append(const IntRes2d_IntersectionPoint& Pnt);
0096
0097 Standard_EXPORT void Insert(const IntRes2d_IntersectionPoint& Pnt);
0098
0099 void ResetFields();
0100
0101 bool ReversedParameters() const;
0102
0103 protected:
0104 NCollection_Sequence<IntRes2d_IntersectionPoint> lpnt;
0105 NCollection_Sequence<IntRes2d_IntersectionSegment> lseg;
0106 bool done;
0107 bool reverse;
0108 };
0109
0110 #include <IntRes2d_Intersection.lxx>
0111
0112 #endif