Class JaxoLineObject

All Implemented Interfaces:
Shape, PropertyChangeListener, Serializable, Cloneable, EventListener
Direct Known Subclasses:
JaxoDashLine, JaxoFLine, JaxoGlLine, JaxoPLine, JaxoZigZagLine

public abstract class JaxoLineObject extends JaxoParticleObject
A general line object.
Since:
2.0
See Also:
  • Field Details

  • Constructor Details

    • JaxoLineObject

      public JaxoLineObject()
  • Method Details

    • isCopy

      public boolean isCopy(JaxoObject comp)
      Determines if this JaxoObject is a copy of the specified one.
      Overrides:
      isCopy in class JaxoParticleObject
      Parameters:
      comp - The JaxoObject to compare against.
      Returns:
      True if the JaxoObjects are identical.
    • setState

      public void setState(JaxoObject o)
      Restore state to the values of 'o'. The object 'o' must be an object of the same "type" obtained by JaxoObject.copy().
      Overrides:
      setState in class JaxoParticleObject
      Parameters:
      o - the object to copy from.
    • getGrabbedHandle

      public int getGrabbedHandle(int clickX, int clickY, JaxoHandle h)
      Determines which handle the user has selected to move/resize/edit an object.
      Overrides:
      getGrabbedHandle in class JaxoExtendedObject
      Parameters:
      clickX - The x coordinate where the mouse click has ocurred.
      clickY - The y coordinate where the mouse click has ocurred.
      h - A handle object.
      Returns:
      One of the static variables SELECT_* defined for this JaxoObject that specifies the handle which the user has clicked.
    • paintHandles

      public final void paintHandles(JaxoGraphics2D g2, JaxoHandle h, int editMode)
      Paints the handles of this JaxoObject that allow to move/resize/edit it.
      Overrides:
      paintHandles in class JaxoExtendedObject
      Parameters:
      g2 - The corresponding graphics context.
      h - A handle object to be used for painting.
      editMode - The edit mode that the handles are being painted in.
    • canBeSelected

      public boolean canBeSelected(int handle, int mode)
      Determines if the object can be selected (moved, edited, etc) from the given point in a given edit mode.
      Overrides:
      canBeSelected in class JaxoExtendedObject
      Parameters:
      handle - One of the static variables SELECT_* defined for this JaxoObject.
      mode - The current edit mode.
      Returns:
      True if the object may be selected from the given point, false otherwise.
    • smallestDistanceTo

      public final float smallestDistanceTo(int px, int py)
      Determines the smallest distance of any of the handles of this JaxoObject from the given point.
      Overrides:
      smallestDistanceTo in class JaxoExtendedObject
      Parameters:
      px - The x coordinate of the test point.
      py - The y coordinate of the test point.
      Returns:
      The smallest distance.
    • paint

      public void paint(JaxoGraphics2D g2)
      The method that paints the JaxoObject.
      Specified by:
      paint in class JaxoObject
      Parameters:
      g2 - The graphics context where the object has to be painted.
    • getBounds

      public Rectangle getBounds()
      Returns the bounding box of this line.
      Returns:
      the bounding box of this line.
    • latexCommand

      public String latexCommand(float scale, Dimension canvasDim)
      The LaTeX command that is necessary to draw the given JaxoObject using the axodraw.sty package.
      Specified by:
      latexCommand in class JaxoObject
      Parameters:
      scale - A scale factor to translate Java coordinates to LaTeX coordinates.
      canvasDim - The current dimension of the canvas.
      Returns:
      The corresponding axodraw LaTeX command.
    • getLaTexStartPoint

      protected Point2D getLaTexStartPoint(float scaleFactor, int canvasHeight)
      Returns the first point of this line in latex (ie axodraw) coordinates.
      Parameters:
      scaleFactor - A scale factor.
      canvasHeight - The height of the current canvas.
      Returns:
      A Point2D object holding the start point.
    • getLaTexEndPoint

      protected Point2D getLaTexEndPoint(float scaleFactor, int canvasHeight)
      Returns the end point of this line in latex (ie axodraw) coordinates.
      Parameters:
      scaleFactor - A scale factor.
      canvasHeight - The height of the current canvas.
      Returns:
      A Point2D object holding the end point.
    • getLatexDLOffSet

      protected Point2D getLatexDLOffSet(float scaleFactor)
      Returns the amount this line is offset in double-line mode.
      Parameters:
      scaleFactor - A scale factor.
      Returns:
      A Point2D object holding offset.
    • arrowCoordinates

      public JaxoArrow.Coordinates arrowCoordinates()
      Returns the coordinates of the arrow of the current object.
      Specified by:
      arrowCoordinates in class JaxoParticleObject
      Returns:
      The coordinates of the arrow of the current object.
    • rescaleObject

      public final void rescaleObject(int orx, int ory, float scale)
      Rescale this JaxoObject by the scale factor scale, keeping the point (orx, ory) fixed.
      Specified by:
      rescaleObject in class JaxoObject
      Parameters:
      orx - The x-coordinate of the fixed point.
      ory - The y-coordinate of the fixed point.
      scale - The scale parameter.
    • length

      public double length()
      Returns the length of this line.
      Returns:
      The length.
    • getObjectPath

      protected abstract GeneralPath getObjectPath()
      Get the GeneralPath that paints this line.
      Returns:
      GeneralPath.
    • getAxo4JOptions

      protected abstract String getAxo4JOptions(float scale)
      Return the option part of the LaTeX command for this line.
      Parameters:
      scale - the axodraw4j scale factor.
      Returns:
      the option String.