osgUtil::Simplifier Class Reference

A simplifier for reducing the number of traingles in osg::Geometry. More...

Inheritance diagram for osgUtil::Simplifier:

Inheritance graph
[legend]

List of all members.

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)
ContinueSimplificationCallbackgetContinueSimplificationCallback ()
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


Detailed Description

A simplifier for reducing the number of traingles in osg::Geometry.

Member Typedef Documentation

typedef std::vector<unsigned int> osgUtil::Simplifier::IndexList


Constructor & Destructor Documentation

osgUtil::Simplifier::Simplifier ( float  sampleRatio = 1.0f,
float  maximumError = FLT_MAX,
float  maximumLength = 0.0 
)


Member Function Documentation

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.


Member Data Documentation

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]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:52 2007 for the OpenSceneGraph by doxygen 1.5.3.