org.jzy3d.plot3d.text.renderers
Class TextBillboardRenderer
java.lang.Object
org.jzy3d.plot3d.text.AbstractTextRenderer
org.jzy3d.plot3d.text.renderers.TextBillboardRenderer
- All Implemented Interfaces:
- ITextRenderer
public class TextBillboardRenderer
- extends AbstractTextRenderer
- implements ITextRenderer
A TextBillboardRenderer
allows writing 2d text always facing the Camera of a 3d Scene.
TextBillboard provides the pixel definition of all characters of
the ASCII alphabet. A default bitmap (plain rectangle)
is provided for unrecognized characters
(those that do not have an ASCII code).
The bitmap library is static, and thus no overhead is
generated by the use of several instances of TextBillboard.
It is however not necessary to have an instance of TextBillboard
for each drawn string.
String s = new String("2d text in 3d Scene");
TextBillboard txt = new TextBillboard();
BoundingBox3d box;
txt.drawText(gl, s, Coord3d.ORIGIN, Halign.LEFT, Valign.GROUND, Color.BLACK);
box = txt.drawText(gl, glu, cam, s, Coord3d.ORIGIN, Halign.LEFT, Valign.GROUND, Color.BLACK);
Layout constants
As demonstrated in the previous example, the TextBillboardRenderer
handles
vertical and horizontal layout of text according to the given text coordinate.
The following picture illustrates the text layout when using
the various layout constants
- Author:
- Martin Pernollet
Constructor Summary |
TextBillboardRenderer()
The TextBillboard class provides support for drawing ASCII characters
Any non ascii caracter will be replaced by a square. |
Method Summary |
void |
drawSimpleText(javax.media.opengl.GL2 gl,
javax.media.opengl.glu.GLU glu,
Camera cam,
String s,
Coord3d position,
Color color)
|
BoundingBox3d |
drawText(javax.media.opengl.GL2 gl,
javax.media.opengl.glu.GLU glu,
Camera cam,
String s,
Coord3d position,
Halign halign,
Valign valign,
Color color,
Coord2d screenOffset,
Coord3d sceneOffset)
Draw a string at the specified position and compute the 3d volume occupied by the string
according to the current Camera configuration. |
void |
drawText(javax.media.opengl.GL2 gl,
String s,
Coord3d position,
Halign halign,
Valign valign,
Color color)
Draw a string at the specified position. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TextBillboardRenderer
public TextBillboardRenderer()
- The TextBillboard class provides support for drawing ASCII characters
Any non ascii caracter will be replaced by a square.
drawSimpleText
public void drawSimpleText(javax.media.opengl.GL2 gl,
javax.media.opengl.glu.GLU glu,
Camera cam,
String s,
Coord3d position,
Color color)
- Specified by:
drawSimpleText
in interface ITextRenderer
drawText
public void drawText(javax.media.opengl.GL2 gl,
String s,
Coord3d position,
Halign halign,
Valign valign,
Color color)
- Draw a string at the specified position.
drawText
public BoundingBox3d drawText(javax.media.opengl.GL2 gl,
javax.media.opengl.glu.GLU glu,
Camera cam,
String s,
Coord3d position,
Halign halign,
Valign valign,
Color color,
Coord2d screenOffset,
Coord3d sceneOffset)
- Draw a string at the specified position and compute the 3d volume occupied by the string
according to the current Camera configuration.
- Specified by:
drawText
in interface ITextRenderer