diff --git a/include/osgUtil/TransformAttributeFunctor b/include/osgUtil/TransformAttributeFunctor index 5419f8826..0c04ad87f 100644 --- a/include/osgUtil/TransformAttributeFunctor +++ b/include/osgUtil/TransformAttributeFunctor @@ -34,6 +34,7 @@ class OSGUTIL_EXPORT TransformAttributeFunctor : public osg::Drawable::Attribute /** Do the work of transforming vertex and normal attributes. */ virtual void apply(osg::Drawable::AttributeType type,unsigned int count,osg::Vec3* begin); + virtual void apply(osg::Drawable::AttributeType type,unsigned int count,osg::Vec3d* begin); osg::Matrix _m; osg::Matrix _im; diff --git a/src/osgUtil/TransformAttributeFunctor.cpp b/src/osgUtil/TransformAttributeFunctor.cpp index 9c2cc9f1d..4dd931a42 100644 --- a/src/osgUtil/TransformAttributeFunctor.cpp +++ b/src/osgUtil/TransformAttributeFunctor.cpp @@ -46,3 +46,25 @@ void TransformAttributeFunctor::apply(osg::Drawable::AttributeType type,unsigned } } } + +void TransformAttributeFunctor::apply(osg::Drawable::AttributeType type,unsigned int count,osg::Vec3d* begin) +{ + if (type == osg::Drawable::VERTICES) + { + osg::Vec3d* end = begin+count; + for (osg::Vec3d* itr=begin;itr