00001 /*---------------------------------------------------------------------------*\ 00002 * OpenSG * 00003 * * 00004 * * 00005 * Copyright (C) 2000-2002,2002 by the OpenSG Forum * 00006 * * 00007 * www.opensg.org * 00008 * * 00009 * contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de * 00010 * * 00011 \*---------------------------------------------------------------------------*/ 00012 /*---------------------------------------------------------------------------*\ 00013 * License * 00014 * * 00015 * This library is free software; you can redistribute it and/or modify it * 00016 * under the terms of the GNU Library General Public License as published * 00017 * by the Free Software Foundation, version 2. * 00018 * * 00019 * This library is distributed in the hope that it will be useful, but * 00020 * WITHOUT ANY WARRANTY; without even the implied warranty of * 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00022 * Library General Public License for more details. * 00023 * * 00024 * You should have received a copy of the GNU Library General Public * 00025 * License along with this library; if not, write to the Free Software * 00026 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * 00027 * * 00028 \*---------------------------------------------------------------------------*/ 00029 /*---------------------------------------------------------------------------*\ 00030 * Changes * 00031 * * 00032 * * 00033 * * 00034 * * 00035 * * 00036 * * 00037 \*---------------------------------------------------------------------------*/ 00038 00039 OSG_BEGIN_NAMESPACE 00040 00041 inline Real32 RenderNode::getVisibleFaceCost(void) const 00042 { 00043 return _visibleFaceCost; 00044 } 00045 00046 inline Real32 RenderNode::getInvisibleFaceCost(void) const 00047 { 00048 return _invisibleFaceCost; 00049 } 00050 00051 inline Real32 RenderNode::getDrawPixelCost(void) const 00052 { 00053 return _drawPixelCost; 00054 } 00055 00056 inline Real32 RenderNode::getReadPixelCost(void) const 00057 { 00058 return _readPixelCost; 00059 } 00060 00061 inline Real32 RenderNode::getWritePixelCost(void) const 00062 { 00063 return _writePixelCost; 00064 } 00065 00066 inline std::string RenderNode::getVendor(void) const 00067 { 00068 return _vendor; 00069 } 00070 00071 inline std::string RenderNode::getRenderer(void) const 00072 { 00073 return _renderer; 00074 } 00075 00076 inline void RenderNode::setVisibleFaceCost(Real32 value) 00077 { 00078 _visibleFaceCost=value; 00079 } 00080 00081 inline void RenderNode::setInvisibleFaceCost(Real32 value) 00082 { 00083 _invisibleFaceCost=value; 00084 } 00085 00086 inline void RenderNode::setDrawPixelCost(Real32 value) 00087 { 00088 _drawPixelCost=value; 00089 } 00090 00091 inline void RenderNode::setReadPixelCost(Real32 value) 00092 { 00093 _readPixelCost=value; 00094 } 00095 00096 inline void RenderNode::setWritePixelCost(Real32 value) 00097 { 00098 _writePixelCost=value; 00099 } 00100 00103 inline void RenderNode::setVendor(const std::string &value) 00104 { 00105 _vendor=value; 00106 } 00107 00110 inline void RenderNode::setRenderer(const std::string &value) 00111 { 00112 _renderer=value; 00113 } 00114 00119 inline Real32 RenderNode::estimatePerformance(Real32 invisibleFaces, 00120 Real32 visibleFaces, 00121 Real32 pixel ) const 00122 { 00123 return 00124 ( invisibleFaces * _invisibleFaceCost ) + 00125 osgMax( ( visibleFaces * _visibleFaceCost ), 00126 ( pixel * _drawPixelCost ) ); 00127 } 00128 00129 OSG_END_NAMESPACE 00130 00131 #define OSG_CLUSTERNODE_INLINE_CVSID "@(#)$Id:$" 00132 00133 00134 00135 00136 00137 00138
1.4.3