diff --git a/include/osgText/Text b/include/osgText/Text index 5f31c2db2..fce2f00c0 100644 --- a/include/osgText/Text +++ b/include/osgText/Text @@ -181,10 +181,12 @@ public: REVERSED_XZ_PLANE, YZ_PLANE, REVERSED_YZ_PLANE, - SCREEN + SCREEN, + USER_DEFINED_ROTATION }; void setAxisAlignment(AxisAlignment axis); + AxisAlignment getAxisAlignment() const { return _axisAlignment; } void setRotation(const osg::Quat& quat); const osg::Quat& getRotation() const { return _rotation; } @@ -533,6 +535,7 @@ protected: String _text; osg::Vec3 _position; AlignmentType _alignment; + AxisAlignment _axisAlignment; osg::Quat _rotation; bool _autoRotateToScreen; Layout _layout; diff --git a/src/osgText/Text.cpp b/src/osgText/Text.cpp index 1800883f8..84e210ac5 100644 --- a/src/osgText/Text.cpp +++ b/src/osgText/Text.cpp @@ -41,6 +41,7 @@ Text::Text(): _maximumHeight(0.0f), _lineSpacing(0.0f), _alignment(BASE_LINE), + _axisAlignment(XY_PLANE), _autoRotateToScreen(false), _layout(LEFT_TO_RIGHT), _color(1.0f,1.0f,1.0f,1.0f), @@ -77,6 +78,7 @@ Text::Text(const Text& text,const osg::CopyOp& copyop): _text(text._text), _position(text._position), _alignment(text._alignment), + _axisAlignment(text._axisAlignment), _rotation(text._rotation), _autoRotateToScreen(text._autoRotateToScreen), _layout(text._layout), @@ -199,6 +201,8 @@ void Text::setAlignment(AlignmentType alignment) void Text::setAxisAlignment(AxisAlignment axis) { + _axisAlignment = axis; + switch(axis) { case XZ_PLANE: