gumbo.graphic.space
Interface TransformableGraphic

All Superinterfaces:
Graphic, GraphicGeometry
All Known Implementing Classes:
AxisAngle3, AxisBound3, Line3, Plane3, Point3, Vector3

public interface TransformableGraphic
extends GraphicGeometry

A graphic that can be spatially transformed, typically in a stateless manner (for stateful transformation see TransformNode). Typically associated with geometric elements (point, vector, line, plane, etc), and geometric shapes (polygonal surface, quadratic surface, etc). If implemented by a space node, transforms the node's contents (geometry and descendants), not its local space. For speed, implementations should use a SpaceMapper that employs native graphics.

Version:
$Revision: 1.1 $
Author:
Jon Barrilleaux (jonb@jmbaai.com) of JMB and Associates Inc.

Method Summary
 void transformGraphic(Matrix4 matrix)
          Transforms this graphic's geometry by pre-multiplying it with the specified transform matrix.
 void transformGraphic(SpaceNode from, SpaceNode to)
          Transforms this graphic's geometry from one local reference space to another in a space tree.
 
Methods inherited from interface gumbo.graphic.space.GraphicGeometry
getGraphicLocalSpace
 
Methods inherited from interface gumbo.graphic.Graphic
getGraphic
 

Method Detail

transformGraphic

public void transformGraphic(SpaceNode from,
                             SpaceNode to)
Transforms this graphic's geometry from one local reference space to another in a space tree. Does not access or update this object's intrinsic reference space (which is returned by getGraphicLocalSpace()). If this graphic is spatially constrained some or all of the transformation may be ignored.

Parameters:
from - The current reference space. Never null.
to - The new reference space. Never null.
Throws:
java.lang.IllegalArgumentException - The from and to spaces are not in the same tree.

transformGraphic

public void transformGraphic(Matrix4 matrix)
Transforms this graphic's geometry by pre-multiplying it with the specified transform matrix. As such, transformations are cumulative. If this graphic is spatially constrained some or all of the transformation may be ignored.

Parameters:
matrix - Value of the transform matrix. Never null.