osgEarth 2.1.1
|
Public Member Functions | |
FillNoDataOperator () | |
virtual void | operator() (osg::HeightField *heightField) |
osgTerrain::ValidDataOperator * | getValidDataOperator () |
void | setValidDataOperator (osgTerrain::ValidDataOperator *validDataOperator) |
float | getDefaultValue () |
void | setDefaultValue (float defaultValue) |
Public Attributes | |
osg::ref_ptr < osgTerrain::ValidDataOperator > | _validDataOperator |
float | _defaultValue |
Visitor that replaces "invalid" data values with a default value.
Definition at line 163 of file HeightFieldUtils.
FillNoDataOperator::FillNoDataOperator | ( | ) |
Definition at line 419 of file HeightFieldUtils.cpp.
: _defaultValue(0.0f) { }
float osgEarth::FillNoDataOperator::getDefaultValue | ( | ) | [inline] |
Definition at line 172 of file HeightFieldUtils.
{ return _defaultValue; }
osgTerrain::ValidDataOperator* osgEarth::FillNoDataOperator::getValidDataOperator | ( | ) | [inline] |
Definition at line 169 of file HeightFieldUtils.
{ return _validDataOperator.get(); }
void FillNoDataOperator::operator() | ( | osg::HeightField * | heightField | ) | [virtual] |
Definition at line 425 of file HeightFieldUtils.cpp.
{ if (heightField && _validDataOperator.valid()) { for( unsigned int row=0; row < heightField->getNumRows(); row++ ) { for( unsigned int col=0; col < heightField->getNumColumns(); col++ ) { float val = heightField->getHeight(col, row); if (!(*_validDataOperator)(val)) { if ( col > 0 ) val = heightField->getHeight(col-1,row); else if ( col <= heightField->getNumColumns()-1 ) val = heightField->getHeight(col+1,row); if (!(*_validDataOperator)(val)) { if ( row > 0 ) val = heightField->getHeight(col, row-1); else if ( row < heightField->getNumRows()-1 ) val = heightField->getHeight(col, row+1); } if (!(*_validDataOperator)(val)) { val = _defaultValue; } heightField->setHeight( col, row, val ); } } } } }
void osgEarth::FillNoDataOperator::setDefaultValue | ( | float | defaultValue | ) | [inline] |
Definition at line 173 of file HeightFieldUtils.
{ _defaultValue = defaultValue; }
void osgEarth::FillNoDataOperator::setValidDataOperator | ( | osgTerrain::ValidDataOperator * | validDataOperator | ) | [inline] |
Definition at line 170 of file HeightFieldUtils.
{ _validDataOperator = validDataOperator; }
Definition at line 177 of file HeightFieldUtils.
osg::ref_ptr<osgTerrain::ValidDataOperator> osgEarth::FillNoDataOperator::_validDataOperator |
Definition at line 175 of file HeightFieldUtils.