Developer Documentation
ACG::SceneGraph::TextNode Class Reference

#include <ACG/Scenegraph/TextNode.hh>

Inheritance diagram for ACG::SceneGraph::TextNode:
ACG::SceneGraph::BaseNode

Public Types

enum  TextMode { SCREEN_ALIGNED , SCREEN_ALIGNED_STATIC_SIZE , OBJECT_ALIGNED }
 
- Public Types inherited from ACG::SceneGraph::BaseNode
enum  StatusMode { Active = 0x1 , HideNode = 0x2 , HideChildren = 0x4 , HideSubtree = 0x8 }
 Status modi. More...
 
enum  TraverseMode { NodeFirst = 0x1 , ChildrenFirst = 0x2 , SecondPass = 0x4 }
 Node traverse types. More...
 
typedef std::vector< BaseNode * >::const_iterator ConstChildIter
 allows to iterate over children More...
 
typedef std::vector< BaseNode * >::iterator ChildIter
 allows to iterate over children More...
 
typedef std::vector< BaseNode * >::const_reverse_iterator ConstChildRIter
 allows to reverse iterate over children More...
 
typedef std::vector< BaseNode * >::reverse_iterator ChildRIter
 allows to reverse iterate over children More...
 
enum  PASSES {
  NOPASS = 0 , ALLPASSES = 1 << 0 , PASS_1 = 1 << 1 , PASS_2 = 1 << 2 ,
  PASS_3 = 1 << 3 , PASS_4 = 1 << 4 , PASS_5 = 1 << 5 , PASS_6 = 1 << 6 ,
  PASS_7 = 1 << 7 , PASS_8 = 1 << 8
}
 This enum should be used to enable rendering of a node in different. More...
 
typedef unsigned int MultipassBitMask
 Multipass pass bit mask type. More...
 

Public Member Functions

 TextNode (BaseNode *_parent=0, const std::string &_name="<TextNode>", TextMode _textMode=SCREEN_ALIGNED, bool _alwaysOnTop=false)
 
 ~TextNode ()
 destructor More...
 
 ACG_CLASSNAME (TextNode)
 static name of this class
 
DrawModes::DrawMode availableDrawModes () const override
 return available draw modes More...
 
void boundingBox (Vec3d &_bbMin, Vec3d &_bbMax) override
 update bounding box More...
 
void draw (GLState &_state, const DrawModes::DrawMode &_drawMode) override
 draw Text More...
 
void enter (GLState &_state, const DrawModes::DrawMode &_drawmode) override
 set texture and drawing states More...
 
void enterCompat (GLState &_state, const DrawModes::DrawMode &_drawmode)
 
void leave (GLState &_state, const DrawModes::DrawMode &_drawmode) override
 restore texture and drawing states More...
 
void leaveCompat (GLState &_state, const DrawModes::DrawMode &_drawmode)
 
void getRenderObjects (ACG::IRenderer *_renderer, ACG::GLState &_state, const ACG::SceneGraph::DrawModes::DrawMode &_drawMode, const ACG::SceneGraph::Material *_mat) override
 set RenderObject for Shader pipeline renderer More...
 
void setRenderingMode (TextMode _textMode)
 
void setAlwaysOnTop (bool _alwaysOnTop)
 draw the text always on top More...
 
bool alwaysOnTop ()
 returns wheter always on top is setted or not More...
 
TextMode renderingMode ()
 returns the rendering mode (SCREEN_ALIGNED or OBJECT_ALIGNED) More...
 
void setText (std::string _text)
 sets the string that will be rendered More...
 
void setSize (const double _size)
 sets the size by which the quads displaying the text will be scaled More...
 
void setPixelSize (const unsigned int _size)
 sets the pixelsize of the text (only available for the SCREEN_ALIGNED_STATIC_SIZE mode and only works, if scaling is 1) More...
 
void setFont (const QFont &_font)
 sets the font to be used for generating a texture with most characters of the chosen font More...
 
