Panda3D
Public Member Functions | Static Public Member Functions | List of all members
RenderAttribRegistry Class Reference

This class is used to associate each RenderAttrib with a different slot index at runtime, so we can store a list of RenderAttribs in the RenderState object, and very quickly look them up by type. More...

Public Member Functions

DeletedBufferChain getArrayChain ()
 Returns the DeletedBufferChain object that may be used to allocated appropriately-sized arrays of RenderState::Attribute objects. More...
 
int getMaxSlots ()
 Returns the maximum number that any slot number is allowed to grow. Actually, this number will be one higher than the highest possible slot number. This puts an upper bound on the number of RenderAttrib slots that may be allocated, and allows other code to define an array of slots. More...
 
int getNumSlots ()
 Returns the number of RenderAttrib slots that have been allocated. This is one more than the highest slot number in use. More...
 
int getNumSortedSlots ()
 Returns the number of entries in the sorted_slots list. More...
 
int getSlot (TypeHandle type_handle)
 Returns the slot number assigned to the indicated TypeHandle, or 0 if no slot number has been assigned. More...
 
const RenderAttrib getSlotDefault (int slot)
 Returns the default RenderAttrib object associated with slot n. This is the attrib that should be applied in the absence of any other attrib of this type. More...
 
int getSlotSort (int slot)
 Returns the sort number associated with slot n. More...
 
TypeHandle getSlotType (int slot)
 Returns the TypeHandle associated with slot n. More...
 
int getSortedSlot (int n)
 Returns the nth slot in sorted order. By traversing this list, you will retrieve all the slot numbers in order according to their registered sort value. More...
 
 setSlotSort (int slot, int sort)
 Changes the sort number associated with slot n. More...
 

Static Public Member Functions

static RenderAttribRegistry getGlobalPtr ()
 

Detailed Description

This class is used to associate each RenderAttrib with a different slot index at runtime, so we can store a list of RenderAttribs in the RenderState object, and very quickly look them up by type.

Member Function Documentation

◆ getArrayChain()

DeletedBufferChain getArrayChain ( )

Returns the DeletedBufferChain object that may be used to allocated appropriately-sized arrays of RenderState::Attribute objects.

◆ getGlobalPtr()

static RenderAttribRegistry getGlobalPtr ( )
static

◆ getMaxSlots()

int getMaxSlots ( )

Returns the maximum number that any slot number is allowed to grow. Actually, this number will be one higher than the highest possible slot number. This puts an upper bound on the number of RenderAttrib slots that may be allocated, and allows other code to define an array of slots.

This number will not change during the lifetime of the application.

◆ getNumSlots()

int getNumSlots ( )

Returns the number of RenderAttrib slots that have been allocated. This is one more than the highest slot number in use.

◆ getNumSortedSlots()

int getNumSortedSlots ( )

Returns the number of entries in the sorted_slots list.

◆ getSlot()

int getSlot ( TypeHandle  type_handle)

Returns the slot number assigned to the indicated TypeHandle, or 0 if no slot number has been assigned.

◆ getSlotDefault()

const RenderAttrib getSlotDefault ( int  slot)

Returns the default RenderAttrib object associated with slot n. This is the attrib that should be applied in the absence of any other attrib of this type.

◆ getSlotSort()

int getSlotSort ( int  slot)

Returns the sort number associated with slot n.

◆ getSlotType()

TypeHandle getSlotType ( int  slot)

Returns the TypeHandle associated with slot n.

◆ getSortedSlot()

int getSortedSlot ( int  n)

Returns the nth slot in sorted order. By traversing this list, you will retrieve all the slot numbers in order according to their registered sort value.

◆ setSlotSort()

setSlotSort ( int  slot,
int  sort 
)

Changes the sort number associated with slot n.