com.kitfox.svg
Class SVGDiagram

java.lang.Object
  extended by com.kitfox.svg.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.

Author:
Mark McKay, Mark McKay
See Also:
Serialized Form

Field Summary
protected  boolean ignoreClipHeuristic
          If true, no attempt will be made to discard geometry based on it being out of bounds.
static long serialVersionUID
           
 
Constructor Summary
SVGDiagram(java.net.URI xmlBase, SVGUniverse universe)
          Creates a new instance of SVGDiagram
 
Method Summary
 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.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 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

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values

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)

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.

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.