VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrfobjcore
vrfObjFiltIter.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2004 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
/*******************************************************************************
6
** $RCSfile: vrfObjFiltIter.h,v $ $Revision: 1.13 $ $State: Exp $
7
*******************************************************************************/
8
11
12
#ifndef DtVrfObjectFilterIterator_H_
13
#define DtVrfObjectFilterIterator_H_
14
15
#include "
vrfobjcore/fltrFcnInf.h
"
16
#include "
vrfobjcore/vrfObjIter.h
"
17
#include "
vrfobjcore/vrfObject.h
"
18
#include "
vrfobjcore/simObjSR.h
"
19
#include "
vrfobjcore/vrfObjPred.h
"
20
23
43
#include "
vrfobjcore/vrfobjcoreDefines.h
"
44
class
DT_DLL_vrfobjcore
DtVrfObjectFilterIterator
:
public
DtVrfObjectIterator
45
{
46
47
private
:
49
DtVrfObjectFilterIterator
();
50
DtVrfObjectFilterIterator
&
operator=
(
const
DtVrfObjectFilterIterator
& orig);
51
52
public
:
53
60
DtVrfObjectFilterIterator
(
const
DtList& list,
61
const
DtObjectType
& filter =
DtObjectType::anyType
(),
62
bool
invertFilter =
false
);
63
64
DtVrfObjectFilterIterator
(
const
DtList& list,
65
DtFilterFcn
filter,
bool
invertFilter =
false
,
66
void
* usrData = 0);
67
71
DtVrfObjectFilterIterator
(
const
DtList& list,
72
const
DtVrfObjectPredicate
& predicate);
73
74
DtVrfObjectFilterIterator
(
const
DtVrfObjectFilterIterator
& orig);
75
77
virtual
~
DtVrfObjectFilterIterator
();
78
82
virtual
DtVrfObject
*
first
(
bool
move =
true
)
83
{
84
return
firstMatch(
DtVrfObjectIterator::first
(move),
false
, move);
//don't wrap
85
};
86
89
virtual
DtVrfObject
*
next
(
bool
move =
true
)
90
{
91
return
firstMatch(
DtVrfObjectIterator::next
(move),
false
, move);
//don't wrap
92
};
93
94
virtual
DtVrfObject
*
wrapNext
(
bool
move =
true
)
95
{
96
return
firstMatch(
DtVrfObjectIterator::wrapNext
(move),
true
, move);
//wrap
97
};
98
101
virtual
DtVrfObject
*
prev
(
bool
move =
true
)
102
{
103
return
lastMatch(
DtVrfObjectIterator::prev
(move),
false
, move);
//don't wrap
104
};
105
106
virtual
DtVrfObject
*
wrapPrev
(
bool
move =
true
)
107
{
108
return
lastMatch(
DtVrfObjectIterator::wrapPrev
(move),
true
, move);
//wrap
109
};
110
114
virtual
DtVrfObject
*
last
(
bool
move =
true
)
115
{
116
return
lastMatch(
DtVrfObjectIterator::last
(move),
false
, move);
//don't wrap
117
};
118
121
virtual
DtVrfObject
* firstMatch(
DtVrfObject
* initial,
bool
wrap,
122
bool
move =
true
);
123
126
virtual
DtVrfObject
* lastMatch(
DtVrfObject
* initial,
bool
wrap,
bool
move =
true
);
127
129
virtual
void
setFilter(
const
DtVrfObjectPredicate
& objectPredicate);
130
131
void
setFilter(
const
DtObjectType
& filter);
132
133
virtual
void
setFilter(
DtFilterFcn
filter,
void
* usrData = 0);
134
135
virtual
void
setInvertFilter
(
bool
invert) { myInvertFilter = invert; };
136
virtual
bool
invertFilter
()
const
{
return
myInvertFilter; };
137
138
139
protected
:
144
virtual
bool
matchFilter(
DtVrfObject
* simObject)
const
;
145
146
static
bool
filterByObjType(
const
DtVrfObject
*
object
,
void
* usr);
147
static
bool
filterByPredicate(
const
DtVrfObject
*
object
,
void
* usr);
148
149
protected
:
150
DtVrfObjectPredicate
*
myVrfObjectPredicate
;
151
bool
myDoFiltering
;
152
DtFilterFcnInfo
myFilterInfo
;
153
DtObjectType
myFilter
;
154
bool
myInvertFilter
;
155
};
156
157
#endif
Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)