float lastScale ()
 returns the scaling factor for screen aligned text the text. returns 0, if textmode is not SCREEN_ALIGNED_STATIC_SIZE More...
 
- Public Member Functions inherited from ACG::SceneGraph::BaseNode
 BaseNode (BaseNode *_parent=0, std::string _name="<unknown>")
 Default constructor. More...
 
 BaseNode (BaseNode *_parent, BaseNode *_child, std::string _name="<unknown>")
 Put this node between _parent and _child. More...
 
virtual ~BaseNode ()
 Destructor. More...
 
void delete_subtree ()
 Delete the whole subtree of this node. More...
 
virtual const std::string & className () const =0
 Return class name (implemented by the ACG_CLASSNAME macro)
 
virtual DrawModes::DrawMode availableDrawModes () const
 
virtual void boundingBox (Vec3d &, Vec3d &)
 
virtual void enter (GLState &, const DrawModes::DrawMode &)
 
virtual void enter (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode)
 
virtual void draw (GLState &, const DrawModes::DrawMode &)
 Draw this node using the draw modes _drawMode. More...
 
virtual void getRenderObjects (IRenderer *_renderer, GLState &_state, const DrawModes::DrawMode &_drawMode, const Material *_mat)
 Deferred draw call with shader based renderer. More...
 
virtual void leave (GLState &, const DrawModes::DrawMode &)
 
virtual void leave (IRenderer *, GLState &_state, const DrawModes::DrawMode &_drawMode)
 
virtual void enterPick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode)
 
virtual void pick (GLState &, PickTarget)
 
virtual void leavePick (GLState &_state, PickTarget _target, const DrawModes::DrawMode &_drawMode)
 
void enablePicking (bool _enable)
 
bool pickingEnabled ()
 
virtual void mouseEvent (GLState &, QMouseEvent *)
 Handle mouse event (some interaction, e.g. modeling) More...
 
void setDirty (bool _dirty=true)
 mark node for redrawn More...
 
bool isDirty () const
 Check if node should be redrawn. More...
 
ChildIter childrenBegin ()
 Returns: begin-iterator of children. More...
 
ConstChildIter childrenBegin () const
 Same but cont. More...
 
ChildIter childrenEnd ()
 Returns: end-iterator of children. More...
 
ConstChildIter childrenEnd () const
 Same but const. More...
 
ChildRIter childrenRBegin ()
 Returns: reverse begin-iterator of children. More...
 
ConstChildRIter childrenRBegin () const
 Same but const. More...
 
ChildRIter childrenREnd ()
 Returns: reverse end-iterator of children. More...
 
ConstChildRIter childrenREnd () const
 Same but const. More...
 
void push_back (BaseNode *_node)
 Insert _node at the end of the list of children. More...
 
void remove (ChildIter _pos)
 
size_t nChildren () const
 number of children More...
 
ChildIter find (BaseNode *_node)
 
BaseNodefind (const std::string &_name)
 
BaseNodeparent ()
 Get the nodes parent node. More...
 
const BaseNodeparent () const
 Get the nodes parent node. More...
 
void set_parent (BaseNode *_parent)
 Set the parent of this node. More...
 
StatusMode status () const
 Get node's status. More...
 
void set_status (StatusMode _s)
 Set the status of this node. More...
 
void hide ()
 Hide Node: set status to HideNode. More...
 
void show ()
 Show node: set status to Active. More...
 
bool visible ()
 Is node visible (status == Active)? More...
 
bool hidden ()
 Is node not visible (status != Active)? More...
 
std::string name () const
 Returns: name of node (needs not be unique) More...
 
void name (const std::string &_name)
 rename a node More...
 
unsigned int id () const
 
DrawModes::DrawMode drawMode () const
 Return the own draw modes of this node. More...
 
void drawMode (DrawModes::DrawMode _drawMode)
 
unsigned int traverseMode () const
 Return how the node should be traversed. More...
 
void setTraverseMode (unsigned int _mode)
 Set traverse mode for node. More...
 
