TextureStagePool
from panda3d.core import TextureStagePool
- class TextureStagePool
Bases:
The TextureStagePool (there is only one in the universe) serves to unify different pointers to the same
TextureStage
, mainly to help developers use a common pointer to access things that are loaded from different model files.It runs in one of three different modes, according to
set_mode()
. See that method for more information.Inheritance diagram
- static garbage_collect() int
Releases only those
TextureStages
in the pool that have a reference count of exactly 1; i.e. only thoseTextureStages
that are not being used outside of the pool. Returns the number ofTextureStages
released.
- static get_mode() Mode
Returns the fundamental operating mode of the
TextureStagePool
. Seeset_mode()
.
- static get_stage(temp: TextureStage) TextureStage
Returns a
TextureStage
pointer that represents the sameTextureStage
described by temp, except that it is a shared pointer.Each call to get_stage() passing an equivalent
TextureStage
pointer will return the same shared pointer.If you modify the shared pointer, it will automatically disassociate it from the pool.
Also, the return value may be a different pointer than that passed in, or it may be the same pointer. In either case, the passed in pointer has now been sacrificed to the greater good and should not be used again (like any other PointerTo, it will be freed when the last reference count is removed).
- static list_contents(out: ostream)
Lists the contents of the
TextureStage
pool to the indicated output stream.
- property mode Mode
- Getter
Returns the fundamental operating mode of the
TextureStagePool
. Seeset_mode()
.- Setter
Specifies the fundamental operating mode of the
TextureStagePool
.If this is M_none, each call to
get_stage()
returns the sameTextureStage
pointer that was passed in (the pool is effectively disabled). If this is M_name, each call toget_stage()
returns the lastTextureStage
passed in with the same name, whether it has different properties or not. If this is M_unique, then each call toget_stage()
returns onlyTextureStages
with identical properties.
- static release_all_stages()
Releases all
TextureStages
in the pool and restores the pool to the empty state.
- static release_stage(temp: TextureStage)
Removes the indicated
TextureStage
from the pool.
- static set_mode(mode: Mode)
Specifies the fundamental operating mode of the
TextureStagePool
.If this is M_none, each call to
get_stage()
returns the sameTextureStage
pointer that was passed in (the pool is effectively disabled). If this is M_name, each call toget_stage()
returns the lastTextureStage
passed in with the same name, whether it has different properties or not. If this is M_unique, then each call toget_stage()
returns onlyTextureStages
with identical properties.
- static write(out: ostream)
Lists the contents of the
TextureStage
pool to the indicated output stream.