]> SALOME platform Git repositories - modules/kernel.git/blob - src/SALOMEDS/SALOMEDS_UseCaseIterator_i.cxx
Salome HOME
Merge from branch CCRT_Port_V220.
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_UseCaseIterator_i.cxx
1 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SALOMEDS_UseCaseIterator_i.cxx
8 //  Author : Yves FRICAUD
9 //  Module : SALOME
10
11 #include "SALOMEDS_UseCaseIterator_i.hxx"
12 #include "SALOMEDS_SObject_i.hxx"
13 #include "utilities.h"
14
15 using namespace std;
16
17 //============================================================================
18 /*! Function : constructor
19  *  Purpose  :
20  */
21 //============================================================================
22 SALOMEDS_UseCaseIterator_i::SALOMEDS_UseCaseIterator_i(SALOMEDS_Study_i* theStudy,
23                                                        const TDF_Label& theLabel, 
24                                                        const Standard_GUID& theGUID, 
25                                                        const Standard_Boolean theIsAllLevels):
26   _guid(theGUID), 
27   _levels(theIsAllLevels),
28   _study(theStudy)
29 {
30   if(theLabel.FindAttribute(_guid, _node)) {
31     _it.Initialize (_node, _levels);
32   }
33 }
34
35 //============================================================================
36 /*! Function : destructor
37  *  Purpose  :
38  */
39 //============================================================================
40 SALOMEDS_UseCaseIterator_i::~SALOMEDS_UseCaseIterator_i()
41 {
42 }
43
44 //============================================================================
45 /*! Function :Init
46  * 
47  */
48 //============================================================================
49 void SALOMEDS_UseCaseIterator_i::Init(CORBA::Boolean allLevels)
50
51   _it.Initialize (_node, allLevels);
52 }
53
54 //============================================================================
55 /*! Function : More
56  * 
57  */
58 //============================================================================
59 CORBA::Boolean SALOMEDS_UseCaseIterator_i::More()
60 {
61   return _it.More();
62 }
63
64  //============================================================================
65 /*! Function : Next
66  * 
67  */
68 //============================================================================
69 void SALOMEDS_UseCaseIterator_i::Next()
70 {
71   _it.Next();
72 }
73
74
75 //============================================================================
76 /*! Function :
77  *  Purpose  :
78  */
79 //============================================================================
80
81 SALOMEDS::SObject_ptr SALOMEDS_UseCaseIterator_i::Value()
82 {
83   TDF_Label L = _it.Value()->Label();
84   return SALOMEDS_SObject_i::NewRef(_study,L)._retn();
85 }
86