00001 // Filename: geomIssuer.I 00002 // Created by: drose (04Feb99) 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 //////////////////////////////////////////////////////////////////// 00021 // Function: GeomIssuer::issue_vertex 00022 // Access: Public 00023 // Description: Uses the function pointers set up by the constructor 00024 // to actually issue the vertex to the rendering 00025 // backend. If the vertex does not have the indicated 00026 // bind type, nothing is done. 00027 //////////////////////////////////////////////////////////////////// 00028 INLINE void GeomIssuer:: 00029 issue_vertex(GeomBindType bind, Geom::VertexIterator &i) { 00030 _vertex_command[bind](_geom, i, _gsg); 00031 } 00032 00033 //////////////////////////////////////////////////////////////////// 00034 // Function: GeomIssuer::issue_normal 00035 // Access: Public 00036 // Description: Uses the function pointers set up by the constructor 00037 // to actually issue the normal to the rendering 00038 // backend. If the normal does not have the indicated 00039 // bind type, nothing is done. 00040 //////////////////////////////////////////////////////////////////// 00041 INLINE void GeomIssuer:: 00042 issue_normal(GeomBindType bind, Geom::NormalIterator &i) { 00043 _normal_command[bind](_geom, i, _gsg); 00044 } 00045 00046 //////////////////////////////////////////////////////////////////// 00047 // Function: GeomIssuer::issue_texcoord 00048 // Access: Public 00049 // Description: Uses the function pointers set up by the constructor 00050 // to actually issue the texCoord to the rendering 00051 // backend. If the texCoord does not have the indicated 00052 // bind type, nothing is done. 00053 //////////////////////////////////////////////////////////////////// 00054 INLINE void GeomIssuer:: 00055 issue_texcoord(GeomBindType bind, Geom::TexCoordIterator &i) { 00056 _texcoord_command[bind](_geom, i, _gsg); 00057 } 00058 00059 //////////////////////////////////////////////////////////////////// 00060 // Function: GeomIssuer::issue_color 00061 // Access: Public 00062 // Description: Uses the function pointers set up by the constructor 00063 // to actually issue the color to the rendering 00064 // backend. If the color does not have the indicated 00065 // bind type, nothing is done. 00066 //////////////////////////////////////////////////////////////////// 00067 INLINE void GeomIssuer:: 00068 issue_color(GeomBindType bind, Geom::ColorIterator &i) { 00069 _color_command[bind](_geom, i, _gsg); 00070 } 00071 00072