diff --git a/include/osg/PrimitiveSet b/include/osg/PrimitiveSet index 3c1156f2a..df7df534d 100644 --- a/include/osg/PrimitiveSet +++ b/include/osg/PrimitiveSet @@ -119,6 +119,14 @@ public: /// Mimics the OpenGL \c glEnd() function. virtual void end() = 0; + + void useVertexCacheAsVertexArray() + { + setVertexArray(_vertexCache.size(),&_vertexCache.front()); + } + + std::vector _vertexCache; + bool _treatVertexDataAsTemporary; }; class PrimitiveIndexFunctor @@ -143,6 +151,14 @@ public: virtual void begin(GLenum mode) = 0; virtual void vertex(unsigned int pos) = 0; virtual void end() = 0; + + void useVertexCacheAsVertexArray() + { + setVertexArray(_vertexCache.size(),&_vertexCache.front()); + } + + std::vector _vertexCache; + bool _treatVertexDataAsTemporary; }; class DrawElements; diff --git a/include/osg/TemplatePrimitiveFunctor b/include/osg/TemplatePrimitiveFunctor index 699e0c817..4d446b944 100644 --- a/include/osg/TemplatePrimitiveFunctor +++ b/include/osg/TemplatePrimitiveFunctor @@ -307,8 +307,6 @@ namespace osg { const Vec3* _vertexArrayPtr; GLenum _modeCache; - std::vector _vertexCache; - bool _treatVertexDataAsTemporary; }; diff --git a/include/osg/TriangleFunctor b/include/osg/TriangleFunctor index a60af0940..4f7338a99 100644 --- a/include/osg/TriangleFunctor +++ b/include/osg/TriangleFunctor @@ -387,8 +387,6 @@ protected: const Vec3* _vertexArrayPtr; GLenum _modeCache; - std::vector _vertexCache; - bool _treatVertexDataAsTemporary; };