<div dir="ltr"><div><div>Hi Lv,<br><br></div>I haven't tried modifying the drawing style of bounding box of an osgText::Text before, but it should be possible by decorating the Text subgraph with an osg::StateSet with the osg::LineStipple and osg::LineWidth StateAttributes attached to the StateSet to control the stipple and line width respectively.  <br><br>The only restriction on doing this with osgText::Text will be that osgText manages the StateSet of the Text object automatically, to enable the correct texture to be assigned and to be shared between Text elements.  This means your own osg::StateSet should be assigned to an Node that decorates the Text object rather that the Text itself.<br><br></div>Robert.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 27 October 2015 at 16:22, Lv Qing <span dir="ltr"><<a href="mailto:donlvqing@msn.com" target="_blank">donlvqing@msn.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I want to modify text.cpp so can set osgText::BoundingBox's width and line Stipple.<br>
<br>
Here is how osg draw BOUNDINGBOX in text.cpp:<br>
<br>
 if (_drawMode & BOUNDINGBOX)<br>
    {<br>
<br>
        if (_textBB.valid())<br>
        {<br>
            state.applyTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::OFF);<br>
<br>
            const osg::Matrix& matrix = _autoTransformCache[contextID]._matrix;<br>
<br>
            osg::Vec3 c00(osg::Vec3(_textBB.xMin(),_textBB.yMin(),_textBB.zMin())*matrix);<br>
            osg::Vec3 c10(osg::Vec3(_textBB.xMax(),_textBB.yMin(),_textBB.zMin())*matrix);<br>
            osg::Vec3 c11(osg::Vec3(_textBB.xMax(),_textBB.yMax(),_textBB.zMin())*matrix);<br>
            osg::Vec3 c01(osg::Vec3(_textBB.xMin(),_textBB.yMax(),_textBB.zMin())*matrix);<br>
<br>
<br>
            gl.Color4f(colorMultiplier.r()*_textBBColor.r(),colorMultiplier.g()*_textBBColor.g(),colorMultiplier.b()*_textBBColor.b(),colorMultiplier.a()*_textBBColor.a());<br>
            gl.Begin(GL_LINE_LOOP);<br>
                gl.Vertex3fv(c00.ptr());<br>
                gl.Vertex3fv(c10.ptr());<br>
                gl.Vertex3fv(c11.ptr());<br>
                gl.Vertex3fv(c01.ptr());<br>
            gl.End();<br>
        }<br>
    }<br>
<br>
I have added this two line before gl.Begin(GL_LINE_LOOP):<br>
<br>
glLineWidth (2.0);<br>
glLineStipple (1, 0x0F0F);<br>
<br>
It seems not work,need help!<br>
<br>
Thank you!<br>
<br>
Cheers,<br>
Lv<br>
<br>
------------------<br>
Read this topic online here:<br>
<a href="http://forum.openscenegraph.org/viewtopic.php?p=65460#65460" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=65460#65460</a><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</blockquote></div><br></div>