for( unsigned int row=; row < hf->getNumRows(); ++row )
{
for( unsigned int col=; col < hf->getNumColumns(); ++col )
{
float val = hf->getHeight(col, row);
if ( !isNoData( val ) ) {
continue;
}
if ( col > )
val = hf->getHeight(col-,row);
else if ( col <= hf->getNumColumns()- )
val = hf->getHeight(col+,row); if ( isNoData( val ) )
{
if ( row > )
val = hf->getHeight(col, row-);
else if ( row < hf->getNumRows()- )
val = hf->getHeight(col, row+);
} 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文件中!