convert line ends
[canaan.git] / prj / cam / src / object / prcniter.cpp
blob62b6f83c716a95c5079f9bcb65cb0f3a65406272
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/src/object/prcniter.cpp,v 1.2 1998/10/05 17:27:07 mahk Exp $
8 //
9 //
12 #include <objdef.h>
13 #include <objquery.h>
14 #include <trait.h>
16 #include <prcniter.h>
18 // Must be last header
19 #include <dbmem.h>
22 ///////////////////////////////////////////////////////////////////////////////
24 BOOL cConcreteIter::RawNext(ObjID * pNext)
26 if (m_pObjectQuery)
28 if (!m_pObjectQuery->Done())
30 *pNext = m_pObjectQuery->Object();
31 m_pObjectQuery->Next();
32 return TRUE;
34 SafeRelease(m_pObjectQuery);
37 if (m_pProperty->IterNext(&m_iter, pNext))
39 m_pObjectQuery = m_pTrait->GetAllHeirs(*pNext, kObjectConcrete);
40 if (!OBJ_IS_CONCRETE(*pNext))
42 if (!m_pObjectQuery->Done())
44 *pNext = m_pObjectQuery->Object();
45 m_pObjectQuery->Next();
48 if (*pNext)
49 return TRUE;
52 return FALSE;
55 ///////////////////////////////////////////////////////////////////////////////