MultipassBitMask multipassStatus () const
 Get the current multipass settings for the nodes status functions. More...
 
void setMultipassStatus (const MultipassBitMask _passStatus)
 Set multipass settings for the nodes status functions. More...
 
void multipassStatusSetActive (const unsigned int _i, bool _active)
 Set multipass status to traverse in a specific pass. More...
 
bool multipassStatusActive (const unsigned int _i) const
 Get multipass status to traverse in a specific pass. More...
 
MultipassBitMask multipassNode () const
 Get the current multipass settings for the node. More...
 
void setMultipassNode (const MultipassBitMask _passNode)
 Set multipass settings for the node. More...
 
void multipassNodeSetActive (const unsigned int _i, bool _active)
 Set Node status to traverse in a specific pass. More...
 
bool multipassNodeActive (const unsigned int _i) const
 Get Node status to traverse in a specific pass. More...
 
void setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON)
 Set custom shaders. More...
 
void setRenderObjectShaders (const std::string &_vertexShaderFile, const std::string &_tessControlShaderFile, const std::string &_tessEvalShaderFile, const std::string &_geometryShaderFile, const std::string &_fragmentShaderFile, bool _relativePaths=true, DrawModes::DrawModePrimitive _primitiveType=DrawModes::PRIMITIVE_POLYGON)
 Set custom shaders. More...
 
void setRenderObjectUniformPool (const GLSL::UniformPool *_pool)
 Set uniforms for shader based rendering. More...
 
const GLSL::UniformPoolgetRenderObjectUniformPool ()
 Get uniforms for shader based rendering. More...
 
void setRenderObjectTexture (int _samplerSlot, GLuint _texId, GLenum _texType=GL_TEXTURE_2D)
 Set textures for shader based rendering. More...
 
void setRenderObjectModifier (RenderObjectModifier *_modifier)
 Set modifier for render objects. More...
 
RenderObjectModifiergetRenderObjectModifier ()
 Get render-object modifier. More...
 
void applyRenderObjectSettings (DrawModes::DrawModePrimitive _primitive, RenderObject *_obj) const
 Set shaders, textures and uniforms as provided by user to a render-object. More...
 

Static Protected Member Functions

static void updateFont ()
 

Private Member Functions

void updateVBO ()
 
void bindVBO ()
 binds vbo_ and sets the necessary OpenGL states More...
 
void unbindVBO ()
 unbinds vbo_ More...
 
void applyScreenAligned (GLState &_state)
 modifies _state so that the modelviewmatrix will be screenaligned. remember to call "_state.pop_modelview_matrix();" twice More...
 

Static Private Member Functions

static quint32 nearestPowerOfTwo (quint32 num)
 returns the nearest greater power of 2 to num More...
 
static std::map< char, std::pair< unsigned int, unsigned int > > createMap ()
 

Private Attributes

double size_
 scaling factor by which the quads in vbo_ are scaled More...
 
unsigned pixelSize_
 pixelSize of the text for the SCREEN_ALIGNED_STATIC_SIZE mode More...
 
std::string text_
 text to be displayed on quads in vbo_ More...
 
TextMode textMode_
 current display mode of text_ (SCREEN_ALIGNED, SCREEN_ALIGNED_STATIC_SIZE or OBJECT_ALIGNED) More...
 
GLuint vbo_
 
std::vector< GLfloat > vertexBuffer_
 buffer of vertex coordinates and texture coordinates of the quads More...
 
size_t oldVboSize_
 
bool blendEnabled_
 stores if GL_BLEND was enabled on entering TextNode More...
 
bool texture2dEnabled_
 stores if GL_TEXTURE_2D was enabled on entering TextNode More...
 
bool cullFaceEnabled_
 stores if GL_CULL_FACE was enabled on entering TextNode More...
 
bool depthEnabled_
 stores if GL_DEPTH_TEST was enabled on entering TextNode More...
 
bool alwaysOnTop_
 stores if text should be drawn always on top More...
 
