vmm.spacecurve.parametric
Class RepereMobileDecoration

java.lang.Object
  extended by vmm.core.Decoration
      extended by vmm.spacecurve.parametric.RepereMobileDecoration

public class RepereMobileDecoration
extends Decoration

A decoration that appears as a three perpendicular line segments at a point on the curve, representing the tangent, normal, and binormal vectors at that point. If the curve or its derivatives are undefined at that point, nothing is drawn.


Field Summary
 
Fields inherited from class vmm.core.Decoration
decorationNeedsRedraw
 
Constructor Summary
RepereMobileDecoration()
          Creates a RepereMobileDecoration with no associated curve.
 
Method Summary
 void doDraw(java.awt.Graphics2D g, View view, Transform transform)
          Draw the decoration.
 SpaceCurveParametric getCurve()
          Returns the curve to which this decoration applies, or null if no curve has been set yet.
 double getT()
          Returns the t-value of the point (x(t),y(t),z(t)) where the decoration is drawn on the curve.
 void setCurve(SpaceCurveParametric c)
          Sets the curve to which this decoration applies.
 void setIndex(int tIndex)
          Set the t-value to be at one of the points in the array of points that defines the curve.
 void setT(double t)
          Change the value of t where the decoration appears.
 
Methods inherited from class vmm.core.Decoration
addChangeListener, addExtraXML, computeDrawData, fireDecorationChangeEvent, forceRedraw, getLayer, readExtraXML, removeChangeListener, setLayer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepereMobileDecoration

public RepereMobileDecoration()
Creates a RepereMobileDecoration with no associated curve. A curve can be set later with setCurve(SpaceCurveParametric), or it will be set implicitly when the decoration is drawn.

Method Detail

getCurve

public SpaceCurveParametric getCurve()
Returns the curve to which this decoration applies, or null if no curve has been set yet.

See Also:
setCurve(SpaceCurveParametric)

setCurve

public void setCurve(SpaceCurveParametric c)
Sets the curve to which this decoration applies. Note that the curve will also be set automatically the firt time the decoration is drawn.


setT

public void setT(double t)
Change the value of t where the decoration appears. This should be within the range of t-values shown on the curve, although this is not checked.

Parameters:
t - the t-value where the decoration is to be drawn. A value of Double.NaN means that nothing is to be drawn; this is the initial value.

getT

public double getT()
Returns the t-value of the point (x(t),y(t),z(t)) where the decoration is drawn on the curve. A value of Double.NaN means that the decoration is not drawn; this is the value when the decoration is first constructed.


setIndex

public void setIndex(int tIndex)
Set the t-value to be at one of the points in the array of points that defines the curve. If the curve is null when this is called, it has no effect.

Parameters:
tIndex - An index into the array of t-values that the curve uses to generate the curve. The index should be in the legal range; if not, nothing is drawn. The range is from 0 to getCurve().getTResolution(). If the value is outside this range, then no decoration will be drawn

doDraw

public void doDraw(java.awt.Graphics2D g,
                   View view,
                   Transform transform)
Draw the decoration. If the curve is null when this is called, then curve will be set to the exhibit displayed in the View, which should be of type SpaceCurveParameteric, as long as this decoration is being used correctly. (If this is not the case, then nothing will be drawn.) Also, the View must be of type View3D, or nothing is drawn.

Overrides:
doDraw in class Decoration
Parameters:
g - The graphics context where the Exhibit and its decorations are being drawn.
view - The View that is drawing the Exhibit; this object contains other information that might be of use, such as the Display, if any, associated with the View, and the the actual Exhibit that is being drawn.
transform - Contains information about the rectangular area in the xy-plane that is being drawn and about the rectangle of pixels in the graphics context where it is drawn. Note that at least for the top-level View class, transform.getX() and transform.getY() can be assumed to be zero.
See Also:
Exhibit.render(Graphics2D, View, Transform, ArrayList), Decoration.computeDrawData(View, boolean, Transform, Transform)