From f70b6d09937be14b7e8d10e926c0f262a14dd3e2 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Mon, 9 Jul 2007 10:47:06 +0000 Subject: [PATCH] Improved the consistency of setting of rotation and auto rotate modes in setAxisAlingment method --- src/osgText/Text.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/osgText/Text.cpp b/src/osgText/Text.cpp index e29f618d4..3b30e9555 100644 --- a/src/osgText/Text.cpp +++ b/src/osgText/Text.cpp @@ -202,29 +202,36 @@ void Text::setAxisAlignment(AxisAlignment axis) switch(axis) { case XZ_PLANE: + setAutoRotateToScreen(false); setRotation(osg::Quat(osg::inDegrees(90.0f),osg::Vec3(1.0f,0.0f,0.0f))); break; case REVERSED_XZ_PLANE: + setAutoRotateToScreen(false); setRotation(osg::Quat(osg::inDegrees(180.0f),osg::Vec3(0.0f,1.0f,0.0f))* osg::Quat(osg::inDegrees(90.0f),osg::Vec3(1.0f,0.0f,0.0f))); break; case YZ_PLANE: + setAutoRotateToScreen(false); setRotation(osg::Quat(osg::inDegrees(90.0f),osg::Vec3(1.0f,0.0f,0.0f))* osg::Quat(osg::inDegrees(90.0f),osg::Vec3(0.0f,0.0f,1.0f))); break; case REVERSED_YZ_PLANE: + setAutoRotateToScreen(false); setRotation(osg::Quat(osg::inDegrees(180.0f),osg::Vec3(0.0f,1.0f,0.0f))* osg::Quat(osg::inDegrees(90.0f),osg::Vec3(1.0f,0.0f,0.0f))* osg::Quat(osg::inDegrees(90.0f),osg::Vec3(0.0f,0.0f,1.0f))); break; case XY_PLANE: + setAutoRotateToScreen(false); setRotation(osg::Quat()); // nop - already on XY plane. break; case REVERSED_XY_PLANE: + setAutoRotateToScreen(false); setRotation(osg::Quat(osg::inDegrees(180.0f),osg::Vec3(0.0f,1.0f,0.0f))); break; case SCREEN: setAutoRotateToScreen(true); + setRotation(osg::Quat()); // nop - already on XY plane. break; } }