bool alphaTest_
 stores if the alpha test was enabled More...
 
float alphaTestValue_
 stores the alpha value used for alpha test More...
 
GLenum alphaTestFunc_
 stores alpha test comparison function More...
 
GLint blendSrc_
 stores the sfactor parameter of glBlendFunc on entering TextNode More...
 
GLint blendDest_
 stores the dfactor parameter of glBlendFunc on entering TextNode More...
 
ACG::VertexDeclaration vertexDecl_
 stores the vertex declaration More...
 
float lastScale_
 stores the last scaling factor the text computed to SCREEN_ALIGNED_STATIC_SIZE More...
 

Static Private Attributes

static std::map< char, std::pair< unsigned int, unsigned int > > charToIndex_ = TextNode::createMap()
 maps most readable characters to indices for texture coordinate calculation in updateVBO() More...
 
static QFont qfont_ = QFont("Helvetica", 30)
 font that is used to generate the texture in updateFont() More...
 
static GLuint texture_ = 0
 handle for the texture into which characters from qfont_ are painted in updateFont() More...
 
static int imageWidth_ = 0
 width of the generated texture More...
 
static int imageHeight_ = 0
 height of the generated texture More...
 
static QFontMetrics fontMetric_ = (QFontMetrics(TextNode::qfont_))
 
static const int numberOfChars_ = 94
 number of characters that are drawn into the texture More...
 
static const unsigned int rows_ = 10
 number of rows of characters in the texture More...
 
static const unsigned int columns_ = 10
 number of columns of characters in the texture More...
 
static bool initialised_ = false
 this is used to ensure that the texture is only generated once when necessary More...
 
static QColor color_ = QColor(255, 0, 0)
 color that is used to draw the characters into the texture in updateFont() More...
 

Detailed Description

CoordsysNode renders A coordinate system.

TODO: Den Fall mode_ == POSITION implementieren. 25.11.08

TextNode can be used to display a string on quads in OpenGL. This string can be set with setText(std::string _text). A TextNode can be attached to a parent node by using the function BaseObjectData::addAdditionalNode. The quads can then be set to align to the parent (OBJECT_ALIGNED) via the setRenderingMode(TextMode _textMode) function. Alternatively the quads can be aligned to the screen (SCREEN_ALIGNED). The font that is used to display text on the screen can be set with the setFont(const QFont& _font) function. Finally the quads can be scaled via the setSize(double _size) function.

Definition at line 88 of file TextNode.hh.

Member Enumeration Documentation

◆ TextMode

Enumerator
SCREEN_ALIGNED_STATIC_SIZE 

Text will always stay parallel to screen.

OBJECT_ALIGNED 

Text will always stay parallel to screen (like SCREEN_ALIGNED) and text has static size, independent of the camera position.

Text will be transformed and projected by Modelview and projection matrix

Definition at line 92 of file TextNode.hh.

Constructor & Destructor Documentation

◆ TextNode()

ACG::SceneGraph::TextNode::TextNode ( BaseNode _parent = 0,
const std::string &  _name = "<TextNode>",
TextMode  _textMode = SCREEN_ALIGNED,
bool  _alwaysOnTop = false 
)

default constructor

Parameters
_parentDefine the parent Node this node gets attached to
_nameName of this Node
_textModeDefine the text rendering style ( see TextNode::TextMode )
_alwaysOnTopDraw text on top of everything else?

Definition at line 90 of file TextNode.cc.

◆ ~TextNode()

ACG::SceneGraph::TextNode::~TextNode ( )

destructor

Definition at line 125 of file TextNode.cc.

Member Function Documentation

◆ alwaysOnTop()

bool ACG::SceneGraph::TextNode::alwaysOnTop ( )

returns wheter always on top is setted or not

Definition at line 180 of file TextNode.cc.

◆ applyScreenAligned()

void ACG::SceneGraph::TextNode::applyScreenAligned ( GLState _state)
private

