From ca42523cd0da3532309d8d6d948ff30969cb5154 Mon Sep 17 00:00:00 2001 From: "Konstantin S. Matveyev" Date: Mon, 4 Sep 2017 11:44:30 +0300 Subject: [PATCH] example_osgtext3d: more options for testing --- examples/osgtext3D/osgtext3D.cpp | 49 +++++++++++++++++++------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/examples/osgtext3D/osgtext3D.cpp b/examples/osgtext3D/osgtext3D.cpp index 24178d039..62197139b 100644 --- a/examples/osgtext3D/osgtext3D.cpp +++ b/examples/osgtext3D/osgtext3D.cpp @@ -49,23 +49,34 @@ public: { if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Up) { - m_Text3D->setCharacterSize(m_Text3D->getCharacterHeight() + 0.1); // failed - OSG_NOTICE<<"m_Text3D->getCharacterHeight()="<getCharacterHeight()<setCharacterSize(m_Text3D->getCharacterHeight() + 0.1); + OSG_NOTICE<<"m_Text3D->getCharacterHeight() = " << m_Text3D->getCharacterHeight() << std::endl; } else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Down) { - m_Text3D->setCharacterDepth(m_Text3D->getCharacterDepth() + 0.1); // ok - OSG_NOTICE<<"m_Text3D->getCharacterDepth()="<getCharacterDepth()<setCharacterDepth(m_Text3D->getCharacterDepth() + 0.1); + OSG_NOTICE<<"m_Text3D->getCharacterDepth() = " << m_Text3D->getCharacterDepth() << std::endl; } else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Left) { - m_Text3D->setText("setText\nworks!", osgText::String::ENCODING_UTF8); // ok - OSG_NOTICE<<"m_Text3D->getText()="<getText().size()<setText("Press arrow keys.", osgText::String::ENCODING_UTF8); + else if (counter%3 == 1) + m_Text3D->setText("setText\nworks!", osgText::String::ENCODING_UTF8); + else if (counter%3 == 2) + m_Text3D->setText("setText really works?", osgText::String::ENCODING_UTF8); + else if (counter%3 == 3) + m_Text3D->setText("setText works, really!", osgText::String::ENCODING_UTF8); + + ++counter; + + OSG_NOTICE<<"m_Text3D->getText().size() = " << m_Text3D->getText().size() << std::endl; } else if (ea.getKey() == osgGA::GUIEventAdapter::KEY_Right) { m_Text3D->setLineSpacing(m_Text3D->getLineSpacing() + 0.1); - OSG_NOTICE<<"m_Text3D->getLineSpacing()="<getLineSpacing()<getLineSpacing() = " << m_Text3D->getLineSpacing() << std::endl; } } @@ -90,7 +101,7 @@ int main(int argc, char** argv) if (!font) return 1; OSG_NOTICE<<"Read font "< style = new osgText::Style; @@ -238,18 +249,18 @@ int main(int argc, char** argv) geode->addDrawable( osg::createTexturedQuadGeometry(osg::Vec3(0.0f,characterSize*thickness,0.0f),osg::Vec3(characterSize,0.0,0.0),osg::Vec3(0.0f,0.0,characterSize), 0.0, 0.0, 1.0, 1.0) ); } - if (arguments.read("--add-axes")) - group->addChild(osgDB::readNodeFile("axes.osgt")); + if (arguments.read("--add-axes")) + group->addChild(osgDB::readNodeFile("axes.osgt")); - std::string mode; - if (arguments.read("--character-size-mode", mode)) - { - if (mode == "screen_coords") - { - text3D->setCharacterSizeMode(osgText::TextBase::SCREEN_COORDS); - text3D->setCharacterSize(1080/4); - } - } + std::string mode; + if (arguments.read("--character-size-mode", mode)) + { + if (mode == "screen_coords") + { + text3D->setCharacterSizeMode(osgText::TextBase::SCREEN_COORDS); + text3D->setCharacterSize(1080/4); + } + } viewer.addEventHandler(new Text3DAttributeHandler(text3D)); }