8 #ifndef ssAllIntersectionsFunctor_H_
9 #define ssAllIntersectionsFunctor_H_
11 #include <vlutil/vlConfig.h>
30 template <
typename TypeToIntersect,
typename Container>
54 virtual bool operator()(TypeToIntersect& itemToIntersect, Container& container);
77 template <
typename TypeToIntersect,
typename Container>
80 , myIntersectionRecordContainer(0)
81 , myIntersectionRecordType(
DtGdbNode::IRT_IPOINT)
86 template <
typename TypeToIntersect,
typename Container>
91 template <
typename TypeToIntersect,
typename Container>
93 (TypeToIntersect& itemToIntersect, Container& containerToIntersect)
98 assert(myIntersectionRecordContainer != 0);
100 typename Container::iterator iter = containerToIntersect.begin();
101 typename Container::iterator endIter = containerToIntersect.end();
102 for (; iter != endIter; ++iter)
104 if ((*iter)->allIntersectsAlongChord(itemToIntersect,
105 *myIntersectionRecordContainer, myIntersectionRecordType))
107 assert(myIntersectionRecordContainer->count() != 0);
113 if ( myIntersectionRecordType == 0x07 ||
114 myIntersectionRecordType == 0x20 ||
115 myIntersectionRecordType == 0x27)
132 template <
typename TypeToIntersect,
typename Container>
136 return myIntersectionRecordContainer;
140 template <
typename TypeToIntersect,
typename Container>
144 assert(newIntersectionRecordContainer != 0);
145 myIntersectionRecordContainer = newIntersectionRecordContainer;
149 template <
typename TypeToIntersect,
typename Container>
153 return myIntersectionRecordType;
157 template <
typename TypeToIntersect,
typename Container>
161 myIntersectionRecordType = newIntersectionRecordType;