Added support for up sampling by dividing longest edges.

This commit is contained in:
Robert Osfield
2006-02-06 17:12:35 +00:00
parent 4bc13ec71b
commit 3936bcde9e
3 changed files with 240 additions and 54 deletions

View File

@@ -63,8 +63,8 @@ class OSGUTIL_EXPORT Simplifier : public osg::NodeVisitor
virtual bool continueSimplificationImplementation(float nextError, unsigned int numOriginalPrimitives, unsigned int numRemainingPrimitives) const
{
if (nextError<=getMaximumError()) return true;
return (float)numRemainingPrimitives > (float)numOriginalPrimitives * getSampleRatio();
if (getSampleRatio()<1.0) return ((float)numRemainingPrimitives > ((float)numOriginalPrimitives) * getSampleRatio()) && nextError<=getMaximumError();
else return ((float)numRemainingPrimitives < ((float)numOriginalPrimitives) * getSampleRatio());
}
@@ -88,6 +88,7 @@ class OSGUTIL_EXPORT Simplifier : public osg::NodeVisitor
/** simply the geometry, whilst protecting key points from being modified.*/
void simplify(osg::Geometry& geometry, const IndexList& protectedPoints);
protected:
float _sampleRatio;