File indexing completed on 2026-11-03 10:31:15
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Interface_GTool_HeaderFile
0018 #define _Interface_GTool_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Interface_GeneralLib.hxx>
0024 #include <Standard_Transient.hxx>
0025 #include <Standard_Integer.hxx>
0026 #include <NCollection_DataMap.hxx>
0027 #include <NCollection_IndexedDataMap.hxx>
0028 class Interface_Protocol;
0029 class Interface_SignType;
0030 class Interface_InterfaceModel;
0031 class Interface_GeneralModule;
0032
0033
0034
0035
0036
0037
0038
0039 class Interface_GTool : public Standard_Transient
0040 {
0041
0042 public:
0043
0044 Standard_EXPORT Interface_GTool();
0045
0046
0047
0048 Standard_EXPORT Interface_GTool(const occ::handle<Interface_Protocol>& proto,
0049 const int nbent = 0);
0050
0051
0052 Standard_EXPORT void SetSignType(const occ::handle<Interface_SignType>& sign);
0053
0054
0055 Standard_EXPORT occ::handle<Interface_SignType> SignType() const;
0056
0057
0058
0059
0060 Standard_EXPORT const char* SignValue(const occ::handle<Standard_Transient>& ent,
0061 const occ::handle<Interface_InterfaceModel>& model) const;
0062
0063
0064 Standard_EXPORT const char* SignName() const;
0065
0066
0067
0068
0069 Standard_EXPORT void SetProtocol(const occ::handle<Interface_Protocol>& proto,
0070 const bool enforce = false);
0071
0072
0073 Standard_EXPORT occ::handle<Interface_Protocol> Protocol() const;
0074
0075
0076 Standard_EXPORT Interface_GeneralLib& Lib();
0077
0078
0079
0080
0081
0082 Standard_EXPORT void Reservate(const int nb, const bool enforce = false);
0083
0084
0085
0086 Standard_EXPORT void ClearEntities();
0087
0088
0089
0090
0091
0092 Standard_EXPORT bool Select(const occ::handle<Standard_Transient>& ent,
0093 occ::handle<Interface_GeneralModule>& gmod,
0094 int& CN,
0095 const bool enforce = false);
0096
0097 DEFINE_STANDARD_RTTIEXT(Interface_GTool, Standard_Transient)
0098
0099 private:
0100 occ::handle<Interface_Protocol> theproto;
0101 occ::handle<Interface_SignType> thesign;
0102 Interface_GeneralLib thelib;
0103 NCollection_DataMap<occ::handle<Standard_Transient>, int> thentnum;
0104 NCollection_IndexedDataMap<occ::handle<Standard_Transient>, occ::handle<Standard_Transient>>
0105 thentmod;
0106 };
0107
0108 #endif