summaryrefslogtreecommitdiff
path: root/inc/Transfer_ResultFromTransient.hxx
blob: becc64932ac2d22ca7ce7d10cad94168fb73a8c2 (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
132
133
134
135
136
137
138
// 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 _Transfer_ResultFromTransient_HeaderFile
#define _Transfer_ResultFromTransient_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Transfer_ResultFromTransient_HeaderFile
#include <Handle_Transfer_ResultFromTransient.hxx>
#endif

#ifndef _Handle_Standard_Transient_HeaderFile
#include <Handle_Standard_Transient.hxx>
#endif
#ifndef _Handle_Transfer_Binder_HeaderFile
#include <Handle_Transfer_Binder.hxx>
#endif
#ifndef _Handle_TColStd_HSequenceOfTransient_HeaderFile
#include <Handle_TColStd_HSequenceOfTransient.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_Interface_Check_HeaderFile
#include <Handle_Interface_Check.hxx>
#endif
#ifndef _Interface_CheckStatus_HeaderFile
#include <Interface_CheckStatus.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_Transfer_TransientProcess_HeaderFile
#include <Handle_Transfer_TransientProcess.hxx>
#endif
class Standard_Transient;
class Transfer_Binder;
class TColStd_HSequenceOfTransient;
class Interface_Check;
class TColStd_IndexedMapOfTransient;
class Transfer_TransientProcess;


//! This class, in conjunction with ResultFromModel, allows to <br>
//!           record the result of a transfer initially stored in a <br>
//!           TransientProcess. <br>
//! <br>
//!           A ResultFromTransient records a couple (Transient,Binder for <br>
//!           the result and checks) plus a list of "sub-results", which <br>
//!           have been recorded in the TrabsientProcess, under scope <br>
//!           attached to the starting transient. <br>
class Transfer_ResultFromTransient : public MMgt_TShared {

public:

  //! Creates a ResultFromTransient, empty <br>
  Standard_EXPORT   Transfer_ResultFromTransient();
  //! Sets starting entity <br>
  Standard_EXPORT     void SetStart(const Handle(Standard_Transient)& start) ;
  //! Sets Binder (for result plus individual check) <br>
  Standard_EXPORT     void SetBinder(const Handle(Transfer_Binder)& binder) ;
  //! Returns the starting entity <br>
  Standard_EXPORT     Handle_Standard_Transient Start() const;
  //! Returns the binder <br>
  Standard_EXPORT     Handle_Transfer_Binder Binder() const;
  //! Returns True if a result is recorded <br>
  Standard_EXPORT     Standard_Boolean HasResult() const;
  //! Returns the check (or an empty one if no binder) <br>
  Standard_EXPORT    const Handle_Interface_Check Check() const;
  //! Returns the check status <br>
  Standard_EXPORT     Interface_CheckStatus CheckStatus() const;
  //! Clears the list of (immediate) sub-results <br>
  Standard_EXPORT     void ClearSubs() ;
  //! Adds a sub-result <br>
  Standard_EXPORT     void AddSubResult(const Handle(Transfer_ResultFromTransient)& sub) ;
  //! Returns the count of recorded sub-results <br>
  Standard_EXPORT     Standard_Integer NbSubResults() const;
  //! Returns a sub-result, given its rank <br>
  Standard_EXPORT     Handle_Transfer_ResultFromTransient SubResult(const Standard_Integer num) const;
  //! Returns the ResultFromTransient attached to a given starting <br>
//!           entity (the key). Returns a null handle if not found <br>
  Standard_EXPORT     Handle_Transfer_ResultFromTransient ResultFromKey(const Handle(Standard_Transient)& key) const;
  //! This method is used by ResultFromModel to collate the list of <br>
//!           ResultFromTransient, avoiding duplications with a map <br>
//!           Remark : <me> is already in the map and has not to be bound <br>
  Standard_EXPORT     void FillMap(TColStd_IndexedMapOfTransient& map) const;
  //! Fills from a TransientProcess, with the starting entity which <br>
//!           must have been set before. It works with scopes, calls Fill <br>
//!           on each of its sub-results <br>
  Standard_EXPORT     void Fill(const Handle(Transfer_TransientProcess)& TP) ;
  //! Clears some data attached to binders used by TransientProcess, <br>
//!           which become useless once the transfer has been done : <br>
//!           the list of sub-scoped binders, which is now recorded as <br>
//!           sub-results <br>
  Standard_EXPORT     void Strip() ;
  //! Fills back a TransientProcess with definition of a <br>
//!           ResultFromTransient, respectfully to its structuration in <br>
//!           scopes <br>
  Standard_EXPORT     void FillBack(const Handle(Transfer_TransientProcess)& TP) const;




  DEFINE_STANDARD_RTTI(Transfer_ResultFromTransient)

protected:




private: 


Handle_Standard_Transient thestart;
Handle_Transfer_Binder thebinder;
Handle_TColStd_HSequenceOfTransient thesubs;


};





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


#endif