00001 // Filename: graphicsPipeSelection.I 00002 // Created by: drose (15Aug02) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) 2001, Disney Enterprises, Inc. All rights reserved 00008 // 00009 // All use of this software is subject to the terms of the Panda 3d 00010 // Software license. You should have received a copy of this license 00011 // along with this source code; you will also find a current copy of 00012 // the license at http://www.panda3d.org/license.txt . 00013 // 00014 // To contact the maintainers of this program write to 00015 // panda3d@yahoogroups.com . 00016 // 00017 //////////////////////////////////////////////////////////////////// 00018 00019 //////////////////////////////////////////////////////////////////// 00020 // Function: GraphicsPipeSelection::get_num_aux_modules 00021 // Access: Published 00022 // Description: Returns the number of display modules that are still 00023 // to be loaded. If this is nonzero, then calling 00024 // load_aux_modules() will likely increase the number of 00025 // GraphicsPipes available. 00026 //////////////////////////////////////////////////////////////////// 00027 INLINE int GraphicsPipeSelection:: 00028 get_num_aux_modules() const { 00029 return _display_modules.size(); 00030 } 00031 00032 //////////////////////////////////////////////////////////////////// 00033 // Function: GraphicsPipeSelection::get_global_ptr 00034 // Access: Published, Static 00035 // Description: Returns a pointer to the one global 00036 // GraphicsPipeSelection object. 00037 //////////////////////////////////////////////////////////////////// 00038 INLINE GraphicsPipeSelection *GraphicsPipeSelection:: 00039 get_global_ptr() { 00040 if (_global_ptr == (GraphicsPipeSelection *)NULL) { 00041 _global_ptr = new GraphicsPipeSelection; 00042 } 00043 return _global_ptr; 00044 } 00045 00046 //////////////////////////////////////////////////////////////////// 00047 // Function: GraphicsPipeSelection::load_default_module 00048 // Access: Private 00049 // Description: Conditionally calls do_load_default_module(), if it has 00050 // not been called before. 00051 //////////////////////////////////////////////////////////////////// 00052 INLINE void GraphicsPipeSelection:: 00053 load_default_module() const { 00054 if (!_default_module_loaded) { 00055 ((GraphicsPipeSelection *)this)->do_load_default_module(); 00056 } 00057 } 00058 00059 //////////////////////////////////////////////////////////////////// 00060 // Function: GraphicsPipeSelection::PipeType::Constructor 00061 // Access: Public 00062 // Description: 00063 //////////////////////////////////////////////////////////////////// 00064 INLINE GraphicsPipeSelection::PipeType:: 00065 PipeType(TypeHandle type, PipeConstructorFunc *constructor) : 00066 _type(type), 00067 _constructor(constructor) 00068 { 00069 }