12#ifndef TT_INCLUDE_CULLSYSTEMCLASS_H
13#define TT_INCLUDE_CULLSYSTEMCLASS_H
14#include "CullableClass.h"
20 CullSystemClass(
void);
21 virtual ~CullSystemClass(
void);
22 void Reset_Collection(
void);
23 virtual void Collect_Objects(
const Vector3 & point) = 0;
24 virtual void Collect_Objects(
const AABoxClass & box) = 0;
25 virtual void Collect_Objects(
const OBBoxClass & box) = 0;
26 virtual void Collect_Objects(
const FrustumClass & frustum) = 0;
27 virtual void Update_Culling(CullableClass * obj) = 0;
29 CullableClass * Get_First_Collected_Object_Internal(
void);
30 CullableClass * Get_Next_Collected_Object_Internal(CullableClass * obj);
31 CullableClass * Peek_First_Collected_Object_Internal(
void);
32 CullableClass * Peek_Next_Collected_Object_Internal(CullableClass * obj);
33 void Add_To_Collection(CullableClass * obj);
34 CullableClass * CollectionHead;
35 friend class CullableClass;