modifies _state so that the modelviewmatrix will be screenaligned. remember to call "_state.pop_modelview_matrix();" twice

Definition at line 697 of file TextNode.cc.

◆ availableDrawModes()

DrawModes::DrawMode ACG::SceneGraph::TextNode::availableDrawModes ( ) const
overridevirtual

return available draw modes

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 147 of file TextNode.cc.

◆ bindVBO()

void ACG::SceneGraph::TextNode::bindVBO ( )
private

binds vbo_ and sets the necessary OpenGL states

Definition at line 606 of file TextNode.cc.

◆ boundingBox()

void ACG::SceneGraph::TextNode::boundingBox ( Vec3d _bbMin,
Vec3d _bbMax 
)
overridevirtual

update bounding box

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 137 of file TextNode.cc.

◆ createMap()

std::map< char, std::pair< unsigned int, unsigned int > > ACG::SceneGraph::TextNode::createMap ( )
staticprivate

Creates a map charToIndex_ from most characters to an incrementing set of indices. These indices are used to create the texture coordinates in updateVBO().

Definition at line 223 of file TextNode.cc.

◆ draw()

void ACG::SceneGraph::TextNode::draw ( GLState _state,
const DrawModes::DrawMode _drawMode 
)
overridevirtual

draw Text

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 302 of file TextNode.cc.

◆ enter()

void ACG::SceneGraph::TextNode::enter ( GLState _state,
const DrawModes::DrawMode _drawmode 
)
overridevirtual

set texture and drawing states

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 241 of file TextNode.cc.

◆ enterCompat()

void ACG::SceneGraph::TextNode::enterCompat ( GLState _state,
const DrawModes::DrawMode _drawmode 
)

Definition at line 72 of file TextNodeGLCompat.cc.

◆ getRenderObjects()

void ACG::SceneGraph::TextNode::getRenderObjects ( ACG::IRenderer _renderer,
ACG::GLState _state,
const ACG::SceneGraph::DrawModes::DrawMode _drawMode,
const ACG::SceneGraph::Material _mat 
)
overridevirtual

set RenderObject for Shader pipeline renderer

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 635 of file TextNode.cc.

◆ lastScale()

float ACG::SceneGraph::TextNode::lastScale ( )
inline

returns the scaling factor for screen aligned text the text. returns 0, if textmode is not SCREEN_ALIGNED_STATIC_SIZE

screen aligned static size text will be scaled up/down in 3d space to achieve the static size in screen space lastScale returns the last scaling factor where the text was multiplied, to compute e.g. a distance which is also static in screen space

Definition at line 166 of file TextNode.hh.

◆ leave()

void ACG::SceneGraph::TextNode::leave ( GLState _state,
const DrawModes::DrawMode _drawmode 
)
overridevirtual

restore texture and drawing states

Reimplemented from ACG::SceneGraph::BaseNode.

Definition at line 273 of file TextNode.cc.

◆ leaveCompat()

void ACG::SceneGraph::TextNode::leaveCompat ( GLState _state,
const DrawModes::DrawMode _drawmode 
)

Definition at line 106 of file TextNodeGLCompat.cc.

◆ nearestPowerOfTwo()

quint32 ACG::SceneGraph::TextNode::nearestPowerOfTwo ( quint32  num)
staticprivate

returns the nearest greater power of 2 to num

Definition at line 330 of file TextNode.cc.

◆ renderingMode()

TextNode::TextMode ACG::SceneGraph::TextNode::renderingMode ( )

returns the rendering mode (SCREEN_ALIGNED or OBJECT_ALIGNED)

Definition at line 191 of file TextNode.cc.

◆ setAlwaysOnTop()

void ACG::SceneGraph::TextNode::setAlwaysOnTop ( bool  _alwaysOnTop)

draw the text always on top

Definition at line 170 of file TextNode.cc.

◆ setFont()

void ACG::SceneGraph::TextNode::setFont ( const QFont &  _font)

sets the font to be used for generating a texture with most characters of the chosen font

