Class SVGDiagram

  • All Implemented Interfaces:
    java.io.Serializable

    public class SVGDiagram
    extends java.lang.Object
    implements java.io.Serializable
    Top level structure in an SVG tree.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.awt.Rectangle deviceViewport
      This is used by the SVGRoot to determine the width of the
      (package private) java.util.HashMap<java.lang.String,​SVGElement> idMap  
      protected boolean ignoreClipHeuristic
      If true, no attempt will be made to discard geometry based on it being out of bounds.
      (package private) SVGRoot root  
      static long serialVersionUID  
      (package private) SVGUniverse universe  
      (package private) java.net.URI xmlBase
      URI that uniquely identifies this document.
    • Constructor Summary

      Constructors 
      Constructor Description
      SVGDiagram​(java.net.URI xmlBase, SVGUniverse universe)
      Creates a new instance of SVGDiagram
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Rectangle getDeviceViewport()  
      SVGElement getElement​(java.lang.String name)  
      float getHeight()  
      SVGRoot getRoot()  
      SVGUniverse getUniverse()  
      java.awt.geom.Rectangle2D getViewRect()  
      java.awt.geom.Rectangle2D getViewRect​(java.awt.geom.Rectangle2D rect)
      Returns the viewing rectangle of this diagram in device coordinates.
      float getWidth()  
      java.net.URI getXMLBase()  
      boolean ignoringClipHeuristic()  
      java.util.List<java.util.List<SVGElement>> pick​(java.awt.geom.Point2D point, boolean boundingBox, java.util.List<java.util.List<SVGElement>> retVec)  
      java.util.List<java.util.List<SVGElement>> pick​(java.awt.geom.Point2D point, java.util.List<java.util.List<SVGElement>> retVec)
      Searches thorough the scene graph for all RenderableElements that have shapes that contain the passed point.
      java.util.List<java.util.List<SVGElement>> pick​(java.awt.geom.Rectangle2D pickArea, boolean boundingBox, java.util.List<java.util.List<SVGElement>> retVec)  
      java.util.List<java.util.List<SVGElement>> pick​(java.awt.geom.Rectangle2D pickArea, java.util.List<java.util.List<SVGElement>> retVec)  
      void removeElement​(java.lang.String name)  
      void render​(java.awt.Graphics2D g)
      Draws this diagram to the passed graphics context
      void setDeviceViewport​(java.awt.Rectangle deviceViewport)
      Sets the dimensions of the device being rendered into.
      void setElement​(java.lang.String name, SVGElement node)  
      void setIgnoringClipHeuristic​(boolean ignoreClipHeuristic)  
      void setRoot​(SVGRoot root)  
      void updateTime​(double curTime)
      Updates all attributes in this diagram associated with a time event.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • idMap

        final java.util.HashMap<java.lang.String,​SVGElement> idMap
      • deviceViewport

        private java.awt.Rectangle deviceViewport
        This is used by the SVGRoot to determine the width of the
      • ignoreClipHeuristic

        protected boolean ignoreClipHeuristic
        If true, no attempt will be made to discard geometry based on it being out of bounds. This trades potentially drawing many out of bounds shapes with having to recalculate bounding boxes every animation iteration.
      • xmlBase

        final java.net.URI xmlBase
        URI that uniquely identifies this document. Also used to resolve relative urls. Default base for document.
    • Constructor Detail

      • SVGDiagram

        public SVGDiagram​(java.net.URI xmlBase,
                          SVGUniverse universe)
        Creates a new instance of SVGDiagram
        Parameters:
        xmlBase -
        universe -
    • Method Detail

      • render

        public void render​(java.awt.Graphics2D g)
                    throws SVGException
        Draws this diagram to the passed graphics context
        Parameters:
        g -
        Throws:
        SVGException
      • pick

        public java.util.List<java.util.List<SVGElement>> pick​(java.awt.geom.Point2D point,
                                                               java.util.List<java.util.List<SVGElement>> retVec)
                                                        throws SVGException
        Searches thorough the scene graph for all RenderableElements that have shapes that contain the passed point. For every shape which contains the pick point, a List containing the path to the node is added to the return list. That is, the result of SVGElement.getPath() is added for each entry.
        Parameters:
        point -
        retVec -
        Returns:
        the passed in list
        Throws:
        SVGException
      • getXMLBase

        public java.net.URI getXMLBase()
      • getWidth

        public float getWidth()
      • getHeight

        public float getHeight()
      • getViewRect

        public java.awt.geom.Rectangle2D getViewRect​(java.awt.geom.Rectangle2D rect)
        Returns the viewing rectangle of this diagram in device coordinates.
        Parameters:
        rect -
        Returns:
      • getViewRect

        public java.awt.geom.Rectangle2D getViewRect()
      • getElement

        public SVGElement getElement​(java.lang.String name)
      • setElement

        public void setElement​(java.lang.String name,
                               SVGElement node)
      • removeElement

        public void removeElement​(java.lang.String name)
      • getRoot

        public SVGRoot getRoot()
      • setRoot

        public void setRoot​(SVGRoot root)
      • ignoringClipHeuristic

        public boolean ignoringClipHeuristic()
      • setIgnoringClipHeuristic

        public void setIgnoringClipHeuristic​(boolean ignoreClipHeuristic)
      • updateTime

        public void updateTime​(double curTime)
                        throws SVGException
        Updates all attributes in this diagram associated with a time event. Ie, all attributes with track information.
        Parameters:
        curTime -
        Throws:
        SVGException
      • getDeviceViewport

        public java.awt.Rectangle getDeviceViewport()
      • setDeviceViewport

        public void setDeviceViewport​(java.awt.Rectangle deviceViewport)
        Sets the dimensions of the device being rendered into. This is used by SVGRoot when its x, y, width or height parameters are specified as percentages.
        Parameters:
        deviceViewport -