artisynth.core.renderables
Class TextComponent2d

java.lang.Object
  extended by artisynth.core.modelbase.ModelComponentBase
      extended by artisynth.core.modelbase.RenderableComponentBase
          extended by artisynth.core.renderables.TextComponentBase
              extended by artisynth.core.renderables.TextComponent2d
All Implemented Interfaces:
ModelComponent, RenderableComponent, java.lang.Cloneable, HasProperties, HierarchyNode, GLRenderable, GLSelectable, HasRenderProps, Renderable, Disposable, Scannable

public class TextComponent2d
extends TextComponentBase

Allows adding 2D text to a root model

Author:
Antonio, July 7, 2013

Nested Class Summary
 
Nested classes/interfaces inherited from class artisynth.core.renderables.TextComponentBase
TextComponentBase.FontStyle, TextComponentBase.HorizontalAlignment, TextComponentBase.VerticalAlignment
 
Nested classes/interfaces inherited from interface artisynth.core.modelbase.ModelComponent
ModelComponent.NavpanelVisibility
 
Field Summary
static int defaultFontSize
           
static Point2d defaultNormPos
           
static Point2d defaultPos
           
static double defaultTextSize
           
static PropertyList myProps
           
 
Fields inherited from class artisynth.core.renderables.TextComponentBase
defaultFontName, defaultHAlignment, defaultVAlignment
 
Fields inherited from class artisynth.core.modelbase.ModelComponentBase
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
 
Fields inherited from interface maspack.render.GLRenderable
TRANSLUCENT, TWO_DIMENSIONAL
 
Constructor Summary
TextComponent2d(java.lang.String name)
          Sets both name and text to the provided string
TextComponent2d(java.lang.String text, Point2d pos)
          Sets both name (if valid) and text to provided string.
TextComponent2d(java.lang.String name, java.lang.String text, Point2d pos)
          Main constructor, setting name, text and screen (pixel) position.
 
Method Summary
 PropertyList getAllPropertyInfo()
          Returns a list giving static information about all properties exported by this object.
 Point2d getNormalizedPosition()
          Returns normalized position by reference
 Point2d getPositionOverride()
          Returns position by reference
 int getRenderHints()
          Returns a bit code giving rendering hints about this renderable.
 double getRotation()
          Gets the text angle
 java.lang.String getText()
           
 boolean isSelectable()
          Returns true if this object is in fact selectable.
 int numSelectionQueriesNeeded()
          If this selectable manages its own selection (by issuing selection queries within its render method), then this method should return the maximum number of selection queries that will be required.
 void render(GLRenderer renderer, int flags)
          Render this object using Open GL via the JOGL.
 void setNormalizedPosition(Point2d pos)
          Sets normalized position to display text, (x,y) in [0,1]x[0,1]
 void setPositionOverride(Point2d pos)
          Sets world position to display text.
 void setRotation(double deg)
          Sets the text angle, in degrees
 void setText(java.lang.String text)
          Sets the text to display
 
Methods inherited from class artisynth.core.renderables.TextComponentBase
createDefaultRenderProps, createRenderProps, dispose, getFontFamily, getFontSize, getFontStyle, getHorizontalAlignment, getTextSize, getVerticalAlignment, setFont, setFontFamily, setFontSize, setFontStyle, setHorizontalAlignment, setTextColor, setTextRenderer, setTextSize, setVerticalAlignment
 
Methods inherited from class artisynth.core.modelbase.RenderableComponentBase
copy, getRenderProps, getSelection, prerender, setRenderProps, updateBounds, updateRenderProps
 
Methods inherited from class artisynth.core.modelbase.ModelComponentBase
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface artisynth.core.modelbase.ModelComponent
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
 
Methods inherited from interface maspack.properties.HasProperties
getProperty
 
Methods inherited from interface maspack.properties.HierarchyNode
getChildren, hasChildren
 
Methods inherited from interface maspack.util.Scannable
isWritable, write
 

Field Detail

defaultFontSize

public static int defaultFontSize

defaultTextSize

public static double defaultTextSize

defaultPos

public static Point2d defaultPos

defaultNormPos

public static Point2d defaultNormPos

myProps

public static PropertyList myProps
Constructor Detail

TextComponent2d

public TextComponent2d(java.lang.String name)
Sets both name and text to the provided string

Parameters:
name -

TextComponent2d

public TextComponent2d(java.lang.String text,
                       Point2d pos)
Sets both name (if valid) and text to provided string. The position is assumed to be normalized in [0,1]x[0,1]. For pixel coordinate, use setPositionOverride(Point2d).


TextComponent2d

public TextComponent2d(java.lang.String name,
                       java.lang.String text,
                       Point2d pos)
Main constructor, setting name, text and screen (pixel) position. The position is assumed to be normalized in [0,1]x[0,1]. For pixel coordinate, use setPositionOverride(Point2d).

Method Detail

getAllPropertyInfo

public PropertyList getAllPropertyInfo()
Description copied from interface: HasProperties
Returns a list giving static information about all properties exported by this object.

Specified by:
getAllPropertyInfo in interface HasProperties
Overrides:
getAllPropertyInfo in class TextComponentBase
Returns:
static information for all exported properties

setText

public void setText(java.lang.String text)
Sets the text to display


getText

public java.lang.String getText()

setPositionOverride

public void setPositionOverride(Point2d pos)
Sets world position to display text. If either x or y is negative, then the normalized position is used for that dimension


setNormalizedPosition

public void setNormalizedPosition(Point2d pos)
Sets normalized position to display text, (x,y) in [0,1]x[0,1]


getPositionOverride

public Point2d getPositionOverride()
Returns position by reference


getNormalizedPosition

public Point2d getNormalizedPosition()
Returns normalized position by reference


getRotation

public double getRotation()
Gets the text angle


setRotation

public void setRotation(double deg)
Sets the text angle, in degrees


getRenderHints

public int getRenderHints()
Description copied from interface: GLRenderable
Returns a bit code giving rendering hints about this renderable. Current bit codes include TRANSLUCENT.

Specified by:
getRenderHints in interface GLRenderable
Overrides:
getRenderHints in class RenderableComponentBase
Returns:
bit code of rendering hints.

render

public void render(GLRenderer renderer,
                   int flags)
Description copied from interface: GLRenderable
Render this object using Open GL via the JOGL.

Specified by:
render in interface GLRenderable
Specified by:
render in class RenderableComponentBase
Parameters:
renderer - renderer object which is used to perform the rendering. Provides pointers to GL and GLU, along with helper functions.
flags - supplies flags that may be used to control different aspects of the rendering. Flags are defined in GLRenderer and currently include GLRenderer.SELECTED, GLRenderer.VERTEX_COLORING, GLRenderer.HSV_COLOR_INTERPOLATION, GLRenderer.SORT_FACES, and GLRenderer.CLEAR_MESH_DISPLAY_LISTS.

isSelectable

public boolean isSelectable()
Description copied from class: RenderableComponentBase
Returns true if this object is in fact selectable.

Specified by:
isSelectable in interface GLSelectable
Overrides:
isSelectable in class TextComponentBase
Returns:
true if this object is selectable

numSelectionQueriesNeeded

public int numSelectionQueriesNeeded()
Description copied from interface: GLSelectable
If this selectable manages its own selection (by issuing selection queries within its render method), then this method should return the maximum number of selection queries that will be required. Otherwise, this method should return -1.

Specified by:
numSelectionQueriesNeeded in interface GLSelectable
Overrides:
numSelectionQueriesNeeded in class TextComponentBase
Returns:
maximum number of selection queries needed by this component, or -1 if this component does not manage its own selection.