Class TextAnimation

java.lang.Object
org.opentrafficsim.draw.core.TextAnimation
All Implemented Interfaces:
Serializable, Locatable
Direct Known Subclasses:
BusStopAnimation.Text, DefaultCarAnimation.Text, DetectorAnimation.Text, GtuGeneratorPositionAnimation.Queue, LaneAnimation.Text, LinkAnimation.Text, NodeAnimation.Text, TrafficLightAnimation.Text

public abstract class TextAnimation extends Object implements Locatable, Serializable
Display a text for another Locatable object.

Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
See Also:
  • Field Details

  • Constructor Details

    • TextAnimation

      public TextAnimation(Locatable source, String text, float dx, float dy, TextAlignment textAlignment, Color color, float fontSize, float minFontSize, float maxFontSize, org.opentrafficsim.core.dsol.OtsSimulatorInterface simulator, TextAnimation.ContrastToBackground background, TextAnimation.ScaleDependentRendering scaleDependentRendering) throws RemoteException, NamingException
      Construct a new TextAnimation.
      Parameters:
      source - Locatable; the object for which the text is displayed
      text - String; the text to display
      dx - float; the horizontal movement of the text, in meters
      dy - float; the vertical movement of the text, in meters
      textAlignment - TextAlignment; where to place the text
      color - Color; the color of the text
      fontSize - float; the size of the font; default = 2.0 (meters)
      minFontSize - float; minimum font size resulting from scaling
      maxFontSize - float; maximum font size resulting from scaling
      simulator - OtsSimulatorInterface; the simulator
      background - ContrastToBackground; allows querying the background color and adaptation of the actual color of the text to ensure contrast
      scaleDependentRendering - ScaleDependentRendering; suppress rendering when font scale is too small
      Throws:
      NamingException - when animation context cannot be created or retrieved
      RemoteException - when remote context cannot be found
    • TextAnimation

      public TextAnimation(Locatable source, String text, float dx, float dy, TextAlignment textAlignment, Color color, float fontSize, float minFontSize, float maxFontSize, org.opentrafficsim.core.dsol.OtsSimulatorInterface simulator, TextAnimation.ScaleDependentRendering scaleDependentRendering) throws RemoteException, NamingException
      Construct a new TextAnimation without contrast to background protection and no minimum font scale.
      Parameters:
      source - Locatable; the object for which the text is displayed
      text - String; the text to display
      dx - float; the horizontal movement of the text, in meters
      dy - float; the vertical movement of the text, in meters
      textAlignment - TextAlignment; where to place the text
      color - Color; the color of the text
      fontSize - float; the size of the font; default = 2.0 (meters)
      minFontSize - float; minimum font size resulting from scaling
      maxFontSize - float; maximum font size resulting from scaling
      simulator - OtsSimulatorInterface; the simulator
      scaleDependentRendering - ScaleDependentRendering; render text only when bigger than minimum scale
      Throws:
      NamingException - when animation context cannot be created or retrieved
      RemoteException - when remote context cannot be found
    • TextAnimation

      public TextAnimation(Locatable source, String text, float dx, float dy, TextAlignment textAlignment, Color color, org.opentrafficsim.core.dsol.OtsSimulatorInterface simulator, TextAnimation.ScaleDependentRendering scaleDependentRendering) throws RemoteException, NamingException
      Parameters:
      source - Locatable; the object for which the text is displayed
      text - String; the text to display
      dx - float; the horizontal movement of the text, in meters
      dy - float; the vertical movement of the text, in meters
      textAlignment - TextAlignment; where to place the text
      color - Color; the color of the text
      simulator - OtsSimulatorInterface; the simulator
      scaleDependentRendering - ScaleDependentRendering; render text only when bigger than minimum scale
      Throws:
      NamingException - when animation context cannot be created or retrieved
      RemoteException - when remote context cannot be found
  • Method Details

    • getLocation

      public org.opentrafficsim.core.geometry.DirectedPoint getLocation()
      Specified by:
      getLocation in interface Locatable
    • getBounds

      public final org.opentrafficsim.core.geometry.Bounds getBounds() throws RemoteException
      Specified by:
      getBounds in interface Locatable
      Throws:
      RemoteException
    • paint

      public void paint(Graphics2D graphics, ImageObserver observer)
      paint() method so it can be overridden or extended.
      Parameters:
      graphics - Graphics2D; the graphics object
      observer - ImageObserver; the observer
    • destroy

      public final void destroy(Contextualized contextProvider)
      Destroy the text animation.
      Parameters:
      contextProvider - Contextualized; the object with a Context
    • getSource

      protected final Locatable getSource()
      Retrieve the source.
      Returns:
      Locatable; the source
    • getDx

      protected final float getDx()
      Retrieve dx.
      Returns:
      float; the value of dx
    • getDy

      protected final float getDy()
      Retrieve dy.
      Returns:
      float; the value of dy
    • setXY

      protected final void setXY(float x, float y)
      Sets a new offset.
      Parameters:
      x - float; dx
      y - float; dy
    • getTextAlignment

      protected final TextAlignment getTextAlignment()
      Retrieve the text alignment.
      Returns:
      TextAlignment; the text alignment
    • getFontSize

      protected final float getFontSize()
      Retrieve the font size.
      Returns:
      float; the font size
    • getFont

      protected final Font getFont()
      Retrieve the font.
      Returns:
      Font; the font
    • getText

      protected final String getText()
      Retrieve the current text.
      Returns:
      String; the current text
    • setText

      protected final void setText(String text)
      Update the text.
      Parameters:
      text - String; the new text
    • getColor

      protected final Color getColor()
      Retrieve the current color.
      Returns:
      Color; the current color
    • setColor

      protected final void setColor(Color color)
      Update the color.
      Parameters:
      color - Color; the new color
    • isFlip

      public final boolean isFlip()
      Retrieve the current flip status.
      Returns:
      boolean; the current flip status
    • setFlip

      public final void setFlip(boolean flip)
      Update the flip status.
      Parameters:
      flip - boolean; the new flip status
    • isRotate

      public final boolean isRotate()
      Retrieve the current rotation status.
      Returns:
      boolean; the current rotation status
    • setRotate

      public final void setRotate(boolean rotate)
      Update the rotation status.
      Parameters:
      rotate - boolean; the new rotation status
    • isScale

      public final boolean isScale()
      Retrieve the current scale status.
      Returns:
      boolean; the current scale status
    • setScale

      public final void setScale(boolean scale)
      Update the scale status.
      Parameters:
      scale - boolean; the new scale status
    • isTranslate

      public final boolean isTranslate()
      Retrieve the current translate status.
      Returns:
      boolean; the current translate status
    • setTranslate

      public final void setTranslate(boolean translate)
      Update the translate status.
      Parameters:
      translate - boolean; the new translate status
    • getScaleDependentRendering

      protected TextAnimation.ScaleDependentRendering getScaleDependentRendering()
      Retrieve the scale dependent rendering qualifier (used in cloning).
      Returns:
      ScaleDependentRendering; the rendering qualifier of this TextAnimation