|
楼主 |
发表于 2013-12-13 13:20:37
|
显示全部楼层
你好,array老师,谢谢你的回复,我想使用你写的这个场景打印的代码,如果是单个模型,场景输出没有问题,现在我使用的有DEM和DOM,让只输出小的瓦片图片。我发现程序运行时,只有0行0列的小瓦片输出,程序就不在输入了。 你写的关于多面体求交的代码如下
bool PosterIntersector::enter( const osg::Node& node )
{
if (! node.isCullingActive() ) return true;
if ( _polytope.contains(node.getBound()) )
{
if ( node.getCullCallback() )
{
const osg::ClusterCullingCallback* cccb =
dynamic_cast<const osg::ClusterCullingCallback*>( node.getCullCallback() );
if ( cccb && cccb->cull(_intersectionVisitor, 0, NULL) ) return false;
}
return true;
}
return false;
}
我把你的代码改写如下
bool PosterIntersector::enter( const osg::Node& node )
{
if ( node.isCullingActive() ) return false;
if ( _polytope.contains(node.getBound()) )
{
if ( node.getCullCallback() )
{
const osg::ClusterCullingCallback* cccb =
dynamic_cast<const osg::ClusterCullingCallback*>( node.getCullCallback() );
if ( cccb && cccb->cull(_intersectionVisitor, 0, NULL) ) return false;
}
return true;
}
return false;
}
发现程序能够输出完整的全部小图片,我不知道这样改影像的是什么,因为我对intersector这个类现在还不太熟。正在了解intersector::clone intersector::enter intersector::intersect 这几个函数的执行流程。希望你指教我一下,非常感谢。 |
|