Class SquareClassificationWidget

  • All Implemented Interfaces:
    java.io.Serializable

    public class SquareClassificationWidget
    extends ClassificationWidget
    This class implements a 2D Square-shaped ClassficiationWidget. The code implements the rendering of the widget in the 2D Multi-histogram panel, as well as the user mouse-interaction with the widget. The parameters that define the widget are then passed to the Volume Renderer GLSL shader program and determine how the Volume is displayed. *
    See Also:
    Serialized Form
    • Field Detail

      • m_fCenterX

        private float m_fCenterX
        Current parameterized coordinates for the center control point in X (used to maintain relative position when resizing the widget).
      • m_fCenterY

        private float m_fCenterY
        Current parameterized coordinates for the center control point in Y (used to maintain relative position when resizing the widget).
    • Constructor Detail

      • SquareClassificationWidget

        public SquareClassificationWidget​(int iX,
                                          int iY,
                                          WildMagic.LibFoundation.Mathematics.Vector2f kTMin,
                                          WildMagic.LibFoundation.Mathematics.Vector2f kTMax,
                                          WildMagic.LibGraphics.Rendering.Texture kTexture,
                                          int iWidth,
                                          int iHeight)
        Parameters:
        iX - location in MouseEvent Coordinates.
        iY - location in MouseEvent Coordinates.
        kTMin - minimum texture coordinates for the 2D histogram, used for the image background. (Defaults 0-1)
        kTMax - maximum texture coordinates for the 2D histogram, used for the image background. (Defaults 0-1)
        kTexName - 2D Histogram texture name.
        iWidth - canvas width (default 256)
        iHeight - canvas height (default 256)
    • Method Detail

      • Pick

        public boolean Pick​(WildMagic.LibGraphics.Rendering.Renderer kRenderer,
                            int iX,
                            int iY)
        Description copied from class: ClassificationWidget
        Abstract picking. Returns true if this widget, or one of it's control points was picked.
        Specified by:
        Pick in class ClassificationWidget
        iX - current mouse x position (MouseEvent coordinates).
        iY - current mouse y position (MouseEvent coordinates).
        Returns:
        true if this widget or one of it's control points was picked.
      • processMouseDrag

        public void processMouseDrag​(int iX0ld,
                                     int iYOld,
                                     int iButton,
                                     java.awt.event.MouseEvent e)
        Specified by:
        processMouseDrag in class ClassificationWidget
        Parameters:
        iX0ld - old mouse x-position in MouseEvent coordinates.
        iYOld - old mouse y-position in MouseEvent coordinates.
        iButton - old mouse button.
        e - current MouseEvent
      • setPicked

        public void setPicked​(boolean bPicked)
        Clears or sets the current picked object, sets the outline color to red when picked, blue when not selected.
        Overrides:
        setPicked in class ClassificationWidget
        Parameters:
        bPicked - when true the widget is selected.
      • setTexture

        public void setTexture​(WildMagic.LibGraphics.Rendering.Texture kTexture)
        Description copied from class: ClassificationWidget
        Sets the histogram Texture map for the widget shader effect.
        Specified by:
        setTexture in class ClassificationWidget
      • CreateSquare

        protected void CreateSquare​(int iX,
                                    int iY,
                                    WildMagic.LibGraphics.Rendering.Texture kTexture)
        Creates the square widget and control points:
        Parameters:
        iX - mouse x-position in MouseEvent coordinates.
        iY - mouse y-position in MouseEvent coordinates.
        kTexName - 2D Histogram texture name.
      • ScaleRectangle

        protected void ScaleRectangle​(java.awt.event.MouseEvent e,
                                      boolean bLower)
        Scale the rectangle, based on the control points
        Parameters:
        e - MouseEvent position
        bLower - when true the lower control point is being dragged, false when the upper control-point is dragged.
      • ShiftSquare

        protected void ShiftSquare​(java.awt.event.MouseEvent e)
        Translate the square in the 2D Histogram panel.
        Parameters:
        e - MouseEvent
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Read this object from disk:
        Parameters:
        in -
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • ShiftMid

        private void ShiftMid​(java.awt.event.MouseEvent e)
        Moves the mid-line control-point. Repositions the mid-line of the transfer function inside this widget.
        Parameters:
        e - MouseEvent
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Stream this object to disk.
        Parameters:
        out -
        Throws:
        java.io.IOException