# Class FontExtrusion

java.lang.Object
javax.media.j3d.FontExtrusion

public class FontExtrusion extends Object
The FontExtrusion object is used to describe the extrusion path for a Font3D object. The extrusion path is used in conjunction with a Font2D object. The extrusion path defines the edge contour of 3D text. This contour is perpendicular to the face of the text. The extrusion has it's origin at the edge of the glyph with 1.0 being the height of the tallest glyph. Contour must be monotonic in x.

The shape of the extrusion path is, by default, a straight line from 0.0 to 0.2 (known as a straight bevel). The shape may be modified via the extrusionShape parameter, a Shape object that describes the 3D contour of a Font3D object.

User is responsible for data sanity and must make sure that extrusionShape does not cause intersection of adjacent glyphs or within single glyph. Else undefined output may be generated.

See Also:
  - `Font`
  - `Font3D`

## Constructor Summary

Constructors
Constructor
Description
`FontExtrusion()`
Constructs a FontExtrusion object with default parameters.
`FontExtrusion(Shape extrusionShape)`
Constructs a FontExtrusion object with the specified shape, using the default tessellation tolerance.
`FontExtrusion(Shape extrusionShape, double tessellationTolerance)`
Constructs a FontExtrusion object with the specified shape, using the specified tessellation tolerance.

## Method Summary

Modifier and Type
Method
Description
`Shape`
`getExtrusionShape()`
Gets the FontExtrusion's shape parameter.
`double`
`getTessellationTolerance()`
Returns the tessellation tolerance with which this FontExtrusion was created.
`void`
`setExtrusionShape(Shape extrusionShape)`
Sets the FontExtrusion's shape parameter.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### FontExtrusion

public FontExtrusion()
Constructs a FontExtrusion object with default parameters. The default parameters are as follows:

extrusion shape : null
tessellation tolerance : 0.01

A null extrusion shape specifies that a straight line from 0.0 to 0.2 (straight bevel) is used.

See Also:
  - `Font3D`

### FontExtrusion

public FontExtrusion(Shape extrusionShape)
Constructs a FontExtrusion object with the specified shape, using the default tessellation tolerance. The specified shape is used to construct the edge contour of a Font3D object. Each shape begins with an implicit point at 0.0. Contour must be monotonic in x.

Parameters:
  `extrusionShape` - the shape object to use to generate the extrusion path. A null shape specifies that a straight line from 0.0 to 0.2 (straight bevel) is used.
Throws:
  `IllegalArgumentException` - if multiple contours in extrusionShape, or contour is not monotonic or least x-value of a contour point is not 0.0f
See Also:
  - `Font3D`

### FontExtrusion

public FontExtrusion(Shape extrusionShape, double tessellationTolerance)
Constructs a FontExtrusion object with the specified shape, using the specified tessellation tolerance. The specified shape is used to construct the edge contour of a Font3D object. Each shape begins with an implicit point at 0.0. Contour must be monotonic in x.

Parameters:
  `extrusionShape` - the shape object to use to generate the extrusion path. A null shape specifies that a straight line from 0.0 to 0.2 (straight bevel) is used.
  `tessellationTolerance` - the tessellation tolerance value used in tessellating the extrusion shape. This corresponds to the `flatness` parameter in the `java.awt.Shape.getPathIterator` method.
Throws:
  `IllegalArgumentException` - if multiple contours in extrusionShape, or contour is not monotonic or least x-value of a contour point is not 0.0f
Since:
  Java 3D 1.2
See Also:
  - `Font3D`

## Method Details

### setExtrusionShape

public void setExtrusionShape(Shape extrusionShape)
Sets the FontExtrusion's shape parameter. This parameter is used to construct the 3D contour of a Font3D object.

Parameters:
  `extrusionShape` - the shape object to use to generate the extrusion path. A null shape specifies that a straight line from 0.0 to 0.2 (straight bevel) is used.
Throws:
  `IllegalArgumentException` - if multiple contours in extrusionShape, or contour is not monotonic or least x-value of a contour point is not 0.0f
See Also:
  - `Font3D`
  - `Shape`

### getExtrusionShape

public Shape getExtrusionShape()
Gets the FontExtrusion's shape parameter. This parameter is used to construct the 3D contour of a Font3D object.

Returns:
  extrusionShape the shape object used to generate the extrusion path
See Also:
  - `Font3D`
  - `Shape`

### getTessellationTolerance

public double getTessellationTolerance()
Returns the tessellation tolerance with which this FontExtrusion was created.

Returns:
  the tessellation tolerance used by this FontExtrusion
Since:
  Java 3D 1.2