summaryrefslogtreecommitdiff
path: root/inc/TFunction_Scope.hxx
blob: fb92c72374690568496f13d2186e25f7f0bc1114 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _TFunction_Scope_HeaderFile
#define _TFunction_Scope_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_TFunction_Scope_HeaderFile
#include <Handle_TFunction_Scope.hxx>
#endif

#ifndef _TFunction_DoubleMapOfIntegerLabel_HeaderFile
#include <TFunction_DoubleMapOfIntegerLabel.hxx>
#endif
#ifndef _TFunction_Logbook_HeaderFile
#include <TFunction_Logbook.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Handle_TDF_RelocationTable_HeaderFile
#include <Handle_TDF_RelocationTable.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class TDF_Label;
class Standard_GUID;
class TFunction_Logbook;
class TDF_Attribute;
class TDF_RelocationTable;
class TFunction_DoubleMapOfIntegerLabel;


//! Keeps a scope of functions. <br>
class TFunction_Scope : public TDF_Attribute {

public:

  //! Static methods <br>
//!          ============== <br>//! Finds or Creates a TFunction_Scope attribute at the root label accessed by <Access>. <br>
//!          Returns the attribute. <br>
  Standard_EXPORT   static  Handle_TFunction_Scope Set(const TDF_Label& Access) ;
  //! Returns the GUID for Scope attribute. <br>//! Instant methods <br>
//!          =============== <br>//! Constructor (empty). <br>
  Standard_EXPORT   static const Standard_GUID& GetID() ;
  
  Standard_EXPORT   TFunction_Scope();
  //! Adds a function to the scope of functions. <br>
  Standard_EXPORT     Standard_Boolean AddFunction(const TDF_Label& L) ;
  //! Removes a function from the scope of functions. <br>
  Standard_EXPORT     Standard_Boolean RemoveFunction(const TDF_Label& L) ;
  //! Removes a function from the scope of functions. <br>
  Standard_EXPORT     Standard_Boolean RemoveFunction(const Standard_Integer ID) ;
  //! Removes all functions from the scope of functions. <br>
  Standard_EXPORT     void RemoveAllFunctions() ;
  //! Returns true if the function exists with such an ID. <br>
  Standard_EXPORT     Standard_Boolean HasFunction(const Standard_Integer ID) const;
  //! Returns true if the label contains a function of this scope. <br>
  Standard_EXPORT     Standard_Boolean HasFunction(const TDF_Label& L) const;
  //! Returns an ID of the function. <br>
  Standard_EXPORT     Standard_Integer GetFunction(const TDF_Label& L) const;
  //! Returns the label of the function with this ID. <br>
  Standard_EXPORT    const TDF_Label& GetFunction(const Standard_Integer ID) const;
  //! Returns the Logbook used in TFunction_Driver methods. <br>//! Implementation of Attribute methods <br>
//!          =================================== <br>
  Standard_EXPORT     TFunction_Logbook& GetLogbook() ;
  
  Standard_EXPORT    const Standard_GUID& ID() const;
  
  Standard_EXPORT   virtual  void Restore(const Handle(TDF_Attribute)& with) ;
  
  Standard_EXPORT   virtual  void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const;
  
  Standard_EXPORT   virtual  Handle_TDF_Attribute NewEmpty() const;
  
  Standard_EXPORT   virtual  Standard_OStream& Dump(Standard_OStream& anOS) const;
  //! Returns the scope of functions. <br>
  Standard_EXPORT    const TFunction_DoubleMapOfIntegerLabel& GetFunctions() const;
  //! Returns the scope of functions for modification. <br>
//!          Warning: Don't use this method if You are not sure what You do! <br>
  Standard_EXPORT     TFunction_DoubleMapOfIntegerLabel& ChangeFunctions() ;
  
  Standard_EXPORT     void SetFreeID(const Standard_Integer ID) ;
  
  Standard_EXPORT     Standard_Integer GetFreeID() const;




  DEFINE_STANDARD_RTTI(TFunction_Scope)

protected:




private: 


TFunction_DoubleMapOfIntegerLabel myFunctions;
TFunction_Logbook myLogbook;
Standard_Integer myFreeID;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif