14 #ifndef OSGUTIL_OPERATIONARRAYFUNCTOR
15 #define OSGUTIL_OPERATIONARRAYFUNCTOR 1
19 #include <osgUtil/ConvertVec>
62 template <
typename ArrayType>
65 typedef typename ArrayType::ElementDataType ElementDataType;
67 ElementDataType convertedVector;
70 typename ArrayType::iterator it = array.begin();
73 typename ArrayType::iterator end = it;
76 for (; it < end; ++it)
77 (*it) += convertedVector;
89 template <
typename ArrayType>
92 typedef typename ArrayType::ElementDataType ElementDataType;
94 ElementDataType convertedVector;
97 typename ArrayType::iterator it = array.begin();
100 typename ArrayType::iterator end = it;
101 std::advance(end,
_count);
103 for (; it < end; ++it)
104 (*it) *= convertedVector;
116 #endif // ** OPERATIONARRAYFUNCTOR ** //
virtual void apply(osg::Vec4ubArray &array)
virtual void apply(osg::Vec3Array &array)
virtual void apply(osg::Vec4sArray &array)
void process(ArrayType &array)
void process(ArrayType &array)
virtual void apply(osg::Vec3bArray &array)
virtual void apply(osg::Vec2bArray &array)
virtual void apply(osg::Vec4bArray &array)
virtual void apply(osg::Vec2Array &array)
OperationArrayFunctor< MultiplyRangeOperator > MultiplyRangeFunctor
virtual void apply(osg::Vec2dArray &array)
virtual void apply(osg::Vec4dArray &array)
virtual void apply(osg::Vec2sArray &array)
virtual void apply(osg::Vec4Array &array)
virtual void apply(osg::Vec3sArray &array)
virtual void apply(osg::Array &)
virtual void apply(osg::Vec3dArray &array)
static void convert(InType &in, OutType &out)
Shader generator framework.
OperationArrayFunctor< AddRangeOperator > AddRangeFunctor