cz.cuni.jagrlib.testing
Class LineClipping

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.testing.LineClipping
All Implemented Interfaces:
Breakable, LineRender, LineRenderAnti, Property, RectangleWindow, Render, Template

public class LineClipping
extends Piece
implements LineRenderAnti, RectangleWindow

Line clipping template.

Since:
0.24
See Also:
LineClipping.java

Field Summary
protected static java.lang.String CATEGORY
          Object category.
static RegPiece reg
          Static registration instance for this class.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  int xMa
          Maximal X coordinate
protected  int xMi
          Minimal X coordinate
protected  int yMa
          Maximal Y coordinate
protected  int yMi
          Minimal Y coordinate
 
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
LineClipping()
           
 
Method Summary
 void drawLine(double x1, double y1, double x2, double y2)
          Draws a line from [x1,y1] to [x2,y2].
 void drawLine(double x1, double y1, double x2, double y2, double wid)
          Draws a line from [x1,y1] to [x2,y2].
 void drawLine(int x1, int y1, int x2, int y2)
          Draws a line from [x1,y1] to [x2,y2].
 void drawLine(int x1, int y1, int x2, int y2, double wid)
          Draws a line from [x1,y1] to [x2,y2].
 void rectangleWindow(double xMin, double xMax, double yMin, double yMax)
          Sets the given rectangle as clipping window.
 void rectangleWindow(int xMin, int xMax, int yMin, int yMax)
          Sets the given rectangle as clipping window.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 double setWidth(double wid)
          Sets default line width in pixels.
 
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

xMi

protected int xMi
Minimal X coordinate


xMa

protected int xMa
Maximal X coordinate


yMi

protected int yMi
Minimal Y coordinate


yMa

protected int yMa
Maximal Y coordinate


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

LineClipping

public LineClipping()
Method Detail

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Draws a line from [x1,y1] to [x2,y2].

Specified by:
drawLine in interface LineRender
Parameters:
x1 - X coordinate of the starting pixel.
y1 - Y coordinate of the starting pixel.
x2 - X coordinate of the line end.
y2 - Y coordinate of the line end.

drawLine

public void drawLine(double x1,
                     double y1,
                     double x2,
                     double y2)
Draws a line from [x1,y1] to [x2,y2]. Calls drawLine(int,int,int,int) directly after rounding the double arguments.

Specified by:
drawLine in interface LineRender
Parameters:
x1 - X coordinate of the starting pixel.
y1 - Y coordinate of the starting pixel.
x2 - X coordinate of the line end.
y2 - Y coordinate of the line end.

setWidth

public double setWidth(double wid)
Sets default line width in pixels.

Specified by:
setWidth in interface LineRenderAnti
Parameters:
wid - New line width in pixels.
Returns:
The old line width in pixels.

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2,
                     double wid)
Draws a line from [x1,y1] to [x2,y2].

Specified by:
drawLine in interface LineRenderAnti
Parameters:
x1 - X coordinate of the starting pixel.
y1 - Y coordinate of the starting pixel.
x2 - X coordinate of the line end.
y2 - Y coordinate of the line end.
wid - Line width in pixels.

drawLine

public void drawLine(double x1,
                     double y1,
                     double x2,
                     double y2,
                     double wid)
Draws a line from [x1,y1] to [x2,y2].

Specified by:
drawLine in interface LineRenderAnti
Parameters:
x1 - X coordinate of the starting pixel.
y1 - Y coordinate of the starting pixel.
x2 - X coordinate of the line end.
y2 - Y coordinate of the line end.
wid - Line width in pixels.

rectangleWindow

public void rectangleWindow(int xMin,
                            int xMax,
                            int yMin,
                            int yMax)
Sets the given rectangle as clipping window.

Specified by:
rectangleWindow in interface RectangleWindow
Parameters:
xMin - Minimal x coordinate.
xMax - Maximal x coordinate.
yMin - Minimal y coordinate.
yMax - Maximal y coordinate.

rectangleWindow

public void rectangleWindow(double xMin,
                            double xMax,
                            double yMin,
                            double yMax)
Sets the given rectangle as clipping window.

Specified by:
rectangleWindow in interface RectangleWindow
Parameters:
xMin - Minimal x coordinate.
xMax - Maximal x coordinate.
yMin - Minimal y coordinate.
yMax - Maximal y coordinate.

setTemplate

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