Documentation of 'visad.DisplayRenderer' Java class
DisplayRenderer
visad

Class DisplayRenderer

  • All Implemented Interfaces:
    java.util.EventListener, ControlListener
    Direct Known Subclasses:
    DisplayRendererJ2D, DisplayRendererJ3D


    public abstract class DisplayRenderer
    extends java.lang.Object
    implements ControlListener
    DisplayRenderer is the VisAD abstract super-class for background and metadata rendering algorithms. These complement depictions of Data objects created by DataRenderer objects.

    DisplayRenderer also manages the overall relation of DataRenderer output to the graphics library.

    DisplayRenderer is not Serializable and should not be copied between JVMs.

    • Constructor Summary

      Constructors 
      Constructor and Description
      DisplayRenderer()
      Construct a new DisplayRenderer.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method and Description
      abstract boolean anyDirects() 
      abstract void clearScale(AxisScale axisScale)
      Remove a particular scale being rendered.
      abstract void clearScales()
      Remove all the scales being rendered.
      abstract void depth_cursor(VisADRay ray)
      set a VisADRay along which to drag cursor in depth (in and out of screen)
      abstract void drag_cursor(VisADRay ray, boolean first)
      drag cursor parallel to plane of screen
      abstract void drag_depth(float diff)
      drag cursor in depth (in and out of screen)
      abstract DataRenderer findDirect(VisADRay ray, int mouseModifiers)
      Returns a direct manipulation renderer if one is close to the specified ray (within pick threshold).
      java.lang.String[] getAnimationString()
      Return Array of Strings describing the animation sequence
      boolean getAnimationStringVisible()
      Return whether the animation info should be visible in the display or not.
      boolean getBoxOn()
      Get the box visibility.
      abstract double[] getCursor()
      Return an array giving the cursor location as (XAxis, YAxis, ZAxis) coordinates
      float[] getCursorColor()
      Get the cursor color.
      java.util.Vector getCursorStringVector()
      Return Vector of Strings describing the cursor location, if cursor location display is enabled.
      java.util.Vector getCursorStringVectorUnconditional()
      Return Vector of Strings describing the cursor location, regardless of whether cursor location display is enabled.
      double getDirectAxisValue(RealType type)
      get the value of a RealType if it is included in the cursor location
      double getDirectAxisValue(java.lang.String name)
      get the value of a named RealType if it is included in the cursor location
      DisplayImpl getDisplay()
      Get the Display associated with this renderer.
      abstract java.awt.image.BufferedImage getImage()
      Get a snapshot of the displayed image.
      boolean getMode2D()
      Return true if this is a 2-D DisplayRenderer.
      abstract MouseBehavior getMouseBehavior() 
      float getPickThreshhold() 
      RendererControl getRendererControl()
      Get the Control which holds the "shared" data for this renderer.
      boolean getRotateAboutCenter()
      Get the RotateAboutCenter property.
      boolean getScaleRotation()
      Get the ScaleRotation property.
      abstract int getTextureHeightMax() 
      abstract int getTextureWidthMax() 
      boolean getWaitFlag()
      Get the wait flag state.
      boolean getWaitMessageVisible()
      Return whether the please wait info should be visible in the display or not.
      abstract void initControl(RendererControl ctl)
      Internal method used to initialize newly created RendererControl with current renderer settings before it is actually connected to the renderer.
      abstract boolean legalDataRenderer(DataRenderer renderer)
      determine whether a DataRenderer is legal for this DisplayRenderer
      boolean legalDisplayScalar(DisplayRealType type)
      Return true if type is legal for this DisplayRenderer; for example, 2-D DisplayRenderers use this to disallow mappings to ZAxis and Latitude.
      abstract Control makeControl(ScalarMap map)
      Factory for constructing a subclass of Control appropriate for the graphics API and for this DisplayRenderer; invoked by ScalarMap when it is addMap()ed to a Display.
      abstract DataRenderer makeDefaultRenderer()
      Factory for constructing the default subclass of DataRenderer for this DisplayRenderer.
      void prepareAction(java.util.Vector temp, java.util.Vector tmap, boolean go, boolean initialize)
      prepare for transforming Data into scene graph depictions, including possible auto-scaling of ScalarMaps
      void render_trigger()
      trigger the graphics API to render the scene graph to the screen; intended to be over-ridden by graphics-API-specific extensions of DisplayRenderer
      void setAnimationString(java.lang.String[] animation)
      Set Array of Strings describing the animation sequence
      void setAnimationStringVisible(boolean visible)
      Set whether the animation info should be visible in the display or not.
      void setBackgroundColor(java.awt.Color color)
      Set the background color.
      void setBackgroundColor(float r, float g, float b)
      Set the background color.
      abstract void setBoxAspect(double[] aspect)
      set the aspect for the containing box aspect double[3] array used to scale x, y and z box sizes
      void setBoxColor(java.awt.Color color)
      Set the box color.
      void setBoxColor(float r, float g, float b)
      Set the box color.
      void setBoxOn(boolean on)
      Set the box visibility.
      void setCursorColor(java.awt.Color color)
      Set the cursor color.
      void setCursorColor(float r, float g, float b)
      Set the cursor color.
      abstract void setCursorOn(boolean on)
      set flag indicating whether the cursor should be displayed.
      void setCursorStringOn(boolean on)
      set flag indicating whether the cursor location String should be displayed.
      void setCursorStringVector()
      Set Vector of Strings describing the cursor location from the cursor location; this is invoked when the cursor location changes or the cursor display status changes
      void setCursorStringVector(java.util.Vector vect)
      Set Vector of Strings describing the cursor location by copy; this is invoked by direct manipulation renderers.
      abstract void setDirectOn(boolean on)
      set flag indicating whether direct manipulation is active
      void setDisplay(DisplayImpl d)
      Specify DisplayImpl to be rendered.
      void setForegroundColor(java.awt.Color color)
      Set the foreground color (box, cursor and scales).
      void setForegroundColor(float r, float g, float b)
      Set the foreground color (box, cursor and scales).
      void setPickThreshhold(float pt)
      set the distance threshhold for picking in direct manipulation
      void setRotateAboutCenter(boolean value)
      Set the RotateAboutCenter property.
      abstract void setScale(AxisScale axisScale)
      Set an axis scale.
      abstract void setScale(int axis, int axis_ordinal, VisADLineArray array, float[] scale_color)
      Set an axis scale.
      abstract void setScale(int axis, int axis_ordinal, VisADLineArray array, VisADTriangleArray labels, float[] scale_color)
      Set an axis scale.
      abstract void setScaleOn(boolean on)
      Enable scales to be displayed if they are set.
      void setScaleRotation(boolean value)
      Set the ScaleRotation property.
      void setWaitFlag(boolean b)
      Set the wait flag to the specified value.
      void setWaitMessageVisible(boolean visible)
      Set whether the "please wait" info should be visible in the display or not.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DisplayRenderer

        public DisplayRenderer()
        Construct a new DisplayRenderer.
    • Method Detail

      • getPickThreshhold

        public float getPickThreshhold()
        Returns:
        the distance threshhold for picking in direct manipulation (distance in XAxis, YAxis, ZAxis coordinates)
      • setPickThreshhold

        public void setPickThreshhold(float pt)
        set the distance threshhold for picking in direct manipulation
        Parameters:
        pt - distance (in XAxis, YAxis, ZAxis coordinates)
      • setBoxAspect

        public abstract void setBoxAspect(double[] aspect)
        set the aspect for the containing box aspect double[3] array used to scale x, y and z box sizes
      • setDisplay

        public void setDisplay(DisplayImpl d)
                        throws VisADException
        Specify DisplayImpl to be rendered.
        Parameters:
        d - Display to render.
        Throws:
        VisADException - If a DisplayImpl has already been specified.
      • initControl

        public abstract void initControl(RendererControl ctl)
        Internal method used to initialize newly created RendererControl with current renderer settings before it is actually connected to the renderer. This means that changes will not generate MonitorEvents.
        Parameters:
        ctl - RendererControl to initialize
      • getDisplay

        public DisplayImpl getDisplay()
        Get the Display associated with this renderer.
        Returns:
        The Display being rendered.
      • getRendererControl

        public RendererControl getRendererControl()
        Get the Control which holds the "shared" data for this renderer.
        Returns:
        The renderer Control.
      • setWaitFlag

        public void setWaitFlag(boolean b)
        Set the wait flag to the specified value. (When the wait flag is enabled, the user is informed that the application is busy, typically by displaying a Please wait . . . message at the bottom of the Display.) DisplayEvent.WAIT_ON and DisplayEvent.WAIT_OFF events are fired based on value of b.
        Parameters:
        b - Boolean value to which wait flag is set.
      • getWaitFlag

        public boolean getWaitFlag()
        Get the wait flag state.
        Returns:
        true if the wait flag is enabled.
      • getImage

        public abstract java.awt.image.BufferedImage getImage()
        Get a snapshot of the displayed image.
        Returns:
        The current image being displayed.
      • setScale

        public abstract void setScale(AxisScale axisScale)
                               throws VisADException
        Set an axis scale.
        Parameters:
        axisScale - AxisScale to set (it knows what axis it is for)
        Throws:
        VisADException - couldn't set the scale
      • setScale

        public abstract void setScale(int axis,
                                      int axis_ordinal,
                                      VisADLineArray array,
                                      float[] scale_color)
                               throws VisADException
        Set an axis scale.
        Parameters:
        axis - axis for this scale (0 = XAxis, 1 = YAxis, 2 = ZAxis)
        axis_ordinal - position along the axis
        array - VisADLineArray representing the scale plot
        scale_color - float[3] array representing the red, green and blue color values.
        Throws:
        VisADException - couldn't set the scale
      • setScale

        public abstract void setScale(int axis,
                                      int axis_ordinal,
                                      VisADLineArray array,
                                      VisADTriangleArray labels,
                                      float[] scale_color)
                               throws VisADException
        Set an axis scale.
        Parameters:
        axis - axis for this scale (0 = XAxis, 1 = YAxis, 2 = ZAxis)
        axis_ordinal - position along the axis
        array - VisADLineArray representing the scale plot
        labels - VisADTriangleArray representing the labels created using a font (can be null)
        scale_color - float[3] array representing the red, green and blue color values.
        Throws:
        VisADException - couldn't set the scale
      • clearScales

        public abstract void clearScales()
        Remove all the scales being rendered.
      • clearScale

        public abstract void clearScale(AxisScale axisScale)
        Remove a particular scale being rendered.
        Parameters:
        axisScale - scale to remove
      • setScaleOn

        public abstract void setScaleOn(boolean on)
        Enable scales to be displayed if they are set. This should not be called programmatically, since it does not update collaborative displays. Applications should use GraphicsModeControl.setScaleEnable instead of this method.
        Parameters:
        on - true to turn them on, false to set them invisible
      • getMode2D

        public boolean getMode2D()
        Return true if this is a 2-D DisplayRenderer.
        Returns:
        true if this is a 2-D renderer.
      • setBackgroundColor

        public void setBackgroundColor(java.awt.Color color)
                                throws java.rmi.RemoteException,
                                       VisADException
        Set the background color.
        Parameters:
        color - background color
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setBackgroundColor

        public void setBackgroundColor(float r,
                                       float g,
                                       float b)
                                throws java.rmi.RemoteException,
                                       VisADException
        Set the background color. All specified values should be in the range [0.0f - 1.0f].
        Parameters:
        r - Red value.
        g - Green value.
        b - Blue value.
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setForegroundColor

        public void setForegroundColor(java.awt.Color color)
                                throws java.rmi.RemoteException,
                                       VisADException
        Set the foreground color (box, cursor and scales).
        Parameters:
        color - foreground color
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setForegroundColor

        public void setForegroundColor(float r,
                                       float g,
                                       float b)
                                throws java.rmi.RemoteException,
                                       VisADException
        Set the foreground color (box, cursor and scales). All specified values should be in the range [0.0f - 1.0f].
        Parameters:
        r - Red value.
        g - Green value.
        b - Blue value.
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • getBoxOn

        public boolean getBoxOn()
                         throws java.rmi.RemoteException,
                                VisADException
        Get the box visibility.
        Returns:
        true if the box is visible.
        Throws:
        java.rmi.RemoteException
        VisADException
      • setBoxColor

        public void setBoxColor(java.awt.Color color)
                         throws java.rmi.RemoteException,
                                VisADException
        Set the box color.
        Parameters:
        color - box color
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setBoxColor

        public void setBoxColor(float r,
                                float g,
                                float b)
                         throws java.rmi.RemoteException,
                                VisADException
        Set the box color. All specified values should be in the range [0.0f - 1.0f].
        Parameters:
        r - Red value.
        g - Green value.
        b - Blue value.
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setBoxOn

        public void setBoxOn(boolean on)
                      throws java.rmi.RemoteException,
                             VisADException
        Set the box visibility.
        Parameters:
        on - true if the box should be visible.
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • getCursorColor

        public float[] getCursorColor()
                               throws java.rmi.RemoteException,
                                      VisADException
        Get the cursor color.
        Returns:
        A 3 element array of float values in the range [0.0f - 1.0f] in the order (Red, Green, Blue).
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setCursorColor

        public void setCursorColor(java.awt.Color color)
                            throws java.rmi.RemoteException,
                                   VisADException
        Set the cursor color.
        Parameters:
        color - cursor color
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • setCursorColor

        public void setCursorColor(float r,
                                   float g,
                                   float b)
                            throws java.rmi.RemoteException,
                                   VisADException
        Set the cursor color. All specified values should be in the range [0.0f - 1.0f].
        Parameters:
        r - Red value.
        g - Green value.
        b - Blue value.
        Throws:
        java.rmi.RemoteException - If there was a problem making this change in a remote collaborative DisplayRenderer.
        VisADException - If this renderer as not yet been assigned to a Display.
      • makeControl

        public abstract Control makeControl(ScalarMap map)
        Factory for constructing a subclass of Control appropriate for the graphics API and for this DisplayRenderer; invoked by ScalarMap when it is addMap()ed to a Display.
        Parameters:
        map - The ScalarMap for which a Control should be built.
        Returns:
        The appropriate Control.
      • makeDefaultRenderer

        public abstract DataRenderer makeDefaultRenderer()
        Factory for constructing the default subclass of DataRenderer for this DisplayRenderer.
        Returns:
        The default DataRenderer.
      • legalDataRenderer

        public abstract boolean legalDataRenderer(DataRenderer renderer)
        determine whether a DataRenderer is legal for this DisplayRenderer
        Parameters:
        renderer - DisplayRenderer to test for legality
        Returns:
        true if renderer is legal
      • setAnimationStringVisible

        public void setAnimationStringVisible(boolean visible)
        Set whether the animation info should be visible in the display or not.
        Parameters:
        visible - true to show the animation info
      • getAnimationStringVisible

        public boolean getAnimationStringVisible()
        Return whether the animation info should be visible in the display or not.
        Returns:
        true if the animation info should be shown
      • setWaitMessageVisible

        public void setWaitMessageVisible(boolean visible)
        Set whether the "please wait" info should be visible in the display or not.
        Parameters:
        visible - true to show the please wait info
      • getWaitMessageVisible

        public boolean getWaitMessageVisible()
        Return whether the please wait info should be visible in the display or not.
        Returns:
        true if the "please wait" info should be shown
      • getAnimationString

        public java.lang.String[] getAnimationString()
        Return Array of Strings describing the animation sequence
        Returns:
        The animation description
      • setAnimationString

        public void setAnimationString(java.lang.String[] animation)
        Set Array of Strings describing the animation sequence
        Parameters:
        animation - a String[2] array describing the animation sequence
      • getCursor

        public abstract double[] getCursor()
        Return an array giving the cursor location as (XAxis, YAxis, ZAxis) coordinates
        Returns:
        3 element double array of cursor coordinates.
      • setCursorOn

        public abstract void setCursorOn(boolean on)
        set flag indicating whether the cursor should be displayed.
        Parameters:
        on - value of flag to set
      • depth_cursor

        public abstract void depth_cursor(VisADRay ray)
        set a VisADRay along which to drag cursor in depth (in and out of screen)
        Parameters:
        ray - VisADRay to set
      • drag_cursor

        public abstract void drag_cursor(VisADRay ray,
                                         boolean first)
        drag cursor parallel to plane of screen
        Parameters:
        ray - VisADRay that goes through new cursor location
        first - true to indicate this is first call to drag_cursor() for this drag
      • setDirectOn

        public abstract void setDirectOn(boolean on)
        set flag indicating whether direct manipulation is active
        Parameters:
        on - value of flag to set
      • drag_depth

        public abstract void drag_depth(float diff)
        drag cursor in depth (in and out of screen)
        Parameters:
        diff - amount to move cursor in depth (0.0 corresponds to no movement)
      • anyDirects

        public abstract boolean anyDirects()
        Returns:
        flag indicating whether there are any direct manipulation DataRenderers linked to Display
      • getMouseBehavior

        public abstract MouseBehavior getMouseBehavior()
        Returns:
        the MouseBehavior for this display
      • findDirect

        public abstract DataRenderer findDirect(VisADRay ray,
                                                int mouseModifiers)
        Returns a direct manipulation renderer if one is close to the specified ray (within pick threshold).
        Parameters:
        ray - The ray used to look for a nearby direct manipulation renderer.
        mouseModifiers - Value of InputEvent.getModifiers().
        Returns:
        DataRenderer or null.
      • setCursorStringOn

        public void setCursorStringOn(boolean on)
        set flag indicating whether the cursor location String should be displayed.
        Parameters:
        on - value of flag to set
      • getCursorStringVector

        public java.util.Vector getCursorStringVector()
        Return Vector of Strings describing the cursor location, if cursor location display is enabled.
        Returns:
        The cursor location description as a Vector of Strings (an empty Vector if cursor location display is disabled).
      • getCursorStringVectorUnconditional

        public java.util.Vector getCursorStringVectorUnconditional()
        Return Vector of Strings describing the cursor location, regardless of whether cursor location display is enabled.
        Returns:
        The cursor location description as a Vector of Strings.
      • getDirectAxisValue

        public double getDirectAxisValue(RealType type)
        get the value of a RealType if it is included in the cursor location
        Parameters:
        type - RealType whose value to get
        Returns:
        value of type, or NaN if it is not included in the cursor location
      • getDirectAxisValue

        public double getDirectAxisValue(java.lang.String name)
        get the value of a named RealType if it is included in the cursor location
        Parameters:
        name - String name of RealType whose value to get
        Returns:
        value of named RealType, or NaN if it is not included in the cursor location
      • setCursorStringVector

        public void setCursorStringVector(java.util.Vector vect)
        Set Vector of Strings describing the cursor location by copy; this is invoked by direct manipulation renderers.
        Parameters:
        vect - String descriptions of cursor location.
      • setCursorStringVector

        public void setCursorStringVector()
        Set Vector of Strings describing the cursor location from the cursor location; this is invoked when the cursor location changes or the cursor display status changes
      • render_trigger

        public void render_trigger()
        trigger the graphics API to render the scene graph to the screen; intended to be over-ridden by graphics-API-specific extensions of DisplayRenderer
      • legalDisplayScalar

        public boolean legalDisplayScalar(DisplayRealType type)
        Return true if type is legal for this DisplayRenderer; for example, 2-D DisplayRenderers use this to disallow mappings to ZAxis and Latitude.
        Parameters:
        type - The mapping type to check.
        Returns:
        true if type is legal.
      • prepareAction

        public void prepareAction(java.util.Vector temp,
                                  java.util.Vector tmap,
                                  boolean go,
                                  boolean initialize)
                           throws VisADException,
                                  java.rmi.RemoteException
        prepare for transforming Data into scene graph depictions, including possible auto-scaling of ScalarMaps
        Parameters:
        temp - Vector of DataRenderers
        tmap - Vector of ScalarMaps
        go - flag indicating whether Data transforms are requested
        initialize - flag indicating whether auto-scaling is requested
        Throws:
        VisADException - a VisAD error occurred
        java.rmi.RemoteException - an RMI error occurred
      • setScaleRotation

        public void setScaleRotation(boolean value)
        Set the ScaleRotation property.
        Parameters:
        value - The new value for ScaleRotation
      • getScaleRotation

        public boolean getScaleRotation()
        Get the ScaleRotation property.
        Returns:
        The ScaleRotation
      • setRotateAboutCenter

        public void setRotateAboutCenter(boolean value)
        Set the RotateAboutCenter property.
        Parameters:
        value - The new value for RotateAboutCenter
      • getRotateAboutCenter

        public boolean getRotateAboutCenter()
        Get the RotateAboutCenter property.
        Returns:
        The RotateAboutCenter

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.