SoText3(3IV)NAMESoText3 (SoTxt3) - 3D text shape node
INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoShape > SoText3SYNOPSIS
#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)
Page 1SoText3(3IV)
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
Page 2SoText3(3IV)
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.
FUNCTIONSSoText3 * 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
Page 3SoText3(3IV)
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
Page 4