00001 // Filename: shader.I 00002 // Created by: mike (09Jan97) 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 INLINE Shader:: 00019 Visualize* Shader::get_viz(void) { 00020 return _viz; 00021 } 00022 00023 //////////////////////////////////////////////////////////////////// 00024 // Function: Shader::set_viz 00025 // Access: 00026 // Description: 00027 //////////////////////////////////////////////////////////////////// 00028 INLINE void Shader:: 00029 set_viz(Shader::Visualize* v) { 00030 _viz = v; 00031 } 00032 00033 //////////////////////////////////////////////////////////////////// 00034 // Function: FrustumShader::add_frustum 00035 // Access: 00036 // Description: 00037 //////////////////////////////////////////////////////////////////// 00038 INLINE int FrustumShader:: 00039 add_frustum(LensNode* frust) { 00040 make_dirty(); 00041 _frusta.push_back(frust); 00042 return (_frusta.size()); 00043 } 00044 00045 //////////////////////////////////////////////////////////////////// 00046 // Function: FrustumShader::remove_frustum 00047 // Access: 00048 // Description: 00049 //////////////////////////////////////////////////////////////////// 00050 INLINE int FrustumShader:: 00051 remove_frustum(LensNode* frust) { 00052 make_dirty(); 00053 LensVector::iterator i; 00054 for (i = _frusta.begin(); i != _frusta.end(); ++i) { 00055 if ((*i) == frust) { 00056 _frusta.erase(i); 00057 return true; 00058 } 00059 } 00060 return false; 00061 }