---
name: "SoAsciiText"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SoAsciiText/3iv"
---

# SoAsciiText(3iv)

simple 3D text shape node

## NAME

SoAsciiText — simple 3D text shape node

## INHERITS FROM

SoBase \> SoFieldContainer \> SoNode \> SoShape \> SoAsciiText

## SYNOPSIS

**#include \<Inventor/nodes/SoAsciiText.h\>**

**enum Justification {** **SoAsciiText::LEFT**	Left edges of all strings are aligned\
 **SoAsciiText::RIGHT**	Right edges of all strings are aligned\
 **SoAsciiText::CENTER**	Centers of all strings are aligned\
 **}**

Fields from class SoAsciiText:

**SoMFString**	**string**\
 **SoSFFloat**	**spacing**\
 **SoSFEnum**	**justification**\
 **SoMFFloat**	**width**

Methods from class SoAsciiText:

	**SoAsciiText()**\
 **static SoType**	**getClassTypeId()**

Methods from class SoNode:

**void**	**setOverride(SbBool state)**\
 **SbBool**	**isOverride() const**\
 **SoNode \***	**copy(SbBool copyConnections = FALSE) const**\
 **virtual SbBool**	**affectsState() const**\
 **static SoNode \***	**getByName(const SbName &name)**\
 **static int**	**getByName(const SbName &name, SoNodeList &list)**

Methods from class SoFieldContainer:

**void**	**setToDefaults()**\
 **SbBool**	**hasDefaultValues() const**\
 **SbBool**	**fieldsAreEqual(const SoFieldContainer \*fc) const**\
 **void**	**copyFieldValues(const SoFieldContainer \*fc, SbBool copyConnections = FALSE)**\
 **SbBool**	**set(const char \*fieldDataString)**\
 **void**	**get(SbString &fieldDataString)**\
 **virtual int**	**getFields(SoFieldList &resultList) const**\
 **virtual SoField \***	**getField(const SbName &fieldName) const**\
 **SbBool**	**getFieldName(const SoField \*field, SbName &fieldName) const**\
 **SbBool**	**isNotifyEnabled() const**\
 **SbBool**	**enableNotify(SbBool flag)**

Methods from class SoBase:

**void**	**ref()**\
 **void**	**unref() const**\
 **void**	**unrefNoDelete() const**\
 **void**	**touch()**\
 **virtual SoType**	**getTypeId() const**\
 **SbBool**	**isOfType(SoType type) const**\
 **virtual void**	**setName(const SbName &name)**\
 **virtual SbName**	**getName() const**

## 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. In constrast with **SoText3**, this 3D ascii text cannot be extruded.

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.

**SoAsciiText** uses the current material when rendering. Textures are applied to ascii text as follows. On the front face 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 face.

## FIELDS

**SoMFString**	**string**\
 The text string(s) to display. Each string will appear on its own line.

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

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

**SoMFFloat**	**width**\
 Defines the width of each text string. Each string will be scaled so that it spans this many units.

## METHODS

	**SoAsciiText()**\
 Creates an ascii text node with default settings.

**static SoType**	**getClassTypeId()**\
 Returns type identifier for this class.

## ACTION BEHAVIOR

**SoGLRenderAction**\
 Draws text based on the current font, 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

```
AsciiText {
string	""
spacing	1
justification	LEFT
width	0
}
```

## SEE ALSO

**SoFont, SoFontStyle, SoText2, SoText3, SoTextDetail**