Definition at line 348 of file TextNode.cc.

◆ setPixelSize()

void ACG::SceneGraph::TextNode::setPixelSize ( const unsigned int  _size)

sets the pixelsize of the text (only available for the SCREEN_ALIGNED_STATIC_SIZE mode and only works, if scaling is 1)

Definition at line 732 of file TextNode.cc.

◆ setRenderingMode()

void ACG::SceneGraph::TextNode::setRenderingMode ( TextMode  _textMode)

Set the rendering mode ( see TextNode::TextMode )

Definition at line 160 of file TextNode.cc.

◆ setSize()

void ACG::SceneGraph::TextNode::setSize ( const double  _size)

sets the size by which the quads displaying the text will be scaled

Definition at line 213 of file TextNode.cc.

◆ setText()

void ACG::SceneGraph::TextNode::setText ( std::string  _text)

sets the string that will be rendered

Definition at line 202 of file TextNode.cc.

◆ unbindVBO()

void ACG::SceneGraph::TextNode::unbindVBO ( )
private

unbinds vbo_

Definition at line 624 of file TextNode.cc.

◆ updateFont()

void ACG::SceneGraph::TextNode::updateFont ( )
staticprotected

Generates a texture by drawing most characters into one texture. This texture is then used to draw single characters onto quads

@TODO Remove, if it works correctly on mac

Definition at line 359 of file TextNode.cc.

◆ updateVBO()

void ACG::SceneGraph::TextNode::updateVBO ( )
private

generates a quad for each character in text_ and also calculates the texture coordinates for each quad's character

Definition at line 460 of file TextNode.cc.

Member Data Documentation

◆ alphaTest_

bool ACG::SceneGraph::TextNode::alphaTest_
private

stores if the alpha test was enabled

Definition at line 240 of file TextNode.hh.

◆ alphaTestFunc_

GLenum ACG::SceneGraph::TextNode::alphaTestFunc_
private

stores alpha test comparison function

Definition at line 246 of file TextNode.hh.

◆ alphaTestValue_

float ACG::SceneGraph::TextNode::alphaTestValue_
private

stores the alpha value used for alpha test

Definition at line 243 of file TextNode.hh.

◆ alwaysOnTop_

bool ACG::SceneGraph::TextNode::alwaysOnTop_
private

stores if text should be drawn always on top

Definition at line 237 of file TextNode.hh.

◆ blendDest_

GLint ACG::SceneGraph::TextNode::blendDest_
private

stores the dfactor parameter of glBlendFunc on entering TextNode

Definition at line 252 of file TextNode.hh.

◆ blendEnabled_

bool ACG::SceneGraph::TextNode::blendEnabled_
private

stores if GL_BLEND was enabled on entering TextNode

Definition at line 225 of file TextNode.hh.

◆ blendSrc_

GLint ACG::SceneGraph::TextNode::blendSrc_
private

stores the sfactor parameter of glBlendFunc on entering TextNode

Definition at line 249 of file TextNode.hh.

◆ charToIndex_

std::map< char, std::pair< unsigned int, unsigned int > > ACG::SceneGraph::TextNode::charToIndex_ = TextNode::createMap()
staticprivate

maps most readable characters to indices for texture coordinate calculation in updateVBO()

Definition at line 261 of file TextNode.hh.

◆ color_

QColor ACG::SceneGraph::TextNode::color_ = QColor(255, 0, 0)
staticprivate

color that is used to draw the characters into the texture in updateFont()

Definition at line 292 of file TextNode.hh.

◆ columns_

const unsigned int ACG::SceneGraph::TextNode::columns_ = 10
staticprivate

number of columns of characters in the texture

Definition at line 286 of file TextNode.hh.

◆ cullFaceEnabled_

bool ACG::SceneGraph::TextNode::cullFaceEnabled_
private

stores if GL_CULL_FACE was enabled on entering TextNode

Definition at line 231 of file TextNode.hh.

◆ depthEnabled_

