Public Types | |
typedef std::vector < unsigned int > | IndexList |
Public Member Functions | |
Simplifier (float sampleRatio=1.0f, float maximumError=FLT_MAX, float maximumLength=0.0) | |
void | setSampleRatio (float sampleRatio) |
float | getSampleRatio () const |
void | setMaximumError (float error) |
Set the maximum point error that all point removals must be less than to permit removal of a point. | |
float | getMaximumError () const |
void | setMaximumLength (float length) |
Set the maximum length target that all edges must be shorted than. | |
float | getMaximumLength () const |
void | setDoTriStrip (bool on) |
bool | getDoTriStrip () const |
void | setSmoothing (bool on) |
bool | getSmoothing () const |
void | setContinueSimplificationCallback (ContinueSimplificationCallback *cb) |
ContinueSimplificationCallback * | getContinueSimplificationCallback () |
const ContinueSimplificationCallback * | getContinueSimplificationCallback () const |
bool | continueSimplification (float nextError, unsigned int numOriginalPrimitives, unsigned int numRemainingPrimitives) const |
virtual bool | continueSimplificationImplementation (float nextError, unsigned int numOriginalPrimitives, unsigned int numRemainingPrimitives) const |
virtual void | apply (osg::Geode &geode) |
void | simplify (osg::Geometry &geometry) |
simply the geometry. | |
void | simplify (osg::Geometry &geometry, const IndexList &protectedPoints) |
a list of point indices | |
Protected Attributes | |
float | _sampleRatio |
float | _maximumError |
float | _maximumLength |
bool | _triStrip |
bool | _smoothing |
osg::ref_ptr < ContinueSimplificationCallback > | _continueSimplificationCallback |
Classes | |
class | ContinueSimplificationCallback |
typedef std::vector<unsigned int> osgUtil::Simplifier::IndexList |
osgUtil::Simplifier::Simplifier | ( | float | sampleRatio = 1.0f , |
|
float | maximumError = FLT_MAX , |
|||
float | maximumLength = 0.0 | |||
) |
void osgUtil::Simplifier::setSampleRatio | ( | float | sampleRatio | ) | [inline] |
float osgUtil::Simplifier::getSampleRatio | ( | ) | const [inline] |
void osgUtil::Simplifier::setMaximumError | ( | float | error | ) | [inline] |
Set the maximum point error that all point removals must be less than to permit removal of a point.
Note, Only used when down sampling. i.e. sampleRatio < 1.0
float osgUtil::Simplifier::getMaximumError | ( | ) | const [inline] |
void osgUtil::Simplifier::setMaximumLength | ( | float | length | ) | [inline] |
Set the maximum length target that all edges must be shorted than.
Note, Only used when up sampling i.e. sampleRatio > 1.0.
float osgUtil::Simplifier::getMaximumLength | ( | ) | const [inline] |
void osgUtil::Simplifier::setDoTriStrip | ( | bool | on | ) | [inline] |
bool osgUtil::Simplifier::getDoTriStrip | ( | ) | const [inline] |
void osgUtil::Simplifier::setSmoothing | ( | bool | on | ) | [inline] |
bool osgUtil::Simplifier::getSmoothing | ( | ) | const [inline] |
void osgUtil::Simplifier::setContinueSimplificationCallback | ( | ContinueSimplificationCallback * | cb | ) | [inline] |
ContinueSimplificationCallback* osgUtil::Simplifier::getContinueSimplificationCallback | ( | ) | [inline] |
const ContinueSimplificationCallback* osgUtil::Simplifier::getContinueSimplificationCallback | ( | ) | const [inline] |
bool osgUtil::Simplifier::continueSimplification | ( | float | nextError, | |
unsigned int | numOriginalPrimitives, | |||
unsigned int | numRemainingPrimitives | |||
) | const [inline] |
virtual bool osgUtil::Simplifier::continueSimplificationImplementation | ( | float | nextError, | |
unsigned int | numOriginalPrimitives, | |||
unsigned int | numRemainingPrimitives | |||
) | const [inline, virtual] |
virtual void osgUtil::Simplifier::apply | ( | osg::Geode & | geode | ) | [inline, virtual] |
Reimplemented from osg::NodeVisitor.
void osgUtil::Simplifier::simplify | ( | osg::Geometry & | geometry | ) |
simply the geometry.
void osgUtil::Simplifier::simplify | ( | osg::Geometry & | geometry, | |
const IndexList & | protectedPoints | |||
) |
a list of point indices
simply the geometry, whilst protecting key points from being modified.
float osgUtil::Simplifier::_sampleRatio [protected] |
float osgUtil::Simplifier::_maximumError [protected] |
float osgUtil::Simplifier::_maximumLength [protected] |
bool osgUtil::Simplifier::_triStrip [protected] |
bool osgUtil::Simplifier::_smoothing [protected] |
osg::ref_ptr<ContinueSimplificationCallback> osgUtil::Simplifier::_continueSimplificationCallback [protected] |