Cocos2d-x  4.0.0
Public Types | Public Member Functions | List of all members
RenderQueue Class Reference

Class that knows how to sort RenderCommand objects. More...

Public Types

enum  QUEUE_GROUP {
  GLOBALZ_NEG = 0, OPAQUE_3D = 1, TRANSPARENT_3D = 2, GLOBALZ_ZERO = 3,
  GLOBALZ_POS = 4
}
 RenderCommand will be divided into Queue Groups. More...
 

Public Member Functions

 RenderQueue ()
 Constructor.
 
void push_back (RenderCommand *command)
 Push a renderCommand into current renderqueue.
 
ssize_t size () const
 Return the number of render commands.
 
void sort ()
 Sort the render commands.
 
RenderCommandoperator[] (ssize_t index) const
 Treat sorted commands as an array, access them one by one.
 
void clear ()
 Clear all rendered commands.
 
void realloc (size_t reserveSize)
 Realloc command queues and reserve with given size.
 
std::vector< RenderCommand * > & getSubQueue (QUEUE_GROUP group)
 Get a sub group of the render queue.
 
ssize_t getSubQueueSize (QUEUE_GROUP group) const
 Get the number of render commands contained in a subqueue.
 

Detailed Description

Class that knows how to sort RenderCommand objects.

Since the commands that have z == 0 are "pushed back" in the correct order, the only RenderCommand objects that need to be sorted, are the ones that have z < 0 and z > 0.

Member Enumeration Documentation

RenderCommand will be divided into Queue Groups.

Enumerator
GLOBALZ_NEG 

Objects with globalZ smaller than 0.

OPAQUE_3D 

Opaque 3D objects with 0 globalZ.

TRANSPARENT_3D 

Transparent 3D objects with 0 globalZ.

GLOBALZ_ZERO 

2D objects with 0 globalZ.

GLOBALZ_POS 

Objects with globalZ bigger than 0.

Constructor & Destructor Documentation

Constructor.

Member Function Documentation

void push_back ( RenderCommand command)

Push a renderCommand into current renderqueue.

ssize_t size ( ) const

Return the number of render commands.

void sort ( )

Sort the render commands.

RenderCommand* operator[] ( ssize_t  index) const

Treat sorted commands as an array, access them one by one.

void clear ( )

Clear all rendered commands.

void realloc ( size_t  reserveSize)

Realloc command queues and reserve with given size.

Note: this clears any existing commands.

std::vector<RenderCommand*>& getSubQueue ( QUEUE_GROUP  group)
inline

Get a sub group of the render queue.

ssize_t getSubQueueSize ( QUEUE_GROUP  group) const
inline

Get the number of render commands contained in a subqueue.


The documentation for this class was generated from the following file: