Class ShapeNode

  • All Implemented Interfaces:
    GraphicsNode

    public class ShapeNode
    extends AbstractGraphicsNode
    A graphics node that represents a shape.
    Version:
    $Id: ShapeNode.java 1733416 2016-03-03 07:07:13Z gadams $
    • Field Detail

      • shape

        protected java.awt.Shape shape
        The shape that describes this ShapeNode.
      • shapePainter

        protected ShapePainter shapePainter
        The shape painter used to paint the shape of this shape node.
      • primitiveBounds

        private java.awt.geom.Rectangle2D primitiveBounds
        Internal Cache: Primitive bounds
      • geometryBounds

        private java.awt.geom.Rectangle2D geometryBounds
        Internal Cache: Geometry bounds
      • sensitiveBounds

        private java.awt.geom.Rectangle2D sensitiveBounds
        Internal Cache: Sensitive bounds
      • paintedArea

        private java.awt.Shape paintedArea
        Internal Cache: The painted area.
      • sensitiveArea

        private java.awt.Shape sensitiveArea
        Internal Cache: The sensitive area.
    • Constructor Detail

      • ShapeNode

        public ShapeNode()
        Constructs a new empty ShapeNode.
    • Method Detail

      • setShape

        public void setShape​(java.awt.Shape newShape)
        Sets the shape of this ShapeNode.
        Parameters:
        newShape - the new shape of this shape node
      • getShape

        public java.awt.Shape getShape()
        Returns the shape of this ShapeNode.
      • setShapePainter

        public void setShapePainter​(ShapePainter newShapePainter)
        Sets the ShapePainter used by this shape node to render its shape.
        Parameters:
        newShapePainter - the new ShapePainter to use
      • getShapePainter

        public ShapePainter getShapePainter()
        Returns the ShapePainter used by this shape node to render its shape.
      • paint

        public void paint​(java.awt.Graphics2D g2d)
        Paints this node.
        Specified by:
        paint in interface GraphicsNode
        Overrides:
        paint in class AbstractGraphicsNode
        Parameters:
        g2d - the Graphics2D to use
      • primitivePaint

        public void primitivePaint​(java.awt.Graphics2D g2d)
        Paints this node without applying Filter, Mask, Composite, and clip.
        Parameters:
        g2d - the Graphics2D to use
      • invalidateGeometryCache

        protected void invalidateGeometryCache()
        Invalidates this ShapeNode. This node and all its ancestors have been informed that all its cached values related to its bounds must be recomputed.
        Overrides:
        invalidateGeometryCache in class AbstractGraphicsNode
      • setPointerEventType

        public void setPointerEventType​(int pointerEventType)
        Description copied from class: AbstractGraphicsNode
        Sets the type that describes how this graphics node reacts to events.
        Specified by:
        setPointerEventType in interface GraphicsNode
        Overrides:
        setPointerEventType in class AbstractGraphicsNode
        Parameters:
        pointerEventType - VISIBLE_PAINTED | VISIBLE_FILL | VISIBLE_STROKE | VISIBLE | PAINTED | FILL | STROKE | ALL | NONE
      • contains

        public boolean contains​(java.awt.geom.Point2D p)
        Returns true if the specified Point2D is inside the boundary of this node, false otherwise.
        Specified by:
        contains in interface GraphicsNode
        Overrides:
        contains in class AbstractGraphicsNode
        Parameters:
        p - the specified Point2D in the user space
      • intersects

        public boolean intersects​(java.awt.geom.Rectangle2D r)
        Returns true if the interior of this node intersects the interior of a specified Rectangle2D, false otherwise.
        Specified by:
        intersects in interface GraphicsNode
        Overrides:
        intersects in class AbstractGraphicsNode
        Parameters:
        r - the specified Rectangle2D in the user node space
      • getPrimitiveBounds

        public java.awt.geom.Rectangle2D getPrimitiveBounds()
        Returns the bounds of the area covered by this node's primitive paint.
      • inSensitiveArea

        public boolean inSensitiveArea​(java.awt.geom.Point2D pt)
      • getSensitiveBounds

        public java.awt.geom.Rectangle2D getSensitiveBounds()
        Returns the bounds of the sensitive area covered by this node, This includes the stroked area but does not include the effects of clipping, masking or filtering.
      • getSensitiveArea

        public java.awt.Shape getSensitiveArea()
        Returns the shape that represents the sensitive area of this graphics node.
      • getGeometryBounds

        public java.awt.geom.Rectangle2D getGeometryBounds()
        Returns the bounds of the area covered by this node, without taking any of its rendering attribute into account. That is, exclusive of any clipping, masking, filtering or stroking, for example.
      • getOutline

        public java.awt.Shape getOutline()
        Returns the outline of this node.