Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SUIT_DataObjectIterator.h
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
23
#ifndef SUIT_DATAOBJECT_ITERATOR_H
24
#define SUIT_DATAOBJECT_ITERATOR_H
25
26
#include "
SUIT_DataObject.h
"
27
34
class
SUIT_EXPORT
SUIT_DataObjectIterator
35
{
36
public
:
37
typedef
enum
{ DepthLeft, DepthRight, BreadthLeft, BreadthRight, User } DetourType;
38
39
SUIT_DataObjectIterator
(
SUIT_DataObject
* root,
const
int
det,
const
bool
fromTrueRoot =
false
);
40
41
virtual
void
operator++();
42
SUIT_DataObject
* current()
const
;
43
44
int
depth()
const
;
45
int
detour()
const
;
46
47
protected
:
48
SUIT_DataObject
* parent(
SUIT_DataObject
* )
const
;
49
SUIT_DataObject
* extreme(
DataObjectList
&,
bool
FromLeft )
const
;
50
SUIT_DataObject
* globalSibling(
SUIT_DataObject
*,
bool
next )
const
;
51
52
protected
:
53
SUIT_DataObject
*
myRoot
;
54
SUIT_DataObject
*
myCurrent
;
55
56
private
:
57
SUIT_DataObject
*
myExtremeChild
;
58
int
myDetourType
;
60
QList<int>
myChildrenIndexes
;
61
};
62
68
class
SUIT_DataObjectLevelIterator
:
public
SUIT_DataObjectIterator
69
{
70
public
:
71
SUIT_DataObjectLevelIterator
(
SUIT_DataObject
* root,
const
int
start,
const
int
end = 0,
72
const
bool
LeftToRight =
true
);
73
virtual
void
operator++
();
74
75
protected
:
76
int
myStartLevel
;
77
int
myEndLevel
;
78
};
79
80
#endif
src
SUIT
SUIT_DataObjectIterator.h
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS