txpseamlod.cpp

来自「最新osg包」· C++ 代码 · 共 56 行

CPP
56
字号
#include "TXPSeamLOD.h"#include "TXPArchive.h"#include "TXPPagedLOD.h"#include "TileMapper.h"using namespace txp;using namespace osg;TXPSeamLOD::TXPSeamLOD() :    Group(){    _dx = 0;    _dy = 0;}TXPSeamLOD::TXPSeamLOD(int x, int y, int lod, int dx, int dy) :    Group(){    _tid.x = x;    _tid.y = y;    _tid.lod = lod;    _dx = dx;    _dy = dy;}TXPSeamLOD::TXPSeamLOD(const TXPSeamLOD& ttg,const osg::CopyOp& copyop) :    Group(ttg,copyop){    _tid = ttg._tid;    _dx = ttg._dx;    _dy = ttg._dy;}void TXPSeamLOD::traverse(osg::NodeVisitor& nv){    if (nv.getVisitorType()==osg::NodeVisitor::CULL_VISITOR && getNumChildren()==2)    {            TileMapper* tileMapper = dynamic_cast<TileMapper*>(nv.getUserData());        if (tileMapper && !tileMapper->isTileNeighbourALowerLODLevel(_tid,_dx,_dy))        {            getChild(1)->accept(nv);        }        else        {            getChild(0)->accept(nv);        }            }    else    {        Group::traverse(nv);    }}

⌨️ 快捷键说明

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