Salome HOME
PR: merge from tag mergeto_trunk_17Jan05
[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 using namespace std;
12 #include "SALOMEDS_UseCaseIterator_i.hxx"
13 #include "SALOMEDS_SObject_i.hxx"
14 #include "utilities.h"
15
16
17
18 //============================================================================
19 /*! Function : constructor
20  *  Purpose  :
21  */
22 //============================================================================
23 SALOMEDS_UseCaseIterator_i::SALOMEDS_UseCaseIterator_i(SALOMEDS_Study_i* theStudy,
24                                                        const TDF_Label& theLabel, 
25                                                        const Standard_GUID& theGUID, 
26                                                        const Standard_Boolean theIsAllLevels):
27   _guid(theGUID), 
28   _levels(theIsAllLevels),
29   _study(theStudy)
30 {
31   if(theLabel.FindAttribute(_guid, _node)) {
32     _it.Initialize (_node, _levels);
33   }
34 }
35
36 //============================================================================
37 /*! Function : destructor
38  *  Purpose  :
39  */
40 //============================================================================
41 SALOMEDS_UseCaseIterator_i::~SALOMEDS_UseCaseIterator_i()
42 {
43 }
44
45 //============================================================================
46 /*! Function :Init
47  * 
48  */
49 //============================================================================
50 void SALOMEDS_UseCaseIterator_i::Init(CORBA::Boolean allLevels)
51
52   _it.Initialize (_node, allLevels);
53 }
54
55 //============================================================================
56 /*! Function : More
57  * 
58  */
59 //============================================================================
60 CORBA::Boolean SALOMEDS_UseCaseIterator_i::More()
61 {
62   return _it.More();
63 }
64
65  //============================================================================
66 /*! Function : Next
67  * 
68  */
69 //============================================================================
70 void SALOMEDS_UseCaseIterator_i::Next()
71 {
72   _it.Next();
73 }
74
75
76 //============================================================================
77 /*! Function :
78  *  Purpose  :
79  */
80 //============================================================================
81
82 SALOMEDS::SObject_ptr SALOMEDS_UseCaseIterator_i::Value()
83 {
84   TDF_Label L = _it.Value()->Label();
85   return SALOMEDS_SObject_i::New(_study,L)->_this();
86 }
87