org.jzy3d.plot3d.text
Class TextBillboard

java.lang.Object
  extended by org.jzy3d.plot3d.text.TextBillboard

public class TextBillboard
extends java.lang.Object

A TextBillboard 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 TextBillboard 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
TextBillboard()
          The TextBillboard class provides support for drawing ASCII characters Any non ascii caracter will be replaced by a square.
 
Method Summary
 BoundingBox3d drawText(javax.media.opengl.GL gl, javax.media.opengl.glu.GLU glu, Camera cam, java.lang.String s, Coord3d position, Halign halign, Valign valign, Color color)
          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.GL gl, java.lang.String s, Coord3d position, Halign halign, Valign valign, Color color)
          Draw a string at the specified position.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TextBillboard

public TextBillboard()
The TextBillboard class provides support for drawing ASCII characters Any non ascii caracter will be replaced by a square.

Method Detail

drawText

public void drawText(javax.media.opengl.GL gl,
                     java.lang.String s,
                     Coord3d position,
                     Halign halign,
                     Valign valign,
                     Color color)
Draw a string at the specified position.


drawText

public BoundingBox3d drawText(javax.media.opengl.GL gl,
                              javax.media.opengl.glu.GLU glu,
                              Camera cam,
                              java.lang.String s,
                              Coord3d position,
                              Halign halign,
                              Valign valign,
                              Color color)
Draw a string at the specified position and compute the 3d volume occupied by the string according to the current Camera configuration.