|
SGT Home | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--gov.noaa.pmel.sgt.Graph | +--gov.noaa.pmel.sgt.CartesianGraph
The CartesianGraph
provides the transformation from user to
physical coordinates. A Cartesian graph has
horizontal and vertical transforms, from user to physical
coordinates, that are independent.
For example, yp = f(yu) and xp = g(xu), where
f() and g() are the vertical and horizontal transformations.
Multiple horizontal and vertical, X and Y, axes can be associated with
a CartesianGraph
and their mapping of user to physical
coordinates is based on the AxisTransform
s used.
The CartesianGraph
also provide the support for
the rendering of data. The specific renderer is chosen based on
the type of SGTData
and the data Attribute
used.
The following demonstrates how a CartesianGraph
may be
used.
// Create a CartesianGraph and transforms. CartesianGraph graph; LinearTransform xt, yt; Range2D xPhysRange, xUserRange; Range2D yPhysRange, yUserRange; Point2D.Double origin; graph = new CartesianGraph("Point Graph"); layer.setGraph(graph); xt = new LinearTransform(xPhysRange, xUserRange); yt = new LinearTransform(yPhysRange, yUserRange); graph.setXTransform(xt); graph.setYTransform(yt); origin = new Point2D.Double(xUserRange.start, yUserRange.start); // Create the bottom axis, set its range in user units // and its origin. Add the axis to the graph. PlainAxis xbot; xbot = new PlainAxis("Botton Axis"); xbot.setRangeU(xUserRange); xbot.setLocationU(origin); graph.addXAxis(xbot); // Create the left axis, set its range in user units // and its origin. Add the axis to the graph. PlainAxis yleft; yleft = new PlainAxis("Left Axis"); yleft.setRangeU(yUserRange); yleft.setLocationU(origin); graph.addYAxis(yleft); // Create a PointAttribute for the display of the // Collection of points. The points will be marked // with a red triangle and labelled at the NE corner // in blue. PointAttribute pattr; pattr = new PointAttribute(10, Color.red); // Associate the attribute and the point Collection // with the graph. graph.setData(col, pattr);
Constructor Summary | |
CartesianGraph()
Default constructor. |
|
CartesianGraph(java.lang.String id)
CartesianGraph constructor. |
|
CartesianGraph(java.lang.String id,
AxisTransform xt,
AxisTransform yt)
Create a new CartesianGraph . |
Method Summary | |
void |
addXAxis(Axis axis)
Add a X axis ( Axis.HORIZONTAL ) to the graph. |
void |
addXAxis(java.lang.String id,
Axis axis)
Add a X axis ( Axis.HORIZONTAL ) to the graph. |
void |
addYAxis(Axis axis)
Add a Y axis ( Axis.VERTICAL ) to the graph. |
void |
addYAxis(java.lang.String id,
Axis axis)
Add a Y axis ( Axis.VERTICAL ) to the graph. |
Graph |
copy()
Create a copy of the CartesianGraph |
void |
draw(java.awt.Graphics g)
Draw the graph, axes, and render the data. |
int |
getNumberXAxis()
Get the number of X axes associated with the graph. |
int |
getNumberYAxis()
Get the number of Y axes associated with the graph. |
CartesianRenderer |
getRenderer()
Get the renderer instance being used by the graph. |
Axis |
getXAxis(java.lang.String id)
Get a reference to an X axis. |
GeoDate |
getXPtoTime(double p)
Transform physical X coordinate to time. |
double |
getXPtoU(double p)
Transform physical X coordinate to user coordinate. |
AxisTransform |
getXTransform()
Get the current X AxisTransform . |
int |
getXUtoD(double u)
Transform user X coordinate to device coordinate. |
int |
getXUtoD(GeoDate t)
Transform GeoDate to device coordinate. |
double |
getXUtoP(double u)
Transform user X coordinate to physical coordinate. |
double |
getXUtoP(GeoDate t)
Transform GeoDate to physical coordinate. |
Axis |
getYAxis(java.lang.String id)
Get a reference to an Y axis. |
GeoDate |
getYPtoTime(double p)
Transform physical Y coordinate to time. |
double |
getYPtoU(double p)
Transform physical Y coordinate to user coordinate. |
AxisTransform |
getYTransform()
Get the current Y AxisTransform . |
int |
getYUtoD(double u)
Transform user Y coordinate to device coordinate |
int |
getYUtoD(GeoDate t)
Transform time to device coordinate. |
double |
getYUtoP(double u)
Transoform user Y coordinate to physical coordinate. |
double |
getYUtoP(GeoDate t)
Transform time to physical coordinate. |
boolean |
isClipping()
Test the clipping property. |
void |
propertyChange(java.beans.PropertyChangeEvent evt)
This method gets called when a bound property is changed. |
void |
removeAllXAxes()
Remove all X axes from the graph. |
void |
removeAllYAxes()
Remove all Y axes from the graph. |
void |
removeXAxis(Axis axis)
Remove an X axis from the graph. |
void |
removeXAxis(java.lang.String id)
Remove an X axis from the graph. |
void |
removeYAxis(Axis axis)
Remove an Y axis from the graph. |
void |
removeYAxis(java.lang.String id)
Remove an Y axis from the graph. |
void |
setClip(double xmin,
double xmax,
double ymin,
double ymax)
Set the clipping rectangle in user coordinates. |
void |
setClip(GeoDate tmin,
GeoDate tmax,
double min,
double max)
Set the clipping rectangle in user coordinates. |
void |
setClip(SoTRange xr,
SoTRange yr)
Set the clipping rectangle in user coordinates. |
void |
setClipping(boolean clip)
Set the clipping property. |
void |
setData(SGTData data,
Attribute attr)
Associates SGTData and Attribute with the
CartesianGraph . |
void |
setRenderer(CartesianRenderer rend)
Set the renderer used by the graph. |
void |
setXTransform(AxisTransform xfrm)
Set the X AxisTransform . |
void |
setYTransform(AxisTransform xfrm)
Set the Y AxisTransform . |
java.util.Enumeration |
xAxisElements()
Get an Enumeration object for the X axes. |
java.util.Enumeration |
yAxisElements()
Get an Enumeration object for the Y axes. |
Methods inherited from class gov.noaa.pmel.sgt.Graph |
computeRange, computeRange, computeRange, getId, getLayer, getPane, modified, toString |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public CartesianGraph()
public CartesianGraph(java.lang.String id)
CartesianGraph
constructor.
Creates default unity transforms.id
- CartesianGraph identifierpublic CartesianGraph(java.lang.String id, AxisTransform xt, AxisTransform yt)
CartesianGraph
. Sets the identifier
and sets the x and y transforms.id
- identifierxt
- x transformyt
- y transformMethod Detail |
public Graph copy()
CartesianGraph
copy
in class Graph
public void setData(SGTData data, Attribute attr)
SGTData
and Attribute
with the
CartesianGraph
.
A renderer is constucted based on the two arguements.
SGTData |
Attribute |
CartesianRenderer |
---|---|---|
SGTPoint | PontAttribute | PointCartesianRenderer |
SGTLine | LineAttribute | LineCartesianRenderer |
SGTGrid | GridAttribute | GridCartesianRenderer |
Collection | PointAttribute | PointCartesianRenderer |
Collection | LineAttribute | LineCartesianRenderer |
data
- data to be renderedattr
- rendering style informationCartesianRenderer.getRenderer(gov.noaa.pmel.sgt.CartesianGraph, gov.noaa.pmel.sgt.dm.SGTData, gov.noaa.pmel.sgt.Attribute)
public CartesianRenderer getRenderer()
public void setRenderer(CartesianRenderer rend)
rend
- a renderer objectpublic void draw(java.awt.Graphics g)
Pane.draw()
public void setClip(double xmin, double xmax, double ymin, double ymax)
xmin
- minimum horizontal coordinatexmax
- maximum horizontal coordinateymin
- minimum vertical coordinateymax
- maximum vertical coordinatepublic void setClip(GeoDate tmin, GeoDate tmax, double min, double max)
tmin
- mimimum timetmax
- maximum timemin
- miminum user coordinatemax
- maximum user coordinatepublic void setClip(SoTRange xr, SoTRange yr)
public void setClipping(boolean clip)
clip
- clippingpublic boolean isClipping()
public void addXAxis(java.lang.String id, Axis axis)
Axis.HORIZONTAL
) to the graph.id
- axis identifieraxis
- X axisAxis
,
PlainAxis
public void addXAxis(Axis axis)
Axis.HORIZONTAL
) to the graph.
Uses the existing axis identifier.axis
- X axisAxis
,
PlainAxis
public Axis getXAxis(java.lang.String id) throws AxisNotFoundException
id
- axis identifierAxisNotFoundException
- An axis was not found with the correct identifier.Axis
,
PlainAxis
public void removeXAxis(java.lang.String id) throws AxisNotFoundException
id
- axis identifierAxisNotFoundException
- An axis was not found with the correct identifier.Axis
,
PlainAxis
public void removeXAxis(Axis axis) throws AxisNotFoundException
AxisNotFoundException
- An axis was not found with the correct identifier.Axis
,
PlainAxis
public void removeAllXAxes()
public int getNumberXAxis()
Axis
,
PlainAxis
public java.util.Enumeration xAxisElements()
Enumeration
object for the X axes.public void addYAxis(java.lang.String id, Axis axis)
Axis.VERTICAL
) to the graph.id
- axis identifieraxis
- Y axisAxis
,
PlainAxis
public void addYAxis(Axis axis)
Axis.VERTICAL
) to the graph.
Uses the existing axis identifier.axis
- Y axisAxis
,
PlainAxis
public Axis getYAxis(java.lang.String id) throws AxisNotFoundException
id
- axis identifierAxisNotFoundException
- An axis was not found with the correct identifier.Axis
,
PlainAxis
public void removeYAxis(java.lang.String id) throws AxisNotFoundException
id
- axis identifierAxisNotFoundException
- An axis was not found with the correct identifier.Axis
,
PlainAxis
public void removeYAxis(Axis axis) throws AxisNotFoundException
AxisNotFoundException
- An axis was not found with the correct identifier.Axis
,
PlainAxis
public void removeAllYAxes()
public int getNumberYAxis()
Axis
,
PlainAxis
public java.util.Enumeration yAxisElements()
Enumeration
object for the Y axes.public void setXTransform(AxisTransform xfrm)
AxisTransform
. This transform is used to convert
to and from user to physical coordinates.xfrm
- X transformAxisTransform
,
LinearTransform
public AxisTransform getXTransform()
AxisTransform
.AxisTransform
,
LinearTransform
public void setYTransform(AxisTransform xfrm)
AxisTransform
. This transform is used to convert
to and from user to physical coordinates.xfrm
- Y transformAxisTransform
,
LinearTransform
public AxisTransform getYTransform()
AxisTransform
.AxisTransform
,
LinearTransform
public double getXUtoP(double u)
public int getXUtoD(double u)
public double getXUtoP(GeoDate t)
GeoDate
to physical coordinate.public int getXUtoD(GeoDate t)
GeoDate
to device coordinate.public double getXPtoU(double p)
p
- physical coorindatepublic GeoDate getXPtoTime(double p)
p
- physical coordinatepublic double getYUtoP(double u)
public int getYUtoD(double u)
public double getYUtoP(GeoDate t)
public int getYUtoD(GeoDate t)
public double getYPtoU(double p)
p
- physical coorindatepublic GeoDate getYPtoTime(double p)
p
- physical coordinatepublic void propertyChange(java.beans.PropertyChangeEvent evt)
java.beans.PropertyChangeListener
java.beans.PropertyChangeListener
evt
- A PropertyChangeEvent object describing the event source
and the property that has changed.
|
SGT Home | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |