Improved the consistency of setting of rotation and auto rotate modes in setAxisAlingment method
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user