Class VertexShape


  • public abstract class VertexShape
    extends java.lang.Object
    Class for defining shapes to use for rendering vertices in a graph
    • Method Detail

      • getName

        public java.lang.String getName()
        Returns the name of the shape
        Returns:
        the name of the shape
      • getShape

        public java.awt.Shape getShape()
        Returns the Shape for this VertexShape instance
        Returns:
        the Shape for this VertexShape instance
      • getLabelPosition

        public double getLabelPosition()
        Gets the relative amount of margin space to allocate above the label. The default is 0.5 which will center the label in the associated shape. A value closer to 0 will move the label closer to the top and a value closer to 1 will move the label closer to the bottom.
        Returns:
        the relative amount of margin space to allocate obove the label.s
      • getShapeToLabelRatio

        public double getShapeToLabelRatio()
        Returns the size factor for a shape relative to its label. Shapes are sized based on the label of a vertex so that the label can fit inside the shape (mostly). Some subclasses will need to override this value to some value > 1 to fit the label in the shape. For example, a rectangle shape does not need to be extended because text naturally fits. But for a shape like a triangle, its bounding box needs to be bigger so that text doesn't "stick out" in the narrow part of the triangle.
        Returns:
        the size factor for a shape relatvie to its label
      • getMaxWidthToHeightRatio

        public int getMaxWidthToHeightRatio()
        This is a factor to keep some shapes from being so distorted by very long labels that they effectively lose their shape when seen by the user
        Returns:
        the max width to height ratio
      • createShape

        protected abstract java.awt.Shape createShape()
      • getShape

        public static VertexShape getShape​(java.lang.String shapeName)
        Returns the VertexShape for the given shape name
        Parameters:
        shapeName - the name of the shape for which to get the VertexShape
        Returns:
        the VertexShape for the given shape name
      • getShapeNames

        public static java.util.List<java.lang.String> getShapeNames()
        Returns a list of names for all the supported VertexShapes
        Returns:
        a list of names for all the supported VertexShapes
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object