java.lang.Object
gov.nih.mipav.view.renderer.WildMagic.Render.MultiDimensionalTransfer.ClassificationWidget
gov.nih.mipav.view.renderer.WildMagic.Render.MultiDimensionalTransfer.SquareClassificationWidget
All Implemented Interfaces:
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:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • 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 Details

    • 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)
      iWidth - canvas width (default 256)
      iHeight - canvas height (default 256)
      kTexName - 2D Histogram texture name.
  • Method Details

    • 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
      Parameters:
      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, int iX, int iY)
      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.
    • 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
      Parameters:
      kTexture -
    • updateDisplay

      public void updateDisplay()
      Description copied from class: ClassificationWidget
      Updates the ShaderEffect parameters for this widget.
      Specified by:
      updateDisplay 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(int iX, int iY, boolean bLower)
      Scale the rectangle, based on the control points
      Parameters:
      bLower - when true the lower control point is being dragged, false when the upper control-point is dragged.
      e - MouseEvent position
    • ShiftSquare

      protected void ShiftSquare(int iX, int iY)
      Translate the square in the 2D Histogram panel.
      Parameters:
      e - MouseEvent
    • readObject

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

      private void ShiftMid(int iX, int iY)
      Moves the mid-line control-point. Repositions the mid-line of the transfer function inside this widget.
      Parameters:
      e - MouseEvent
    • writeObject

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