cz.cuni.jagrlib.piece
Class Ellipse

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.piece.Ellipse
All Implemented Interfaces:
Breakable, EllipseRender, Property, Render, Template

public class Ellipse
extends Piece
implements EllipseRender

Ellipse drawing - two different algorithms for untilted (Bresenham) and tilted (Bond) ellipses.

See Also:
Ellipse.java

Field Summary
protected static java.lang.String CATEGORY
          Object category.
protected  BitMask out
          Accelerator: attached output module.
static RegPiece reg
          Static registration instance for this class.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.Render
LINE_CAP, LINE_CAP_BUTT, LINE_CAP_ROUND, LINE_CAP_SQUARE, LINE_JOIN, LINE_JOIN_BEVEL, LINE_JOIN_DISJOINT, LINE_JOIN_MITER, LINE_JOIN_OVERLAP, LINE_JOIN_ROUND, LINE_WIDTH, PROJECTION, RENDER_STYLE, RENDER_STYLE_FLAT, RENDER_STYLE_GOURAUD, RENDER_STYLE_LINE, RENDER_STYLE_PHONG, RENDER_STYLE_TEXTURE
 
Fields inherited from interface cz.cuni.jagrlib.iface.Property
LOGGING, STATISTICS, TEXT_DESCRIPTION
 
Fields inherited from interface cz.cuni.jagrlib.Template
ALL_PLUGS, C_1D, C_2D, C_3D, C_ALPHA, C_BINARY, C_BREP, C_CAMERA, C_CIRCLE, C_CLIP, C_COMPRESSION, C_CURVE, C_DATA, C_DRAW, C_EDITOR, C_ELLIPSE, C_FILL, C_FILTER, C_FLOAT, C_FUNCTION, C_IMAGE, C_INTEGER, C_IO, C_LIGHT, C_LINE, C_METRIC, C_POLYGON, C_PROJECTION, C_RADIOSITY, C_RASTER, C_RENDER, C_SAMPLE, C_SCENE, C_SET, C_SOLID, C_TEXT, C_TRANSFORM, C_VECTOR, C_VIEWER, C_WORKER, CAT_EMPTY, EMPTY, IFACE, JAGRLIB, JAGRLIB2, MANIPULATOR_COMBO, MANIPULATOR_CUSTOM, MANIPULATOR_DEFAULT, MANIPULATOR_MULTILINE, PL_ALPHAMASK, PL_BITMASK, PL_CAUSTIC, PL_CODEC, PL_COLORMAP, PL_COMPARE, PL_DATA, PL_DIRECT, PL_EDITOR, PL_FILTER, PL_FUNCTION, PL_IMAGE, PL_IMPORT, PL_INPUT, PL_INTERSECTION, PL_LIGHTSOURCE, PL_ORDER, PL_OUTPUT, PL_PALETTE, PL_PHOTON, PL_PROPERTY, PL_QUANTIZER, PL_RASTER, PL_RENDER, PL_SHADOW, PL_STREAM, PL_TRANSFORM, PL_TRIGGER, PL_VOLUME, PL_WINDOW, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_OBJECT, TYPE_STRING
 
Constructor Summary
Ellipse()
           
 
Method Summary
 void drawEllipse(double x0, double y0, double a, double b)
          Draws an axis-aligned ellipse with center [x,y] and radii a, b.
 void drawEllipse(double x0, double y0, double a, double b, double tilt)
          Draws a tilted ellipse with center [x,y] and radii a, b.
 void drawEllipse(int x0, int y0, int a, int b)
          Draws an axis-aligned ellipse with center [x,y] and radii a, b.
protected static double ellipseFunction(double A, double B, double C2, double D, double E, double F, double x, double y)
          Support polynomial.
protected  void ellipsePoints(int x0, int y0, int x, int y)
          Draws four symmetric ellipse points.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 
Methods inherited from class cz.cuni.jagrlib.Piece
className, connect, findPlug, findPlug, getInfo, getInterface, getInterface, getPlug, getReg, init, isCompatible, isCompatible, isConnected, logError, logWarning, myInterface, newInputPlug, newOptOutputPlug, newOutputPlug, newPlug, noTemplates, propBegin, propBounds, propDefault, propEnd, propEnum, propManipulator, propManipulator, setProgressListener, setRegStrings, setTemplateDynamic, stop
 
Methods inherited from class cz.cuni.jagrlib.DefaultProperty
booleanProperty, booleanProperty, colorDoubleProperty, colorProperty, commit, doubleProperty, doubleProperty, doubleProperty, enumProperty, floatProperty, floatProperty, floatProperty, get, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, set, set, stringProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface cz.cuni.jagrlib.iface.Property
commit, get, set
 

Field Detail

out

protected BitMask out
Accelerator: attached output module.


TEMPLATE_NAME

protected static final java.lang.String TEMPLATE_NAME
Object template identifier.

See Also:
Constant Field Values

CATEGORY

protected static final java.lang.String CATEGORY
Object category.

See Also:
Constant Field Values

reg

public static final RegPiece reg
Static registration instance for this class. Automatically initialized in class-loading time.

Constructor Detail

Ellipse

public Ellipse()
Method Detail

ellipsePoints

protected final void ellipsePoints(int x0,
                                   int y0,
                                   int x,
                                   int y)
Draws four symmetric ellipse points.


ellipseFunction

protected static final double ellipseFunction(double A,
                                              double B,
                                              double C2,
                                              double D,
                                              double E,
                                              double F,
                                              double x,
                                              double y)
Support polynomial.


drawEllipse

public void drawEllipse(int x0,
                        int y0,
                        int a,
                        int b)
Draws an axis-aligned ellipse with center [x,y] and radii a, b.

Specified by:
drawEllipse in interface EllipseRender
Parameters:
x0 - X coordinate of ellipse center.
y0 - X coordinate of ellipse center.
a - Horizontal radius of the ellipse.
b - Vertical radius of the ellipse.

drawEllipse

public void drawEllipse(double x0,
                        double y0,
                        double a,
                        double b)
Draws an axis-aligned ellipse with center [x,y] and radii a, b.

Specified by:
drawEllipse in interface EllipseRender
Parameters:
x0 - X coordinate of ellipse center.
y0 - X coordinate of ellipse center.
a - Horizontal radius of the ellipse.
b - Vertical radius of the ellipse.

drawEllipse

public void drawEllipse(double x0,
                        double y0,
                        double a,
                        double b,
                        double tilt)
Draws a tilted ellipse with center [x,y] and radii a, b.

Specified by:
drawEllipse in interface EllipseRender
Parameters:
x0 - X coordinate of ellipse center.
y0 - X coordinate of ellipse center.
a - Primary radius of the ellipse.
b - Secondary radius of the ellipse.
tilt - Tilt angle in radians. 0.0 for axis-aligned ellipse. Positive orientation means counterclockwise.

setTemplate

public static int setTemplate(Template t,
                              int ord)
General-purpose registration routine. Sets all plugs, strings, etc. to the given Template.