diff --git a/include/osgText/Text b/include/osgText/Text index f7e91d942..dd3a413e7 100644 --- a/include/osgText/Text +++ b/include/osgText/Text @@ -111,6 +111,9 @@ class OSGTEXT_EXPORT Text : public osg::Drawable void setText(const std::string& text) { _text=text; _initAlignment=false; } const std::string& getText() const { return _text; } + virtual bool supports(PrimitiveFunctor& pf) const; + virtual void accept(PrimitiveFunctor& pf) const; + virtual void drawImplementation(osg::State& state) const; virtual void drawBoundingBox(void) const; virtual void drawAlignment(void) const; diff --git a/src/osgText/Text.cpp b/src/osgText/Text.cpp index 941217c26..ea8e295db 100644 --- a/src/osgText/Text.cpp +++ b/src/osgText/Text.cpp @@ -172,6 +172,25 @@ bool Text::computeBound() const return true; } +bool Text::supports(PrimitiveFunctor&) const +{ + return true; +} + +void Text::accept(PrimitiveFunctor& functor) const +{ + Vec3 boundingVertices[4]; + boundingVertices[0].set(_bbox._min._v[0],_bbox._max._v[1],_bbox._min._v[2]); + boundingVertices[1] = _bbox._min; + boundingVertices[2].set(_bbox._max._v[0],_bbox._min._v[1],_bbox._max._v[2]); + boundingVertices[3] = _bbox._max; + + functor.setVertexArray(4,boundingVertices); + functor.drawArrays( GL_QUADS, 0, 4); + + cout << "done draw arrays"<