]> SALOME platform Git repositories - modules/yacs.git/blob - src/SALOMEDSImpl/SALOMEDSImpl_UseCaseIterator.cxx
Salome HOME
PR: merge from branch BR_UnitTests tag mergeto_trunk_17oct05
[modules/yacs.git] / src / SALOMEDSImpl / SALOMEDSImpl_UseCaseIterator.cxx
1 //  File   : SALOMEDSImpl_UseCaseIterator.cxx
2 //  Author : Serge RUIN
3 //  Module : SALOME
4
5 #include "SALOMEDSImpl_UseCaseIterator.hxx"
6 #include "SALOMEDSImpl_SObject.hxx"
7 #include "SALOMEDSImpl_Study.hxx"
8
9 using namespace std;
10
11 IMPLEMENT_STANDARD_HANDLE( SALOMEDSImpl_UseCaseIterator, MMgt_TShared )
12 IMPLEMENT_STANDARD_RTTIEXT( SALOMEDSImpl_UseCaseIterator, MMgt_TShared )
13
14 //============================================================================
15 /*! Function : constructor
16  *  Purpose  :
17  */
18 //============================================================================
19 SALOMEDSImpl_UseCaseIterator::SALOMEDSImpl_UseCaseIterator(const TDF_Label& theLabel, 
20                                                            const Standard_GUID& theGUID,
21                                                            const bool allLevels)
22 :_guid(theGUID), _levels(allLevels)
23 {
24   if(theLabel.FindAttribute(_guid, _node)) {
25     _it.Initialize (_node, _levels);
26   }
27 }
28
29 //============================================================================
30 /*! Function : destructor
31  *  Purpose  :
32  */
33 //============================================================================
34 SALOMEDSImpl_UseCaseIterator::~SALOMEDSImpl_UseCaseIterator()
35 {
36 }
37
38 //============================================================================
39 /*! Function :Init
40  * 
41  */
42 //============================================================================
43 void SALOMEDSImpl_UseCaseIterator::Init(bool allLevels)
44
45   _it.Initialize (_node, allLevels);
46 }
47
48 //============================================================================
49 /*! Function : More
50  * 
51  */
52 //============================================================================
53 bool SALOMEDSImpl_UseCaseIterator::More()
54 {
55   return _it.More();
56 }
57
58  //============================================================================
59 /*! Function : Next
60  * 
61  */
62 //============================================================================
63 void SALOMEDSImpl_UseCaseIterator::Next()
64 {
65   _it.Next();
66 }
67
68
69 //============================================================================
70 /*! Function :
71  *  Purpose  :
72  */
73 //============================================================================
74
75 Handle(SALOMEDSImpl_SObject) SALOMEDSImpl_UseCaseIterator::Value()
76 {
77   TDF_Label L = _it.Value()->Label();
78   return SALOMEDSImpl_Study::SObject(L);
79 }
80