Panda3D

- Main Page
- Packages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Static Public Member Functions

# TextureStagePool Class Reference

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. More...

List of all members.

## Public Types
enum | Mode { MNone = 0, MName = 1, MUnique = 2 }
## Static Public Member Functions
static int | garbageCollect ()
| Releases only those TextureStages in the pool that have a reference count of exactly 1; i.e.
static Mode | getMode ()
| Returns the fundamental operating mode of the TextureStagePool.
static TextureStage | getStage (TextureStage temp)
| Returns a TextureStage pointer that represents the same TextureStage described by temp, except that it is a shared pointer.
static | listContents (ostream out)
| Lists the contents of the TextureStage pool to the indicated output stream.
static | releaseAllStages ()
| Releases all TextureStages in the pool and restores the pool to the empty state.
static | releaseStage (TextureStage temp)
| Removes the indicated TextureStage from the pool.
static | setMode (Mode mode)
| Specifies the fundamental operating mode of the TextureStagePool.
static | write (ostream out)
| Lists the contents of the TextureStage pool to the indicated output stream.

## Detailed Description

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.

## Member Enumeration Documentation

enum Mode

Enumerator:

  MNone |
  MName |
  MUnique |

## Member Function Documentation

static int garbageCollect | ( |  | ) | `[static]`

Releases only those TextureStages in the pool that have a reference count of exactly 1; i.e.

only those TextureStages that are not being used outside of the pool. Returns the number of TextureStages released.

static Mode getMode | ( |  | ) | `[static]`

Returns the fundamental operating mode of the TextureStagePool.

See set_mode().

static TextureStage getStage | ( | TextureStage | temp | ) | `[static]`

Returns a TextureStage pointer that represents the same TextureStage 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 listContents | ( | ostream | out | ) | `[static]`

Lists the contents of the TextureStage pool to the indicated output stream.

static releaseAllStages | ( |  | ) | `[static]`

Releases all TextureStages in the pool and restores the pool to the empty state.

static releaseStage | ( | TextureStage | temp | ) | `[static]`

Removes the indicated TextureStage from the pool.

static setMode | ( | Mode | mode | ) | `[static]`

Specifies the fundamental operating mode of the TextureStagePool.

If this is M_none, each call to get_stage() returns the same TextureStage pointer that was passed in (the pool is effectively disabled). If this is M_name, each call to get_stage() returns the last TextureStage passed in with the same name, whether it has different properties or not. If this is M_unique, then each call to get_stage() returns only TextureStages with identical properties.

static write | ( | ostream | out | ) | `[static]`

Lists the contents of the TextureStage pool to the indicated output stream.

All Classes Namespaces Functions Variables Enumerations Enumerator Properties