⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 occlusionquerynode.cpp

📁 最新osg包
💻 CPP
字号:
//// Copyright (C) 2007 Skew Matrix Software LLC (http://www.skew-matrix.com)//// This library is open source and may be redistributed and/or modified under  // the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or // (at your option) any later version.  The full license is in LICENSE file// included with this distribution, and on the openscenegraph.org website.// // This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the // OpenSceneGraph Public License for more details.//#include <osg/OcclusionQueryNode>#include <iostream>#include <sstream>#include <string>#include <osg/io_utils>#include <osgDB/Registry>#include <osgDB/Input>#include <osgDB/Output>#include <osgDB/ParameterOutput>bool OQN_readLocalData( osg::Object &obj, osgDB::Input &fr );bool OQN_writeLocalData( const osg::Object &obj, osgDB::Output &fw );osgDB::RegisterDotOsgWrapperProxy OcclusionQueryNode_Proxy(    new osg::OcclusionQueryNode,    "OcclusionQueryNode",    "Object Node OcclusionQueryNode Group",    OQN_readLocalData,    OQN_writeLocalData);bool OQN_readLocalData( osg::Object &obj, osgDB::Input &fr ){    osg::OcclusionQueryNode& oqn = static_cast<osg::OcclusionQueryNode&>( obj );    bool advanced( false );    int param;    if (fr[0].matchWord( "QueriesEnabled" ))    {        bool enable( fr[1].getStr() == std::string("TRUE") );        oqn.setQueriesEnabled( enable );        fr+=2;        advanced = true;    }    if (fr.matchSequence( "VisibilityThreshold %i" ))    {        fr[1].getInt( param );        oqn.setVisibilityThreshold( param );        fr+=2;        advanced = true;    }    if (fr.matchSequence( "QueryFrameCount %i" ))    {        fr[1].getInt( param );        oqn.setQueryFrameCount( param );        fr+=2;        advanced = true;    }    if (fr[0].matchWord( "DebugDisplay" ))    {        bool enable( fr[1].getStr() == std::string("TRUE") );        oqn.setDebugDisplay( enable );        fr+=2;        advanced = true;    }    return advanced;}bool OQN_writeLocalData( const osg::Object &obj, osgDB::Output &fw ){    const osg::OcclusionQueryNode& oqn = static_cast<const osg::OcclusionQueryNode&>( obj );    //fw.writeObject( oqn.getOQN(i));    fw.indent() << "QueriesEnabled " <<        (oqn.getQueriesEnabled() ? "TRUE" : "FALSE")        << std::endl;    fw.indent() << "VisibilityThreshold " <<        oqn.getVisibilityThreshold() << std::endl;    fw.indent() << "QueryFrameCount " <<        oqn.getQueryFrameCount() << std::endl;    fw.indent() << "DebugDisplay " <<        (oqn.getDebugDisplay() ? "TRUE" : "FALSE")        << std::endl;    return true;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -