#include <graphicsPipeSelection.h>
Public Types | |
typedef PointerTo< GraphicsPipe > | PipeConstructorFunc () |
Public Member Functions | |
int | get_num_pipe_types () const |
Returns the number of different types of GraphicsPipes that are available to create through this interface. | |
TypeHandle | get_pipe_type (int n) const |
Returns the nth type of GraphicsPipe available through this interface. | |
void | print_pipe_types () const |
Writes a list of the currently known GraphicsPipe types to nout, for the user's information. | |
PointerTo< GraphicsPipe > | make_pipe (TypeHandle type) |
Creates a new GraphicsPipe of the indicated type (or a type more specific than the indicated type, if necessary) and returns it. | |
PointerTo< GraphicsPipe > | make_default_pipe () |
Creates a new GraphicsPipe of some arbitrary type. | |
int | get_num_aux_modules () const |
Returns the number of display modules that are still to be loaded. | |
void | load_aux_modules () |
Loads all the modules named in the aux-display Configrc variable, making as many graphics pipes as possible available. | |
bool | add_pipe_type (TypeHandle type, PipeConstructorFunc *func) |
Adds a new kind of GraphicsPipe to the list of available pipes for creation. | |
Static Public Member Functions | |
GraphicsPipeSelection * | get_global_ptr () |
Returns a pointer to the one global GraphicsPipeSelection object. | |
Protected Member Functions | |
GraphicsPipeSelection () | |
~GraphicsPipeSelection () | |
Private Types | |
typedef pvector< PipeType > | PipeTypes |
typedef pset< string > | DisplayModules |
Private Member Functions | |
void | load_default_module () const |
Conditionally calls do_load_default_module(), if it has not been called before. | |
void | do_load_default_module () |
Loads the particular display module listed in the load-display Configrc variable, which should default the default pipe time. | |
void | load_named_module (const string &name) |
Loads the indicated display module by looking for a matching .dll or .so file. | |
Private Attributes | |
PipeTypes | _pipe_types |
Mutex | _lock |
DisplayModules | _display_modules |
string | _default_display_module |
string | _default_pipe_name |
bool | _default_module_loaded |
Static Private Attributes | |
GraphicsPipeSelection * | _global_ptr = NULL |
Normally there is one default interactive GraphicsPipe, and possibly other types available as well.
Definition at line 48 of file graphicsPipeSelection.h.
|
Definition at line 85 of file graphicsPipeSelection.h. |
|
Definition at line 67 of file graphicsPipeSelection.h. |
|
Definition at line 81 of file graphicsPipeSelection.h. |
|
Definition at line 39 of file graphicsPipeSelection.cxx. References _display_modules. |
|
Definition at line 87 of file graphicsPipeSelection.cxx. References _lock, _pipe_types, and load_default_module(). |
|
Adds a new kind of GraphicsPipe to the list of available pipes for creation. Normally, this is called at static init type by the various shared libraries as they are linked in. Returns true on success, false on failure. Definition at line 317 of file graphicsPipeSelection.cxx. |
|
Loads the particular display module listed in the load-display Configrc variable, which should default the default pipe time. If this string is empty or "*", loads all modules named in aux-display. Definition at line 360 of file graphicsPipeSelection.cxx. |
|
Returns a pointer to the one global GraphicsPipeSelection object.
Definition at line 52 of file graphicsPipeSelection.I. References _default_module_loaded, and INLINE. Referenced by PandaFramework::show_collision_solids(). |
|
Returns the number of display modules that are still to be loaded. If this is nonzero, then calling load_aux_modules() will likely increase the number of GraphicsPipes available. Definition at line 37 of file graphicsPipeSelection.I. References _global_ptr, INLINE, and NULL. |
|
Returns the number of different types of GraphicsPipes that are available to create through this interface.
Definition at line 103 of file graphicsPipeSelection.cxx. References _lock, _pipe_types, and load_default_module(). |
|
Returns the nth type of GraphicsPipe available through this interface.
Definition at line 125 of file graphicsPipeSelection.cxx. References _display_modules, _lock, _pipe_types, GraphicsPipeSelection::PipeType::_type, load_default_module(), and nout. |
|
Loads all the modules named in the aux-display Configrc variable, making as many graphics pipes as possible available.
Definition at line 290 of file graphicsPipeSelection.cxx. |
|
Conditionally calls do_load_default_module(), if it has not been called before.
Definition at line 70 of file graphicsPipeSelection.I. Referenced by get_num_pipe_types(), get_pipe_type(), print_pipe_types(), and ~GraphicsPipeSelection(). |
|
Loads the indicated display module by looking for a matching .dll or .so file.
Definition at line 383 of file graphicsPipeSelection.cxx. |
|
Creates a new GraphicsPipe of some arbitrary type. The user may specify a preference using the Configrc file; otherwise, one will be chosen arbitrarily. Definition at line 229 of file graphicsPipeSelection.cxx. Referenced by PandaFramework::show_collision_solids(). |
|
Creates a new GraphicsPipe of the indicated type (or a type more specific than the indicated type, if necessary) and returns it. Returns NULL if the type cannot be matched. Definition at line 182 of file graphicsPipeSelection.cxx. |
|
Writes a list of the currently known GraphicsPipe types to nout, for the user's information.
Definition at line 149 of file graphicsPipeSelection.cxx. References GraphicsPipeSelection::PipeType::_constructor, _lock, _pipe_types, GraphicsPipeSelection::PipeType::_type, TypeHandle::is_derived_from(), load_default_module(), NULL, and PT. Referenced by PandaFramework::show_collision_solids(). |
|
Definition at line 87 of file graphicsPipeSelection.h. |
|
Definition at line 89 of file graphicsPipeSelection.h. Referenced by get_global_ptr(). |
|
Definition at line 88 of file graphicsPipeSelection.h. |
|
Definition at line 86 of file graphicsPipeSelection.h. Referenced by get_pipe_type(), and GraphicsPipeSelection(). |
|
Definition at line 29 of file graphicsPipeSelection.cxx. Referenced by get_num_aux_modules(). |
|
Definition at line 83 of file graphicsPipeSelection.h. Referenced by get_num_pipe_types(), get_pipe_type(), print_pipe_types(), and ~GraphicsPipeSelection(). |
|
Definition at line 82 of file graphicsPipeSelection.h. Referenced by get_num_pipe_types(), get_pipe_type(), print_pipe_types(), and ~GraphicsPipeSelection(). |