public class Font3D extends NodeComponent
A 3D Font consists of a Java 2D font, a tesellation tolerance, and an extrusion path. The extrusion path creates depth by describing how the edge of a glyph varies in the Z axis.
The construction of a Text3D object requires a Font3D object. The Font3D object describes the style of the text, such as its depth. The text also needs other classes, such as java.awt.Font and FontExtrusion. The Font object describes the font name (Helvetica, Courier, etc.), the font style (bold, Italic, etc.), and point size. The FontExtrusion object extends Font3D by describing the extrusion path for the Font3D object (how the edge of the font glyph varies in the Z axis).
To ensure correct rendering, the 2D Font object should be created with the default AffineTransform. The point size of the 2D font will be used as a rough measure of how fine a tesselation to use when creating the Font3D object: the larger the point size, in general, the finer the tesselation.
Custom 3D fonts as well as methods to store 3D fonts to disk will be addressed in a future release.
Font
,
FontExtrusion
,
Text3D
Constructor and Description |
---|
Font3D(Font font,
double tessellationTolerance,
FontExtrusion extrudePath)
Constructs a Font3D object from the specified Font and
FontExtrusion objects, using the specified tessellation
tolerance.
|
Font3D(Font font,
FontExtrusion extrudePath)
Constructs a Font3D object from the specified Font and
FontExtrusion objects, using the default value for the
tessellation tolerance.
|
Modifier and Type | Method and Description |
---|---|
void |
getBoundingBox(int glyphCode,
BoundingBox bounds)
Returns the 3D bounding box of the specified glyph code.
|
Font |
getFont()
Returns the Java 2D Font used to create this Font3D object.
|
void |
getFontExtrusion(FontExtrusion extrudePath)
Copies the FontExtrusion object used to create this Font3D object
into the specified parameter.
|
GeometryArray |
getGlyphGeometry(char c)
Returns a GeometryArray of a glyph in this Font3D.
|
double |
getTessellationTolerance()
Returns the tessellation tolerance with which this Font3D was
created.
|
cloneNodeComponent, cloneNodeComponent, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public Font3D(Font font, FontExtrusion extrudePath)
The FontExtrusion object contains the extrusion path to use on the 2D Font glyphs. To ensure correct rendering the font must be created with the default AffineTransform. Passing null for the FontExtrusion parameter results in no extrusion being done.
font
- the Java 2D font used to create the 3D font objectextrudePath
- the extrusion path used to describe how
the edge of the font varies along the Z axispublic Font3D(Font font, double tessellationTolerance, FontExtrusion extrudePath)
font
- the Java 2D font used to create the 3D font object.tessellationTolerance
- the tessellation tolerance value
used in tessellating the glyphs of the 2D Font.
This corresponds to the flatness
parameter in
the java.awt.Shape.getPathIterator
method.extrudePath
- the extrusion path used to describe how
the edge of the font varies along the Z axis.public Font getFont()
public double getTessellationTolerance()
public void getFontExtrusion(FontExtrusion extrudePath)
extrudePath
- object that will receive the
FontExtrusion information for this Font3D objectpublic void getBoundingBox(int glyphCode, BoundingBox bounds)
glyphCode
- the glyphCode from the original 2D Fontbounds
- the 3D glyph's boundspublic GeometryArray getGlyphGeometry(char c)
c
- character from which to generate a tessellated glyph.Copyright © 2016–2022 SciJava. All rights reserved.