From Tree, added support for accept(PrimitiveFunctor) into osg::Text. Currently

implemention is overly simple, but will do until rewrite.
This commit is contained in:
Robert Osfield
2002-12-06 19:03:34 +00:00
parent 8b58a1df83
commit baa7c11eb9
2 changed files with 22 additions and 0 deletions

View File

@@ -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;

View File

@@ -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"<<endl;
}
void Text::drawImplementation(State& state) const
{
if(!_init)