首页 > 代码库 > [原][osgearth]设置OE的高程,高度场的数据。修改设置高度值
[原][osgearth]设置OE的高程,高度场的数据。修改设置高度值
for( unsigned int row=0; row < hf->getNumRows(); ++row ) { for( unsigned int col=0; col < hf->getNumColumns(); ++col ) { float val = hf->getHeight(col, row); if ( !isNoData( val ) ) { continue; } if ( col > 0 ) val = hf->getHeight(col-1,row); else if ( col <= hf->getNumColumns()-1 ) val = hf->getHeight(col+1,row); if ( isNoData( val ) ) { if ( row > 0 ) val = hf->getHeight(col, row-1); else if ( row < hf->getNumRows()-1 ) val = hf->getHeight(col, row+1); } if ( isNoData( val ) ) { val = _nodata_value; } hf->setHeight( col, row, val ); } }
这是从osgearth的ImageToHeightFieldConverter.cpp文件的
osg::HeightField* ImageToHeightFieldConverter::convert(const osg::Image* image ) 函数中找到的。
这里可以看出HeightField高度场中
osg::ref_ptr<osg::FloatArray> _heights;
的组织方式
HeightField这个类的定义在Shape.cpp文件中!
[原][osgearth]设置OE的高程,高度场的数据。修改设置高度值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。