summaryrefslogtreecommitdiff
path: root/inc/AIS_Selection.lxx
blob: cc72d18a804b49b57f8a2122ce1b40f7f91c1d92 (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
// File:	AIS_Selection.lxx
// Created:	Tue Jun 23 15:45:23 1998
// Author:	Robert COUBLANC
//		<rob@robox.paris1.matra-dtv.fr>

#define OCC189   //SAV: 18/03/02 array was replaced with list.

#define USE_MAP    //san : 18/04/03 USE_MAP - additional datamap is used to speed up access 
                   //to certain owners in <myresult> list

#if !defined( OCC189 ) && !defined( USE_MAP )
#include <TColStd_HArray1OfTransient.hxx>
#else
#include <TColStd_MapOfTransient.hxx>
#include <TColStd_MapIteratorOfMapOfTransient.hxx>
#endif


#if !defined( OCC189 ) && !defined( USE_MAP )
inline const Handle(TColStd_HArray1OfTransient)& AIS_Selection::Objects() const
#else
inline const AIS_NListTransient& AIS_Selection::Objects() const       
#endif
{
  return myresult;
}

inline void AIS_Selection::Init()
{
#if !defined( OCC189 ) && !defined( USE_MAP )
  mycuri=1;
#else
  myIterator = AIS_NListTransient::Iterator ( myresult );  
#endif
}

inline Standard_Boolean AIS_Selection::More() const 
{
#if !defined( OCC189 ) && !defined( USE_MAP )  
  return (myresult.IsNull() ? Standard_False : (mycuri<=myNb));
#else
  return myIterator.More();
#endif
}
inline void AIS_Selection::Next () {
#if !defined( OCC189 ) && !defined( USE_MAP )    
  mycuri++;
#else
  myIterator.Next();
#endif
}
inline const Handle(Standard_Transient)& AIS_Selection::Value() const 
{
#if !defined( OCC189 ) && !defined( USE_MAP )   
  return myresult->Value(mycuri);
#else
  return myIterator.Value();  
#endif
}

inline Standard_Integer AIS_Selection::NbStored() const
{
#if !defined( OCC189 ) && !defined( USE_MAP )    
  return myNb;
#else
  return myresult.Extent();
#endif
}