org.opensourcephysics.display
Class Protractor

java.lang.Object
  extended by org.opensourcephysics.display.Circle
      extended by org.opensourcephysics.display.MeasuredCircle
          extended by org.opensourcephysics.display.InteractiveCircle
              extended by org.opensourcephysics.display.Protractor
All Implemented Interfaces:
Drawable, Interactive, Measurable

public class Protractor
extends InteractiveCircle
implements Drawable

A Protractor with an arrow that can be used to measure angles.

Version:
1.0
Author:
W. Christian

Nested Class Summary
 class Protractor.Tip
           
 
Nested classes/interfaces inherited from class org.opensourcephysics.display.InteractiveCircle
InteractiveCircle.InteractiveCircleLoader
 
Field Summary
protected  double arrowTheta
           
protected  java.text.DecimalFormat f
           
protected  double orientation
           
protected  boolean showTheta
           
protected  InteractiveLabel tauBox
           
protected  Protractor.Tip tip
           
 
Fields inherited from class org.opensourcephysics.display.Circle
color, pixRadius, x, y
 
Constructor Summary
Protractor()
          Constructs a protractor with a default radius of 40 pixels.
Protractor(int protractorRadius)
          Constructs a protractor with the given pixel size.
 
Method Summary
 void draw(DrawingPanel panel, java.awt.Graphics g)
          Draws the protractor on the given drawing panel.
 Interactive findInteractive(DrawingPanel panel, int xpix, int ypix)
           
 double getOrientation()
          Gets the orientation of the protractor.
 double getTheta()
          Gets the angle of the arrow on the protractor.
 boolean isShowTheta()
          Gets the show theta property.
 void setOrientation(double angle)
          Sets the orientation of the protractor.
 void setShowTheta(boolean show)
          Shows theta when the protractor is drawn when true.
 void setTheta(double angle)
          Sets the angle of the arrow on the protractor.
 
Methods inherited from class org.opensourcephysics.display.InteractiveCircle
getLoader, isEnabled, isInside, setEnabled
 
Methods inherited from class org.opensourcephysics.display.MeasuredCircle
getXMax, getXMin, getYMax, getYMin, isMeasured, setMeasured
 
Methods inherited from class org.opensourcephysics.display.Circle
getX, getY, setX, setXY, setY, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opensourcephysics.display.Interactive
getX, getY, setX, setXY, setY
 
Methods inherited from interface org.opensourcephysics.display.Measurable
getXMax, getXMin, getYMax, getYMin, isMeasured
 

Field Detail

tip

protected Protractor.Tip tip

arrowTheta

protected double arrowTheta

orientation

protected double orientation

f

protected java.text.DecimalFormat f

showTheta

protected boolean showTheta

tauBox

protected InteractiveLabel tauBox
Constructor Detail

Protractor

public Protractor(int protractorRadius)
Constructs a protractor with the given pixel size.

Parameters:
protractorRadius - int

Protractor

public Protractor()
Constructs a protractor with a default radius of 40 pixels.

Method Detail

setTheta

public void setTheta(double angle)
Sets the angle of the arrow on the protractor.

Parameters:
theta - double

getTheta

public double getTheta()
Gets the angle of the arrow on the protractor.

Returns:
double

setOrientation

public void setOrientation(double angle)
Sets the orientation of the protractor.

Parameters:
angle - double

getOrientation

public double getOrientation()
Gets the orientation of the protractor.

Returns:
double

setShowTheta

public void setShowTheta(boolean show)
Shows theta when the protractor is drawn when true.

Parameters:
show - boolean

isShowTheta

public boolean isShowTheta()
Gets the show theta property.

Returns:
boolean

findInteractive

public Interactive findInteractive(DrawingPanel panel,
                                   int xpix,
                                   int ypix)
Specified by:
findInteractive in interface Interactive
Overrides:
findInteractive in class InteractiveCircle

draw

public void draw(DrawingPanel panel,
                 java.awt.Graphics g)
Draws the protractor on the given drawing panel.

Specified by:
draw in interface Drawable
Overrides:
draw in class Circle
Parameters:
panel - DrawingPanel
g - Graphics