File indexing completed on 2026-09-24 09:17:43
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Transfer_TransientProcess_HeaderFile
0018 #define _Transfer_TransientProcess_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Standard_Transient.hxx>
0024 #include <NCollection_Sequence.hxx>
0025 #include <NCollection_HSequence.hxx>
0026 #include <Transfer_ProcessForTransient.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <Standard_CString.hxx>
0029 #include <TCollection_AsciiString.hxx>
0030 #include <NCollection_DataMap.hxx>
0031 class Interface_InterfaceModel;
0032 class Interface_HGraph;
0033 class Interface_Graph;
0034 class Interface_EntityIterator;
0035
0036
0037
0038
0039
0040
0041
0042 class Transfer_TransientProcess : public Transfer_ProcessForTransient
0043 {
0044
0045 public:
0046
0047 Standard_EXPORT Transfer_TransientProcess(const int nb = 10000);
0048
0049
0050
0051 Standard_EXPORT void SetModel(const occ::handle<Interface_InterfaceModel>& model);
0052
0053
0054 Standard_EXPORT occ::handle<Interface_InterfaceModel> Model() const;
0055
0056
0057 Standard_EXPORT void SetGraph(const occ::handle<Interface_HGraph>& HG);
0058
0059 Standard_EXPORT bool HasGraph() const;
0060
0061 Standard_EXPORT occ::handle<Interface_HGraph> HGraph() const;
0062
0063 Standard_EXPORT const Interface_Graph& Graph() const;
0064
0065
0066
0067 Standard_EXPORT void SetContext(const char* const name,
0068 const occ::handle<Standard_Transient>& ctx);
0069
0070
0071
0072
0073 Standard_EXPORT bool GetContext(const char* const name,
0074 const occ::handle<Standard_Type>& type,
0075 occ::handle<Standard_Transient>& ctx) const;
0076
0077
0078
0079 Standard_EXPORT NCollection_DataMap<TCollection_AsciiString, occ::handle<Standard_Transient>>&
0080 Context();
0081
0082
0083
0084 Standard_EXPORT void PrintTrace(const occ::handle<Standard_Transient>& start,
0085 Standard_OStream& S) const override;
0086
0087
0088
0089 Standard_EXPORT int CheckNum(const occ::handle<Standard_Transient>& ent) const override;
0090
0091
0092
0093
0094 Standard_EXPORT Interface_EntityIterator
0095 TypedSharings(const occ::handle<Standard_Transient>& start,
0096 const occ::handle<Standard_Type>& type) const;
0097
0098
0099
0100
0101
0102
0103 Standard_EXPORT bool IsDataLoaded(const occ::handle<Standard_Transient>& ent) const;
0104
0105
0106
0107
0108
0109 Standard_EXPORT bool IsDataFail(const occ::handle<Standard_Transient>& ent) const;
0110
0111
0112 Standard_EXPORT void PrintStats(const int mode, Standard_OStream& S) const;
0113
0114 Standard_EXPORT occ::handle<NCollection_HSequence<occ::handle<Standard_Transient>>>
0115 RootsForTransfer();
0116
0117 DEFINE_STANDARD_RTTIEXT(Transfer_TransientProcess, Transfer_ProcessForTransient)
0118
0119 private:
0120 occ::handle<Interface_InterfaceModel> themodel;
0121 occ::handle<Interface_HGraph> thegraph;
0122 NCollection_DataMap<TCollection_AsciiString, occ::handle<Standard_Transient>> thectx;
0123 occ::handle<NCollection_HSequence<occ::handle<Standard_Transient>>> thetrroots;
0124 };
0125
0126 #endif