logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoText3 — 3D text shape node

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.

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

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

     SoSFFloatspacing
          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.

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

     SoSFEnumjustification
          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.

File Format/Defaults

Text3{string""spacing1justificationLEFTpartsFRONT}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoShape > SoText3

Methods

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

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoText3 — 3D text shape node

See Also

SoFont,SoProfile,SoText2,SoTextDetailSoText3(3IV)()

Synopsis

#include<Inventor/nodes/SoText3.h>enumJustification{SoText3::LEFT       Left edges of all strings are aligned
          SoText3::RIGHT      Right edges of all strings are aligned
          SoText3::CENTER     Centers of all strings are aligned
     }enumPart{SoText3::FRONT      Front faces of characters
          SoText3::SIDES      Extruded sides of characters
          SoText3::BACK       Back faces of characters
          SoText3::ALL        All parts
     }

          Fields from class SoText3:

     SoMFStringstringSoSFFloatspacingSoSFBitMaskpartsSoSFEnumjustification

          Methods from class SoText3:

                         SoText3()staticSoTypegetClassTypeId()

          Methods from class SoNode:

     voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)

          Methods from class SoFieldContainer:

     voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)

          Methods from class SoBase:

     voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const

See Also