Class Text3D


  • public class Text3D
    extends Geometry
    A Text3D object is a text string that has been converted to 3D geometry. The Font3D object determines the appearance of the Text3D NodeComponent object. Each Text3D object has the following parameters:

    • Font3D object - describes the font style of the text string, such as the font family (Helvetica, Courier, etc.), style (Italic, bold, etc.), and point size. The size of the resulting characters will be equal to the point size. For example, a 12 point font will result in a Font3D with characters 12 meters tall.
    • Text string - the text string to be written.
    • Position - determines the initial placement of the Text3D string in three-space.
    • Alignment - specifies how glyphs in the string are placed in relation to the position parameter. Valid values are:
      • ALIGN_CENTER - the center of the string is placed on the position point.
      • ALIGN_FIRST - the first character of the string is placed on the position point.
      • ALIGN_LAST - the last character of the string is placed on the position point.

    • Path - specifies how succeeding glyphs in the string are placed in relation to the previous glyph. Valid values are:
      • PATH_LEFT - succeeding glyphs are placed to the left of the current glyph.
      • PATH_RIGHT - succeeding glyphs are placed to the right of the current glyph.
      • PATH_UP - succeeding glyphs are placed above the current glyph.
      • PATH_DOWN - succeeding glyphs are placed below the current glyph.

    • Character spacing - the space between characters. This spacing is in addition to the regular spacing between glyphs as defined in the Font object.

    See Also:
    Font3D
    • Field Detail

      • ALLOW_FONT3D_READ

        public static final int ALLOW_FONT3D_READ
        Specifies that this Text3D object allows reading the Font3D component information.
        See Also:
        Font3D, Constant Field Values
      • ALLOW_FONT3D_WRITE

        public static final int ALLOW_FONT3D_WRITE
        Specifies that this Text3D object allows writing the Font3D component information.
        See Also:
        Font3D, Constant Field Values
      • ALLOW_STRING_READ

        public static final int ALLOW_STRING_READ
        Specifies that this Text3D object allows reading the String object.
        See Also:
        Constant Field Values
      • ALLOW_STRING_WRITE

        public static final int ALLOW_STRING_WRITE
        Specifies that this Text3D object allows writing the String object.
        See Also:
        Constant Field Values
      • ALLOW_POSITION_READ

        public static final int ALLOW_POSITION_READ
        Specifies that this Text3D object allows reading the text position value.
        See Also:
        Constant Field Values
      • ALLOW_POSITION_WRITE

        public static final int ALLOW_POSITION_WRITE
        Specifies that this Text3D object allows writing the text position value.
        See Also:
        Constant Field Values
      • ALLOW_ALIGNMENT_READ

        public static final int ALLOW_ALIGNMENT_READ
        Specifies that this Text3D object allows reading the text alignment value.
        See Also:
        Constant Field Values
      • ALLOW_ALIGNMENT_WRITE

        public static final int ALLOW_ALIGNMENT_WRITE
        Specifies that this Text3D object allows writing the text alignment value.
        See Also:
        Constant Field Values
      • ALLOW_PATH_READ

        public static final int ALLOW_PATH_READ
        Specifies that this Text3D object allows reading the text path value.
        See Also:
        Constant Field Values
      • ALLOW_PATH_WRITE

        public static final int ALLOW_PATH_WRITE
        Specifies that this Text3D object allows writing the text path value.
        See Also:
        Constant Field Values
      • ALLOW_CHARACTER_SPACING_READ

        public static final int ALLOW_CHARACTER_SPACING_READ
        Specifies that this Text3D object allows reading the text character spacing value.
        See Also:
        Constant Field Values
      • ALLOW_CHARACTER_SPACING_WRITE

        public static final int ALLOW_CHARACTER_SPACING_WRITE
        Specifies that this Text3D object allows writing the text character spacing value.
        See Also:
        Constant Field Values
      • ALLOW_BOUNDING_BOX_READ

        public static final int ALLOW_BOUNDING_BOX_READ
        Specifies that this Text3D object allows reading the text string bounding box value
        See Also:
        Constant Field Values
      • ALIGN_FIRST

        public static final int ALIGN_FIRST
        alignment: the first character of the string is placed on the position point.
        See Also:
        getAlignment(), Constant Field Values
      • PATH_LEFT

        public static final int PATH_LEFT
        path: succeeding glyphs are placed to the left of the current glyph.
        See Also:
        getPath(), Constant Field Values
      • PATH_RIGHT

        public static final int PATH_RIGHT
        path: succeeding glyphs are placed to the left of the current glyph.
        See Also:
        getPath(), Constant Field Values
    • Constructor Detail

      • Text3D

        public Text3D()
        Constructs a Text3D object with default parameters. The default values are as follows:
          font 3D : null
          string : null
          position : (0,0,0)
          alignment : ALIGN_FIRST
          path : PATH_RIGHT
          character spacing : 0.0
      • Text3D

        public Text3D​(Font3D font3D)
        Creates a Text3D object with the given Font3D object.
        See Also:
        Font3D
      • Text3D

        public Text3D​(Font3D font3D,
                      java.lang.String string)
        Creates a Text3D object given a Font3D object and a string. The string is converted into 3D glyphs. The first glyph from the string is placed at (0.0, 0.0, 0.0) and succeeding glyphs are placed to the right of the initial glyph.
        See Also:
        Font3D
      • Text3D

        public Text3D​(Font3D font3D,
                      java.lang.String string,
                      javax.vecmath.Point3f position)
        Creates a Text3D object given a Font3D, a string and position. The string is converted into 3D glyphs. The first glyph from the string is placed at position position and succeeding glyphs are placed to the right of the initial glyph.
        See Also:
        Font3D
      • Text3D

        public Text3D​(Font3D font3D,
                      java.lang.String string,
                      javax.vecmath.Point3f position,
                      int alignment,
                      int path)
        Creates a Text3D object given a Font3D, string, position, alignment and path along which string is to be placed. The string is converted into 3D glyphs. The placement of the glyphs with respect to the position position depends on the alignment parameter and the path parameter.
        See Also:
        Font3D
    • Method Detail

      • getFont3D

        public Font3D getFont3D()
        Returns the Font3D objects used by this Text3D NodeComponent object.
        Returns:
        the Font3D object of this Text3D node - null if no Font3D has been associated with this node.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • setFont3D

        public void setFont3D​(Font3D font3d)
        Sets the Font3D object used by this Text3D NodeComponent object.
        Parameters:
        font3d - the Font3D object to associate with this Text3D node.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • getString

        public java.lang.String getString()
        Copies the character string used in the construction of the Text3D node into the supplied parameter.
        Returns:
        a copy of the String object in this Text3D node.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • setString

        public void setString​(java.lang.String string)
        Copies the character string from the supplied parameter into the Text3D node.
        Parameters:
        string - the String object to recieve the Text3D node's string.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • getPosition

        public void getPosition​(javax.vecmath.Point3f position)
        Copies the node's position field into the supplied parameter. The position is used to determine the initial placement of the Text3D string. The position, combined with the path and alignment control how the text is displayed.
        Parameters:
        position - the point to position the text.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
        See Also:
        getAlignment(), getPath()
      • setPosition

        public void setPosition​(javax.vecmath.Point3f position)
        Sets the node's position field to the supplied parameter. The position is used to determine the initial placement of the Text3D string. The position, combined with the path and alignment control how the text is displayed.
        Parameters:
        position - the point to position the text.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
        See Also:
        getAlignment(), getPath()
      • getAlignment

        public int getAlignment()
        Retrieves the text alignment policy for this Text3D NodeComponent object. The alignment is used to specify how glyphs in the string are placed in relation to the position field. Valid values for this field are:
        • ALIGN_CENTER - the center of the string is placed on the position point.
        • ALIGN_FIRST - the first character of the string is placed on the position point.
        • ALIGN_LAST - the last character of the string is placed on the position point.
        The default value of this field is ALIGN_FIRST.
        Returns:
        the current alingment policy for this node.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
        See Also:
        getPosition(javax.vecmath.Point3f)
      • setAlignment

        public void setAlignment​(int alignment)
        Sets the text alignment policy for this Text3D NodeComponent object. The alignment is used to specify how glyphs in the string are placed in relation to the position field. Valid values for this field are:
        • ALIGN_CENTER - the center of the string is placed on the position point.
        • ALIGN_FIRST - the first character of the string is placed on the position point.
        • ALIGN_LAST - the last character of the string is placed on the position point.
        The default value of this field is ALIGN_FIRST.
        Parameters:
        alignment - specifies how glyphs in the string are placed in relation to the position field
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
        See Also:
        getPosition(javax.vecmath.Point3f)
      • getPath

        public int getPath()
        Retrieves the node's path field. This field is used to specify how succeeding glyphs in the string are placed in relation to the previous glyph. Valid values for this field are:
        • PATH_LEFT: - succeeding glyphs are placed to the left of the current glyph.
        • PATH_RIGHT: - succeeding glyphs are placed to the right of the current glyph.
        • PATH_UP: - succeeding glyphs are placed above the current glyph.
        • PATH_DOWN: - succeeding glyphs are placed below the current glyph.
        The default value of this field is PATH_RIGHT.
        Returns:
        the current alingment policy for this node.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • setPath

        public void setPath​(int path)
        Sets the node's path field. This field is used to specify how succeeding glyphs in the string are placed in relation to the previous glyph. Valid values for this field are:
        • PATH_LEFT - succeeding glyphs are placed to the left of the current glyph.
        • PATH_RIGHT - succeeding glyphs are placed to the right of the current glyph.
        • PATH_UP - succeeding glyphs are placed above the current glyph.
        • PATH_DOWN - succeeding glyphs are placed below the current glyph.
        The default value of this field is PATH_RIGHT.
        Parameters:
        path - the value to set the path to
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • getBoundingBox

        public void getBoundingBox​(BoundingBox bounds)
        Retrieves the 3D bounding box that encloses this Text3D object.
        Parameters:
        bounds - the object to copy the bounding information to.
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
        See Also:
        BoundingBox
      • getCharacterSpacing

        public float getCharacterSpacing()
        Retrieves the character spacing used to construct the Text3D string. This spacing is in addition to the regular spacing between glyphs as defined in the Font object. 1.0 in this space is measured as the width of the largest glyph in the 2D Font. The default value is 0.0.
        Returns:
        the current character spacing value
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph
      • setCharacterSpacing

        public void setCharacterSpacing​(float characterSpacing)
        Sets the character spacing used when constructing the Text3D string. This spacing is in addition to the regular spacing between glyphs as defined in the Font object. 1.0 in this space is measured as the width of the largest glyph in the 2D Font. The default value is 0.0.
        Parameters:
        characterSpacing - the new character spacing value
        Throws:
        CapabilityNotSetException - if appropriate capability is not set and this object is part of live or compiled scene graph