SoText3(3IV)

SoText3 (SoTxt3) - 3D text shape node

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoText3 (SoTxt3) - 3D text shape node

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoShape > SoText3

SYNOPSIS
     #include <Inventor_c/nodes/SoText3.h>

     typedef SoText3     SoTxt3

     enum SoText3Justification {
          SO_TXT3_LEFT        Left edges of all strings are aligned
          SO_TXT3_RIGHT       Right edges of all strings are aligned
          SO_TXT3_CENTER      Centers of all strings are aligned
     }

     enum SoText3Part {
          SO_TXT3_FRONT       Front faces of characters
          SO_TXT3_SIDES       Extruded sides of characters
          SO_TXT3_BACK        Back faces of characters
          SO_TXT3_ALL         All parts
     }

          Fields from class SoText3:

     SoMFString          string
     SoSFFloat           spacing
     SoSFBitMask         parts
     SoSFEnum            justification

          Functions from class SoText3:

     SoText3 *           SoTxt3Create()
     SoType              SoTxt3GetClassTypeId()

          Functions from class SoNode:

     void                SoTxt3SetOverride(SoTxt3 *this, SbBool state)
     SbBool              SoTxt3IsOverride(const SoTxt3 *this)
     SoNode *            SoTxt3Copy(const SoTxt3 *this, SbBool copyConnections
                              = FALSE)
     SbBool              SoTxt3AffectsState(const SoTxt3 *this)
     SoNode *            SoTxt3GetByName(const char *name)
     int                 SoTxt3GetByNameList(const char *name, SoNodeList
                              *list)

          Functions from class SoFieldContainer:

     void                SoTxt3SetToDflts(SoTxt3 *this)
     SbBool              SoTxt3HasDfltVals(const SoTxt3 *this)

     SbBool              SoTxt3FldsAreEq(const SoTxt3 *this, const
                              SoFieldContainer *fc)
     void                SoTxt3CopyFieldVals(SoTxt3 *this, const
                              SoFieldContainer *fc, SbBool copyConnections =
                              FALSE)
     SbBool              SoTxt3Set(SoTxt3 *this, const char *fieldDataString)
     void                SoTxt3Get(SoTxt3 *this, SbString *fieldDataString)
     int                 SoTxt3GetFields(const SoTxt3 *this, SoFieldList
                              *resultList)
     SoField *           SoTxt3GetField(const SoTxt3 *this, const char
                              *fieldName)
     SbBool              SoTxt3GetFieldName(const SoTxt3 *this, const SoField
                              *field, SbName *fieldName)
     SbBool              SoTxt3IsNotifyEnabled(const SoTxt3 *this)
     SbBool              SoTxt3EnableNotify(SoTxt3 *this, SbBool flag)

          Functions from class SoBase:

     void                SoTxt3Ref(SoTxt3 *this)
     void                SoTxt3Unref(const SoTxt3 *this)
     void                SoTxt3UnrefNoDelete(const SoTxt3 *this)
     void                SoTxt3Touch(SoTxt3 *this)
     SoType              SoTxt3GetTypeId(const SoTxt3 *this)
     SbBool              SoTxt3IsOfType(const SoTxt3 *this, SoType type)
     void                SoTxt3SetName(SoTxt3 *this, const char *name)
     SbName              SoTxt3GetName(const SoTxt3 *this)


DESCRIPTION
     This node defines one or more strings of 3D text. In contrast with
     SoText2, 3D text can be rotated, scaled, lighted, and textured, just like
     all other 3D shapes. Each character in a 3D text string is created by
     extruding an outlined version of the character (in the current typeface)
     along the current profile, as defined by nodes derived from SoProfile.
     The default text profile, if none is specified, is a straight line
     segment one unit long.

     The text origin is at (0,0,0) after applying the current transformation.
     The scale of the text is affected by the size field of the current SoFont
     as well as the current transformation.

     SoText3 uses the current set of materials when rendering. If the material
     binding is OVERALL, then the whole text is drawn with the first material.
     If it is PER_PART or PER_PART_INDEXED, the front part of the text is
     drawn with the first material, the sides with the second, and the back
     with the third.

     Textures are applied to 3D text as follows. On the front and back faces
     of the text, the texture origin is at the base point of the first string;
     the base point is at the lower left for justification LEFT, at the lower
     right for RIGHT, and at the lower center for CENTER. The texture is
     scaled equally in both S and T dimensions, with the font height
     representing 1 unit. S increases to the right on the front faces and to
     the left on the back faces. On the sides, the texture is scaled the same
     as on the front and back. S is equal to 0 at the rear edge of the side
     faces. The T origin can occur anywhere along each character, depending on
     how that character's outline is defined.

FIELDS
     SoMFString          string
          The text string(s) to display. Each string will appear on its own
          line. The string(s) can be ascii or UTF-8.

     SoSFFloat           spacing
          Defines the distance (in the negative y direction) between the base
          points of successive strings, measured with respect to the current
          font height. A value of 1 indicates single spacing, a value of 2
          indicates double spacing, and so on.

     SoSFBitMask         parts
          Which parts of text are visible. Note that, for speed, the default
          for this field is FRONT only.

     SoSFEnum            justification
          Indicates placement and alignment of strings. With LEFT
          justification, the left edge of the first line is at the
          (transformed) origin, and all left edges are aligned. RIGHT
          justification is similar. CENTER justification places the center of
          the first string at the (transformed) origin, with the centers of
          all remaining strings aligned under it.


FUNCTIONS
     SoText3 *           SoTxt3Create()
          Creates a 3D text node with default settings.

     SoType              SoTxt3GetClassTypeId()
          Returns type identifier for this class.


ACTION BEHAVIOR
     SoGLRenderAction
          Draws text based on the current font, profiles, transformation,
          drawing style, material, texture, complexity, and so on.

     SoRayPickAction
          Performs a pick on the text. The string index and character position
          are available from the SoTextDetail.

     SoGetBoundingBoxAction
          Computes the bounding box that encloses the text.

     SoCallbackAction
          If any triangle callbacks are registered with the action, they will
          be invoked for each successive triangle used to approximate the text
          geometry.


FILE FORMAT/DEFAULTS
     Text3 {
          string         ""
          spacing        1
          justification  LEFT
          parts          FRONT
     }

SEE ALSO
     SoFont, SoProfile, SoText2, SoTextDetail