Man Linux: Main Page and Category List

NAME

       SoText2 -

       The SoText2 class is a node type for visualizing 2D text aligned with
       the camera plane.

       SoText2 text is not scaled according to the distance from the camera,
       and is not influenced by rotation or scaling as 3D primitives are. If
       these are properties that you want the text to have, you should instead
       use an SoText3 or SoAsciiText node.

SYNOPSIS

       #include <Inventor/nodes/SoText2.h>

       Inherits SoShape.

   Public Types
       enum Justification { LEFT =  1, RIGHT, CENTER }

   Public Member Functions
       SoText2 (void)
       virtual void GLRender (SoGLRenderAction *action)
       virtual void rayPick (SoRayPickAction *action)
       virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)

   Static Public Member Functions
       static void initClass (void)

   Public Attributes
       SoMFString string
       SoSFFloat spacing
       SoSFEnum justification

   Protected Member Functions
       virtual ~SoText2 ()
       virtual void generatePrimitives (SoAction *action)
       virtual void computeBBox (SoAction *action, SbBox3f &box, SbVec3f
           &center)

Detailed Description

       The SoText2 class is a node type for visualizing 2D text aligned with
       the camera plane.

       SoText2 text is not scaled according to the distance from the camera,
       and is not influenced by rotation or scaling as 3D primitives are. If
       these are properties that you want the text to have, you should instead
       use an SoText3 or SoAsciiText node.

       Note that even though the size of the 2D text is not influenced by the
       distance from the camera, the text is still subject to the usual rules
       with regard to the depthbuffer, so it will be obscured by graphics
       laying in front of it.

       The text will be positioned according to the current transformation.
       The x origin of the text is the first pixel of the leftmost character
       of the text. The y origin of the text is the baseline of the first line
       of text (the baseline being the imaginary line on which all upper case
       characters are standing).

       The size of the fonts on screen is decided from the SoFont::size field
       of a preceding SoFont-node in the scene graph, which specifies the size
       in pixel dimensions. This value sets the approximate vertical dimension
       of the letters. The default value if no SoFont-nodes are used, is 10.

       One important issue about rendering performance: since the positioning
       and rendering of an SoText2 node depends on the current viewport and
       camera, having SoText2 nodes in the scene graph will lead to a cache
       dependency on the previously encountered SoCamera-node. This can have
       severe influence on the rendering performance, since if the camera is
       above the SoText2’s nearest parent SoSeparator, the SoSeparator will
       not be able to cache the geometry under it.

       (Even worse rendering performance will be forced if the
       SoSeparator::renderCaching flag is explicitly set to ON, as the
       SoSeparator node will then continuously generate and destruct the same
       cache as the camera moves.)

       SoText2 nodes are therefore best positioned under their own SoSeparator
       node, outside areas in the scene graph that otherwise contains static
       geometry.

       Also note that SoText2 nodes cache the ids and positions of each glyph
       bitmap used to render string. This means that USE of a DEF’ed SoText2
       node, with a different font, will be noticeably slower than using two
       separate SoText2 nodes, one for each font, since it will have to
       recalculate glyph bitmap ids and positions for each call to GLrender().

       SoScale nodes can not be used to influence the dimensions of the
       rendering output of SoText2 nodes.

       FILE FORMAT/DEFAULTS:

           Text2 {
               string ’’
               spacing 1
               justification LEFT
           }

       See also:
           SoFont, SoFontStyle, SoText3, SoAsciiText

Member Enumeration Documentation

   enum SoText2::Justification Enum contains the various options for how the
       horizontal text layout text should be done. Valid values are LEFT,
       RIGHT and CENTER.

Constructor & Destructor Documentation

   SoText2::SoText2 (void) Constructor.
   SoText2::~SoText2 () [protected, virtual] Destructor.

Member Function Documentation

   void SoText2::initClass (void) [static] Sets up initialization for data
       common to all instances of this class, like submitting necessary
       information to the Coin type system.
       Reimplemented from SoShape.

   void SoText2::GLRender (SoGLRenderAction * action) [virtual] Action method
       for the SoGLRenderAction.
       This is called during rendering traversals. Nodes influencing the
       rendering state in any way or who wants to throw geometry primitives at
       OpenGL overrides this method.

       Reimplemented from SoShape.

   void SoText2::rayPick (SoRayPickAction * action) [virtual] Calculates
       picked point based on primitives generated by subclasses.
       Reimplemented from SoShape.

   void SoText2::getPrimitiveCount (SoGetPrimitiveCountAction * action)
       [virtual] Action method for the SoGetPrimitiveCountAction.
       Calculates the number of triangle, line segment and point primitives
       for the node and adds these to the counters of the action.

       Nodes influencing how geometry nodes calculates their primitive count
       also overrides this method to change the relevant state variables.

       Reimplemented from SoShape.

   void SoText2::generatePrimitives (SoAction * action) [protected, virtual]
       The method implements action behavior for shape nodes for
       SoCallbackAction. It is invoked from SoShape::callback(). (Subclasses
       should not override SoNode::callback().)
       The subclass implementations uses the convenience methods
       SoShape::beginShape(), SoShape::shapeVertex(), and SoShape::endShape(),
       with SoDetail instances, to pass the primitives making up the shape
       back to the caller.

       Implements SoShape.

   void SoText2::computeBBox (SoAction * action, SbBox3f & box, SbVec3f &
       center) [protected, virtual] Implemented by SoShape subclasses to let
       the SoShape superclass know the exact size and weighted center point of
       the shapes bounding box.
       The bounding box and center point should be calculated and returned in
       the local coordinate system.

       The method implements action behavior for shape nodes for
       SoGetBoundingBoxAction. It is invoked from SoShape::getBoundingBox().
       (Subclasses should not override SoNode::getBoundingBox().)

       The box parameter sent in is guaranteed to be an empty box, while
       center is undefined upon function entry.

       Implements SoShape.

Member Data Documentation

   SoMFString SoText2::string The set of strings to render. Each string in the
       multiple value field will be rendered on its own line.
       The default value of the field is a single empty string.

   SoSFFloat SoText2::spacing Spacing between each consecutive vertical line.
       Default value is 1.0, which means that the space between the uppermost
       line of each rendered string will equal the vertical size of the
       highest character in the bitmap alphabet.
   SoSFEnum SoText2::justification Decides how the horizontal layout of the
       text strings is done.

Author

       Generated automatically by Doxygen for Coin from the source code.