25 #ifndef __I6ENGINE_MODULES_GRAPHICS_MOVABLETEXT_H__
26 #define __I6ENGINE_MODULES_GRAPHICS_MOVABLETEXT_H__
30 #include "OGRE/Ogre.h"
31 #include "OGRE/Overlay/OgreOverlay.h"
32 #include "OGRE/Overlay/OgreOverlayContainer.h"
37 class MovableText :
public Ogre::MovableObject,
public Ogre::Renderable {
47 MovableText(
const Ogre::String & name,
const Ogre::String & caption,
const Ogre::String & fontName, Ogre::Real charHeight,
const Ogre::ColourValue & color);
51 void visitRenderables(Ogre::Renderable::Visitor * visitor,
bool debugRenderables =
false);
56 void setColor(
const Ogre::ColourValue &color);
86 return _globalTranslation;
90 return _localTranslation;
102 Ogre::String _fontName;
105 Ogre::String _caption;
109 Ogre::ColourValue _color;
110 Ogre::RenderOperation _renderOp;
111 Ogre::AxisAlignedBox _AABB;
112 Ogre::LightList _lightList;
114 Ogre::Real _charHeight;
115 Ogre::Real _spaceWidth;
121 Ogre::Real _timeUntilNextToggle;
124 Ogre::Vector3 _globalTranslation;
125 Ogre::Vector3 _localTranslation;
127 Ogre::Camera * _camera;
128 Ogre::RenderWindow * _renderWindow;
130 Ogre::MaterialPtr _material;
131 Ogre::MaterialPtr _backgroundMaterial;
134 void _setupGeometry();
135 void _updateColors();
138 void getWorldTransforms(Ogre::Matrix4 * xform)
const;
140 Ogre::Real getBoundingRadius()
const {
144 Ogre::Real getSquaredViewDepth(
const Ogre::Camera * cam)
const {
150 const Ogre::Vector3 & getWorldPosition()
const;
152 const Ogre::AxisAlignedBox & getBoundingBox()
const {
156 const Ogre::String & getName()
const {
160 const Ogre::String & getMovableType()
const {
161 static Ogre::String movType =
"MovableText";
165 void _notifyCurrentCamera(Ogre::Camera * cam);
166 void _updateRenderQueue(Ogre::RenderQueue * queue);
169 void getRenderOperation(Ogre::RenderOperation & op);
171 const Ogre::MaterialPtr & getMaterial()
const {
172 assert(!_material.isNull());
176 const Ogre::LightList & getLights()
const {
MovableText(const Ogre::String &name, const Ogre::String &caption, const Ogre::String &fontName, Ogre::Real charHeight, const Ogre::ColourValue &color)
void setFontName(const Ogre::String &fontName)
Ogre::Vector3 getLocalTranslation() const
void setCharacterHeight(Ogre::Real height)
void setLocalTranslation(Ogre::Vector3 trans)
i6e::math::i6eQuaternion Quaternion
const Ogre::String & getCaption() const
Ogre::Vector3 getGlobalTranslation() const
void setSpaceWidth(Ogre::Real width)
void showOnTop(bool show=true)
const Ogre::String & getFontName() const
Ogre::Real getCharacterHeight() const
void setGlobalTranslation(Ogre::Vector3 trans)
void visitRenderables(Ogre::Renderable::Visitor *visitor, bool debugRenderables=false)
Ogre::AxisAlignedBox GetAABB()
void setTextAlignment(const HorizontalAlignment &horizontalAlignment, const VerticalAlignment &verticalAlignment)
Ogre::Real getSpaceWidth() const
void setCaption(const Ogre::String &caption)
void setColor(const Ogre::ColourValue &color)
const Ogre::ColourValue & getColor() const
bool getShowOnTop() const