8 #ifndef ssAnyIntersectionFunctor_H_
9 #define ssAnyIntersectionFunctor_H_
11 #include <vlutil/vlConfig.h>
29 template <
typename TypeToIntersect,
typename Container>
53 virtual bool operator()(TypeToIntersect& itemToIntersect, Container& container);
75 template <
typename TypeToIntersect,
typename Container>
78 , myIntersectionRecord(0)
79 , myIntersectionRecordType(
DtGdbNode::IRT_IPOINT)
84 template <
typename TypeToIntersect,
typename Container>
89 template <
typename TypeToIntersect,
typename Container>
91 (TypeToIntersect& itemToIntersect, Container& containerToIntersect)
95 assert(myIntersectionRecord != 0);
97 typename Container::iterator iter = containerToIntersect.begin();
98 typename Container::iterator endIter = containerToIntersect.end();
99 for (; iter != endIter, !retVal; ++iter)
101 if ((*iter)->intersect(itemToIntersect, *myIntersectionRecord, myIntersectionRecordType))
103 assert(myIntersectionRecord->intersectionFound());
112 template <
typename TypeToIntersect,
typename Container>
116 return myIntersectionRecord;
120 template <
typename TypeToIntersect,
typename Container>
124 assert(newIntersectionRecord != 0);
125 myIntersectionRecord = newIntersectionRecord;
129 template <
typename TypeToIntersect,
typename Container>
133 return myIntersectionRecordType;
136 template <
typename TypeToIntersect,
typename Container>
140 myIntersectionRecordType = newIntersectionRecordType;