ValidDataOperator
Go to the documentation of this file.
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#ifndef OSGTERRAIN_VALIDDATAOPERATOR
#define OSGTERRAIN_VALIDDATAOPERATOR 1
#include <osg/Referenced>
#include <osg/Vec2>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osgTerrain/Export>
namespace osgTerrain {
struct ValidDataOperator : public osg::Referenced
{
virtual bool operator() (float /*value*/) const { return true; }
virtual bool operator() (const osg::Vec2& value) const { return operator()(value.x()) && operator()(value.y()) ; }
virtual bool operator() (const osg::Vec3& value) const { return operator()(value.x()) && operator()(value.y()) && operator()(value.z()); }
virtual bool operator() (const osg::Vec4& value) const { return operator()(value.x()) && operator()(value.y()) && operator()(value.z()) && operator()(value.w()); }
};
struct ValidRange : public ValidDataOperator
{
ValidRange(float minValue, float maxValue):
_minValue(minValue),
_maxValue(maxValue) {}
void setRange(float minValue, float maxValue)
{
_minValue = minValue;
_maxValue = maxValue;
}
void setMinValue(float minValue) { _minValue = minValue; }
float getMinValue() const { return _minValue; }
void setMaxValue(float maxValue) { _maxValue = maxValue; }
float getMaxValue() const { return _maxValue; }
virtual bool operator() (float value) const { return value>=_minValue && value<=_maxValue; }
float _minValue, _maxValue;
};
struct NoDataValue : public ValidDataOperator
{
NoDataValue(float value):
_value(value) {}
void setNoDataValue(float value) { _value = value; }
float getValue() const { return _value; }
virtual bool operator() (float value) const { return value!=_value; }
float _value;
};
}
#endif
Referenced
Vec2
Vec3
Vec4
osg::Referenced
Definition Referenced:44
osg::Vec2f::x
value_type & x()
Definition Vec2f:67
osg::Vec2f::y
value_type & y()
Definition Vec2f:68
osg::Vec3f::z
value_type & z()
Definition Vec3f:82
osg::Vec3f::y
value_type & y()
Definition Vec3f:81
osg::Vec3f::x
value_type & x()
Definition Vec3f:80
osg::Vec4f::y
value_type & y()
Definition Vec4f:88
osg::Vec4f::x
value_type & x()
Definition Vec4f:87
osg::Vec4f::z
value_type & z()
Definition Vec4f:89
osg::Vec4f::w
value_type & w()
Definition Vec4f:90
osgTerrain
Definition Node:29
osg::Vec2
Vec2f Vec2
Definition Vec2:21
osg::Vec3
Vec3f Vec3
Definition Vec3:21
osg::Vec4
Vec4f Vec4
Definition Vec4:21
Export
osgTerrain::NoDataValue::NoDataValue
NoDataValue(float value)
Definition ValidDataOperator:59
osgTerrain::NoDataValue::setNoDataValue
void setNoDataValue(float value)
Definition ValidDataOperator:62
osgTerrain::NoDataValue::getValue
float getValue() const
Definition ValidDataOperator:63
osgTerrain::NoDataValue::_value
float _value
Definition ValidDataOperator:67
osgTerrain::NoDataValue::operator()
virtual bool operator()(float value) const
Definition ValidDataOperator:65
osgTerrain::ValidDataOperator
Definition ValidDataOperator:26
osgTerrain::ValidDataOperator::operator()
virtual bool operator()(const osg::Vec2 &value) const
Definition ValidDataOperator:28
osgTerrain::ValidDataOperator::operator()
virtual bool operator()(const osg::Vec3 &value) const
Definition ValidDataOperator:29
osgTerrain::ValidDataOperator::operator()
virtual bool operator()(float) const
Definition ValidDataOperator:27
osgTerrain::ValidDataOperator::operator()
virtual bool operator()(const osg::Vec4 &value) const
Definition ValidDataOperator:30
osgTerrain::ValidRange::ValidRange
ValidRange(float minValue, float maxValue)
Definition ValidDataOperator:35
osgTerrain::ValidRange::setMaxValue
void setMaxValue(float maxValue)
Definition ValidDataOperator:48
osgTerrain::ValidRange::getMinValue
float getMinValue() const
Definition ValidDataOperator:46
osgTerrain::ValidRange::setRange
void setRange(float minValue, float maxValue)
Definition ValidDataOperator:39
osgTerrain::ValidRange::getMaxValue
float getMaxValue() const
Definition ValidDataOperator:49
osgTerrain::ValidRange::_minValue
float _minValue
Definition ValidDataOperator:53
osgTerrain::ValidRange::setMinValue
void setMinValue(float minValue)
Definition ValidDataOperator:45
osgTerrain::ValidRange::operator()
virtual bool operator()(float value) const
Definition ValidDataOperator:51
osgTerrain::ValidRange::_maxValue
float _maxValue
Definition ValidDataOperator:53