File indexing completed on 2026-09-15 09:17:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepDS_TKI_HeaderFile
0018 #define _TopOpeBRepDS_TKI_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Standard_Integer.hxx>
0025 #include <TopOpeBRepDS_Interference.hxx>
0026 #include <NCollection_List.hxx>
0027 #include <NCollection_DataMap.hxx>
0028 #include <NCollection_Array1.hxx>
0029 #include <NCollection_HArray1.hxx>
0030 #include <TopOpeBRepDS_Kind.hxx>
0031 #include <TCollection_AsciiString.hxx>
0032 class TopOpeBRepDS_Interference;
0033
0034 class TopOpeBRepDS_TKI
0035 {
0036 public:
0037 DEFINE_STANDARD_ALLOC
0038
0039 Standard_EXPORT TopOpeBRepDS_TKI();
0040
0041 Standard_EXPORT void Clear();
0042
0043 Standard_EXPORT void FillOnGeometry(
0044 const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& L);
0045
0046 Standard_EXPORT void FillOnSupport(
0047 const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& L);
0048
0049 Standard_EXPORT bool IsBound(const TopOpeBRepDS_Kind K, const int G) const;
0050
0051 Standard_EXPORT const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& Interferences(
0052 const TopOpeBRepDS_Kind K,
0053 const int G) const;
0054
0055 Standard_EXPORT NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& ChangeInterferences(
0056 const TopOpeBRepDS_Kind K,
0057 const int G);
0058
0059 Standard_EXPORT bool HasInterferences(const TopOpeBRepDS_Kind K, const int G) const;
0060
0061 Standard_EXPORT void Add(const TopOpeBRepDS_Kind K, const int G);
0062
0063 Standard_EXPORT void Add(const TopOpeBRepDS_Kind K,
0064 const int G,
0065 const occ::handle<TopOpeBRepDS_Interference>& HI);
0066
0067 Standard_EXPORT void DumpTKIIterator(const TCollection_AsciiString& s1 = "",
0068 const TCollection_AsciiString& s2 = "");
0069
0070 Standard_EXPORT void Init();
0071
0072 Standard_EXPORT bool More() const;
0073
0074 Standard_EXPORT void Next();
0075
0076 Standard_EXPORT const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& Value(
0077 TopOpeBRepDS_Kind& K,
0078 int& G) const;
0079
0080 Standard_EXPORT NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& ChangeValue(
0081 TopOpeBRepDS_Kind& K,
0082 int& G);
0083
0084 private:
0085 Standard_EXPORT void Reset();
0086
0087 Standard_EXPORT bool MoreTI() const;
0088
0089 Standard_EXPORT void NextTI();
0090
0091 Standard_EXPORT bool MoreITM() const;
0092
0093 Standard_EXPORT void FindITM();
0094
0095 Standard_EXPORT void NextITM();
0096
0097 Standard_EXPORT void Find();
0098
0099 Standard_EXPORT int KindToTableIndex(const TopOpeBRepDS_Kind K) const;
0100
0101 Standard_EXPORT TopOpeBRepDS_Kind TableIndexToKind(const int TI) const;
0102
0103 Standard_EXPORT bool IsValidTI(const int TI) const;
0104
0105 Standard_EXPORT bool IsValidK(const TopOpeBRepDS_Kind K) const;
0106
0107 Standard_EXPORT bool IsValidG(const int G) const;
0108
0109 Standard_EXPORT bool IsValidKG(const TopOpeBRepDS_Kind K, const int G) const;
0110
0111 int mydelta;
0112 occ::handle<NCollection_HArray1<
0113 NCollection_DataMap<int, NCollection_List<occ::handle<TopOpeBRepDS_Interference>>>>>
0114 myT;
0115 int myTI;
0116 int myG;
0117 NCollection_DataMap<int, NCollection_List<occ::handle<TopOpeBRepDS_Interference>>>::Iterator
0118 myITM;
0119 TopOpeBRepDS_Kind myK;
0120 NCollection_List<occ::handle<TopOpeBRepDS_Interference>> myEmptyLOI;
0121 TCollection_AsciiString myDummyAsciiString;
0122 };
0123
0124 #endif