java.lang.Object
com.inductiveautomation.vision.api.client.components.shapes.ShapeDelegate
com.inductiveautomation.factorypmi.application.components.shapes.ArrowShape

public class ArrowShape extends ShapeDelegate
  • Field Details

  • Constructor Details

    • ArrowShape

      public ArrowShape()
    • ArrowShape

      public ArrowShape(Point2D origin, float length, float angle, float shaftWidth, float headLength, float headWidth)
    • ArrowShape

      public ArrowShape(Point2D origin, float length, float angle, float shaftWidth, float headLength, float headWidth, boolean doubleSided)
  • Method Details

    • getToolKey

      public String getToolKey()
      Specified by:
      getToolKey in class ShapeDelegate
    • getShape

      public Shape getShape()
      Description copied from class: ShapeDelegate
      The AWT shape this delegate produces
      Specified by:
      getShape in class ShapeDelegate
    • isSymmetric

      public boolean isSymmetric()
      Specified by:
      isSymmetric in class ShapeDelegate
    • isRotatable

      public boolean isRotatable()
      Description copied from class: ShapeDelegate
      Some shape delegates prefer to handle rotation themselves, instead of having the PathBasedVisionShape parent rotate their shape after the fact. Delegates that do this should return true from this method, and then handle the rotate method appropriately. Note that all rotations must go through the PathBasedVisionShape so that it can update the angle property.
      Overrides:
      isRotatable in class ShapeDelegate
    • rotate

      public void rotate(double angle, Point2D anchor)
      Overrides:
      rotate in class ShapeDelegate
    • getTipPoint

      public Point2D getTipPoint()
    • updateShape

      public void updateShape()
    • translateShape

      public void translateShape(double dX, double dY)
      Description copied from class: ShapeDelegate
      Move the shape using the provided offsets. Default implementation calls alterShape.
      Overrides:
      translateShape in class ShapeDelegate
    • alterShape

      public boolean alterShape(Rectangle2D newRect)
      Description copied from class: ShapeDelegate
      Directly modify the shape's frame so that it fits tightly within the new framing rectangle.
      Specified by:
      alterShape in class ShapeDelegate
      Parameters:
      newRect - The new bounding rectangle for the shape.
      Returns:
      false if the shape was unable to alter itself into the given rectangle.
    • convertToPath

      public GeneralPath convertToPath()
      Description copied from class: ShapeDelegate
      Convert this shape to a GeneralPath
      Overrides:
      convertToPath in class ShapeDelegate
    • getOrigin

      public Point2D getOrigin()
    • setOrigin

      public void setOrigin(Point2D origin)
    • getLength

      public float getLength()
    • setLength

      public void setLength(float length)
    • getAngle

      public float getAngle()
    • setAngle

      public void setAngle(float angle)
    • getShaftWidth

      public float getShaftWidth()
    • setShaftWidth

      public void setShaftWidth(float shaftWidth)
    • getHeadLength

      public float getHeadLength()
    • setHeadLength

      public void setHeadLength(float headLength)
    • getHeadWidth

      public float getHeadWidth()
    • setHeadWidth

      public void setHeadWidth(float headWidth)
    • isDoubleSided

      public boolean isDoubleSided()
    • setDoubleSided

      public void setDoubleSided(boolean doubleSided)