diff --git a/src/osgPlugins/dae/domSourceReader.h b/src/osgPlugins/dae/domSourceReader.h index 846dfb4b5..89bcc6be6 100644 --- a/src/osgPlugins/dae/domSourceReader.h +++ b/src/osgPlugins/dae/domSourceReader.h @@ -40,22 +40,6 @@ public: template inline OsgArrayType * getArray(); - template <> - inline osg::FloatArray* domSourceReader::getArray() { if (srcInit) convert(false); return m_float_array.get(); }; - template <> - inline osg::Vec2Array* domSourceReader::getArray() { if (srcInit) convert(false); return m_vec2_array.get(); }; - template <> - inline osg::Vec3Array* domSourceReader::getArray() { if (srcInit) convert(false); return m_vec3_array.get(); }; - template <> - inline osg::Vec4Array* domSourceReader::getArray() { if (srcInit) convert(false); return m_vec4_array.get(); }; - template <> - inline osg::Vec2dArray* domSourceReader::getArray() { if (srcInit) convert(true); return m_vec2d_array.get(); }; - template <> - inline osg::Vec3dArray* domSourceReader::getArray() { if (srcInit) convert(true); return m_vec3d_array.get(); }; - template <> - inline osg::Vec4dArray* domSourceReader::getArray() { if (srcInit) convert(true); return m_vec4d_array.get(); }; - template <> - inline osg::MatrixfArray* domSourceReader::getArray() { if (srcInit) convert(false); return m_matrix_array.get(); }; int getCount(bool enableDoublePrecision) const { if (srcInit) const_cast(this)->convert(enableDoublePrecision); return m_count; }; @@ -96,9 +80,72 @@ protected: osg::ref_ptr m_vec3d_array; osg::ref_ptr m_vec4d_array; osg::ref_ptr m_matrix_array; - }; +template <> +inline osg::FloatArray* domSourceReader::getArray() +{ + if (srcInit) + convert(false); + return m_float_array.get(); +} + +template <> +inline osg::Vec2Array* domSourceReader::getArray() +{ + if (srcInit) + convert(false); + return m_vec2_array.get(); +} + +template <> +inline osg::Vec3Array* domSourceReader::getArray() +{ + if (srcInit) + convert(false); + return m_vec3_array.get(); +} + +template <> +inline osg::Vec4Array* domSourceReader::getArray() +{ + if (srcInit) + convert(false); + return m_vec4_array.get(); +} + +template <> +inline osg::Vec2dArray* domSourceReader::getArray() +{ + if (srcInit) + convert(true); + return m_vec2d_array.get(); +} + +template <> +inline osg::Vec3dArray* domSourceReader::getArray() +{ + if (srcInit) + convert(true); + return m_vec3d_array.get(); +} + +template <> +inline osg::Vec4dArray* domSourceReader::getArray() +{ + if (srcInit) + convert(true); + return m_vec4d_array.get(); +} + +template <> +inline osg::MatrixfArray* domSourceReader::getArray() +{ + if (srcInit) + convert(false); + return m_matrix_array.get(); +} + } #endif