com.kitfox.svg
Class SVGDiagram

java.lang.Object
  extended by com.kitfox.svg.SVGDiagram

public class SVGDiagram
extends java.lang.Object

Top level structure in an SVG tree.

Author:
Mark McKay, Mark McKay

Field Summary
protected  boolean ignoreClipHeuristic
          If true, no attempt will be made to discard geometry based on it being out of bounds.
 
Constructor Summary
SVGDiagram(java.net.URI xmlBase, SVGUniverse universe)
          Creates a new instance of SVGDiagram
 
Method Summary
 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.Vector pick(java.awt.geom.Point2D point, java.util.Vector retVec)
          Searches thorough the scene graph for all RenderableElements that have shapes that contain the passed point.
 void render(java.awt.Graphics2D g)
          Draws this diagram to the passed graphics context
 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

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.

Constructor Detail

SVGDiagram

public SVGDiagram(java.net.URI xmlBase,
                  SVGUniverse universe)
Creates a new instance of SVGDiagram

Method Detail

render

public void render(java.awt.Graphics2D g)
            throws SVGException
Draws this diagram to the passed graphics context

Throws:
SVGException

pick

public java.util.Vector pick(java.awt.geom.Point2D point,
                             java.util.Vector 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 Vector containing the path to the node is added to the return vector. That is, the result of SVGElement.getPath() is added for each entry.

Returns:
the passed in vector
Throws:
SVGException

getUniverse

public SVGUniverse getUniverse()

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.


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)

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.

Throws:
SVGException