All Known Implementing Classes:
Compass3D, RotateToolMulti, RotateToolOneAxis, SelectionTool, TranslateToolMulti, TranslateToolOneAxis, TranslateToolTwoAxis

public interface ViewportTool
Interface for Viewport tools that can be used to visually edit the scene.
  • Method Details

    • activate

      void activate(List<Node> list)
      This method is called when the tool is activated. It receives a list containing the selected nodes and their initial world poses.
      Parameters:
      list - The selected items to be manipulated by the tool.
    • deactivate

      void deactivate()
      This method is called when the tool is deactivated. It allows the tool to perform any necessary cleanup actions before another tool takes over.
    • handleMouseEvent

      void handleMouseEvent(MouseEvent event)
      Handles mouse input events for the tool.
      Parameters:
      event - The MouseEvent object representing the input event.
    • update

      void update(double deltaTime)
      Updates the tool's internal state, if necessary.
      Parameters:
      deltaTime - Time elapsed since the last update.
    • render

      void render(com.jogamp.opengl.GL3 gl, ShaderProgram shaderProgram)
      Renders any tool-specific visuals to the 3D scene.
      Parameters:
      gl - The OpenGL context.
    • setViewport

      void setViewport(Viewport viewport)
    • isInUse

      boolean isInUse()
      Returns true if the tool is active (was clicked correctly and could be dragged)
      Returns:
      true if the tool is active (was clicked correctly and could be dragged)
    • cancelUse

      void cancelUse()
      Force cancel the tool. useful if two viewporttools are activated at once.
    • getStartPoint

      javax.vecmath.Point3d getStartPoint()
      Returns the point on the tool clicked by the user. This is used to determine which tool is closer to the user.
      Returns:
      the point on the tool clicked by the user.
    • mouseMoved

      void mouseMoved(MouseEvent event)
    • mousePressed

      void mousePressed(MouseEvent event)
    • mouseDragged

      void mouseDragged(MouseEvent event)
    • mouseReleased

      void mouseReleased(MouseEvent event)
    • setFrameOfReference

      void setFrameOfReference(FrameOfReference index)
      Sets the frame of reference for the tool.
      Parameters:
      index - 0 for world, 1 for local, 2 for camera.
    • init

      void init(com.jogamp.opengl.GL3 gl3)
      This is called when the OpenGL context is created. It should create any resources.
      Parameters:
      gl3 - the OpenGL context.
    • dispose

      void dispose(com.jogamp.opengl.GL3 gl3)
      This is called when the OpenGL context is destroyed. It should release any resources.
      Parameters:
      gl3 - the OpenGL context.