bool ACG::SceneGraph::TextNode::depthEnabled_
private

stores if GL_DEPTH_TEST was enabled on entering TextNode

Definition at line 234 of file TextNode.hh.

◆ fontMetric_

QFontMetrics ACG::SceneGraph::TextNode::fontMetric_ = (QFontMetrics(TextNode::qfont_))
staticprivate

We need to store the font metric to make sure texture font metrics and rendering metrics match.

Definition at line 277 of file TextNode.hh.

◆ imageHeight_

int ACG::SceneGraph::TextNode::imageHeight_ = 0
staticprivate

height of the generated texture

Definition at line 273 of file TextNode.hh.

◆ imageWidth_

int ACG::SceneGraph::TextNode::imageWidth_ = 0
staticprivate

width of the generated texture

Definition at line 270 of file TextNode.hh.

◆ initialised_

bool ACG::SceneGraph::TextNode::initialised_ = false
staticprivate

this is used to ensure that the texture is only generated once when necessary

Definition at line 289 of file TextNode.hh.

◆ lastScale_

float ACG::SceneGraph::TextNode::lastScale_
private

stores the last scaling factor the text computed to SCREEN_ALIGNED_STATIC_SIZE

Definition at line 258 of file TextNode.hh.

◆ numberOfChars_

const int ACG::SceneGraph::TextNode::numberOfChars_ = 94
staticprivate

number of characters that are drawn into the texture

Definition at line 280 of file TextNode.hh.

◆ oldVboSize_

size_t ACG::SceneGraph::TextNode::oldVboSize_
private

Definition at line 222 of file TextNode.hh.

◆ pixelSize_

unsigned ACG::SceneGraph::TextNode::pixelSize_
private

pixelSize of the text for the SCREEN_ALIGNED_STATIC_SIZE mode

Definition at line 206 of file TextNode.hh.

◆ qfont_

QFont ACG::SceneGraph::TextNode::qfont_ = QFont("Helvetica", 30)
staticprivate

font that is used to generate the texture in updateFont()

Definition at line 264 of file TextNode.hh.

◆ rows_

const unsigned int ACG::SceneGraph::TextNode::rows_ = 10
staticprivate

number of rows of characters in the texture

Definition at line 283 of file TextNode.hh.

◆ size_

double ACG::SceneGraph::TextNode::size_
private

scaling factor by which the quads in vbo_ are scaled

Definition at line 203 of file TextNode.hh.

◆ text_

std::string ACG::SceneGraph::TextNode::text_
private

text to be displayed on quads in vbo_

Definition at line 209 of file TextNode.hh.

◆ textMode_

TextMode ACG::SceneGraph::TextNode::textMode_
private

current display mode of text_ (SCREEN_ALIGNED, SCREEN_ALIGNED_STATIC_SIZE or OBJECT_ALIGNED)

Definition at line 212 of file TextNode.hh.

◆ texture2dEnabled_

bool ACG::SceneGraph::TextNode::texture2dEnabled_
private

stores if GL_TEXTURE_2D was enabled on entering TextNode

Definition at line 228 of file TextNode.hh.

◆ texture_

GLuint ACG::SceneGraph::TextNode::texture_ = 0
staticprivate

handle for the texture into which characters from qfont_ are painted in updateFont()

Definition at line 267 of file TextNode.hh.

◆ vbo_

GLuint ACG::SceneGraph::TextNode::vbo_
private

handle to the vertex buffer object, containing the quads on which the characters in text_ are rendered

Definition at line 218 of file TextNode.hh.

◆ vertexBuffer_

std::vector<GLfloat> ACG::SceneGraph::TextNode::vertexBuffer_
private

buffer of vertex coordinates and texture coordinates of the quads

Definition at line 221 of file TextNode.hh.

◆ vertexDecl_

ACG::VertexDeclaration ACG::SceneGraph::TextNode::vertexDecl_
private

stores the vertex declaration

Definition at line 255 of file TextNode.hh.


The documentation for this class was generated from the following files: