00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CSENGINE_RDRPRIOR_H__
00020 #define __CSENGINE_RDRPRIOR_H__
00021
00022 struct iMeshWrapper;
00023 struct iRenderView;
00024
00025 CS_DECLARE_TYPED_VECTOR_NODELETE (csMeshVectorNodelete, iMeshWrapper);
00026 CS_DECLARE_TYPED_VECTOR (csMeshVectorNodeleteVector, csMeshVectorNodelete);
00027
00033 class csRenderQueueSet
00034 {
00035 private:
00036
00037 csMeshVectorNodeleteVector Queues;
00038
00039 public:
00040
00042 csRenderQueueSet ();
00044 ~csRenderQueueSet ();
00045
00047 void Add (iMeshWrapper *mesh);
00048
00050 void Remove (iMeshWrapper *mesh);
00051
00053 void RemoveUnknownPriority (iMeshWrapper *mesh);
00054
00056 int GetQueueCount () { return Queues.Length (); }
00057
00059 csMeshVectorNodelete *GetQueue (int priority)
00060 {
00061 return Queues[priority];
00062 }
00063
00065 void Sort (iRenderView* rview, int priority);
00066 };
00067
00068 #endif // __CSENGINE_RDRPRIOR_H__
00069