cz.cuni.jagrlib.testing
Class TriMeshEditor

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.DefaultInputListener
              extended by cz.cuni.jagrlib.testing.TriMeshEditor
All Implemented Interfaces:
Breakable, InputListener, Property, Trigger, Template

public class TriMeshEditor
extends DefaultInputListener
implements Trigger

Interactive triangle-mesh editor specimen.

Since:
0.25
See Also:
TriMeshEditor.java

Nested Class Summary
protected static class TriMeshEditor.State
          GUI actions/states.
 
Field Summary
protected  Brep brep
          B-rep database.
protected static java.lang.String CATEGORY
          Object category.
protected  int columns
          Number of triangle columns (horizontal).
protected  int ctx2
          Context2 used in B-rep (output triangle mesh).
protected  int height
          Image height in pixels.
protected  GraphicsViewer iPreview
          Preview window for input image.
protected  int nx
          New mouse coordinates.
protected  int ny
          New mouse coordinates.
protected  GraphicsViewer oPreview
          Preview window for output image.
protected  boolean outputActive
          Output preview pane is active?
static RegPiece reg
          Static registration instance for this class.
protected  int rows
          Number of triangle rows (vertical).
protected  TriMeshEditor.State state
          Actual action/state.
protected static java.lang.String TEMPLATE_NAME
          Object template identifier.
protected  int width
          Image width in pixels.
 
Fields inherited from class cz.cuni.jagrlib.Piece
channels, info, pl, plugs, TEMPLATE_TYPE, userBreak
 
Fields inherited from interface cz.cuni.jagrlib.iface.Property
LOGGING, STATISTICS, TEXT_DESCRIPTION
 
Fields inherited from interface cz.cuni.jagrlib.iface.InputListener
BUTTON1, BUTTON2, BUTTON3
 
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
TriMeshEditor()
           
 
Method Summary
 boolean fire(int type)
          Starts image transformation.
 java.lang.Object get(java.lang.String key)
          Gets the given property.
 void keyboard(java.lang.Object sender, long when, boolean press, char ch, int keyCode, int flags)
          Keyboard key was pressed/released.
 void mouseButton(java.lang.Object sender, long when, int x, int y, int button, boolean press, int flags)
          Mouse button was pressed/released.
 void mouseMove(java.lang.Object sender, long when, int x, int y, int flags)
          Mouse pointer was moved.
 void set(java.lang.String key, java.lang.Object value)
          Sets the given property.
static int setTemplate(Template t, int ord)
          General-purpose registration routine.
 void windowClose(java.lang.Object sender)
          Window was closed (user interaction..).
 
Methods inherited from class cz.cuni.jagrlib.DefaultInputListener
mouseHover, mouseWheel, setWindowSize
 
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, intProperty, intProperty, intProperty, longProperty, longProperty, longProperty, 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
 
Methods inherited from interface cz.cuni.jagrlib.Breakable
setProgressListener, stop
 

Field Detail

iPreview

protected GraphicsViewer iPreview
Preview window for input image.


oPreview

protected GraphicsViewer oPreview
Preview window for output image.


brep

protected Brep brep
B-rep database.


ctx2

protected int ctx2
Context2 used in B-rep (output triangle mesh).


rows

protected int rows
Number of triangle rows (vertical).


columns

protected int columns
Number of triangle columns (horizontal).


width

protected int width
Image width in pixels.


height

protected int height
Image height in pixels.


state

protected TriMeshEditor.State state
Actual action/state.


nx

protected int nx
New mouse coordinates.


ny

protected int ny
New mouse coordinates.


outputActive

protected boolean outputActive
Output preview pane is active?


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

TriMeshEditor

public TriMeshEditor()
Method Detail

fire

public boolean fire(int type)
Starts image transformation.

Specified by:
fire in interface Trigger
Parameters:
type - The action type (not used).
Returns:
true if the action was successful.

mouseButton

public void mouseButton(java.lang.Object sender,
                        long when,
                        int x,
                        int y,
                        int button,
                        boolean press,
                        int flags)
Mouse button was pressed/released.

Specified by:
mouseButton in interface InputListener
Overrides:
mouseButton in class DefaultInputListener
Parameters:
sender - Originator of the event
when - System time in milliseconds.
x - Horizontal screen position in pixels.
y - Vertical screen position in pixels.
button - Button number (InputListener.BUTTON1, etc.).
press - Was it press or release?
flags - Input system status (key shifts/alts, ..).

keyboard

public void keyboard(java.lang.Object sender,
                     long when,
                     boolean press,
                     char ch,
                     int keyCode,
                     int flags)
Keyboard key was pressed/released.

Specified by:
keyboard in interface InputListener
Overrides:
keyboard in class DefaultInputListener
Parameters:
sender - Originator of the event
when - System time in milliseconds.
press - Was it press or release?
ch - Character represented by the key.
keyCode - Key code.
flags - Input system status (key shifts/alts, ..).

mouseMove

public void mouseMove(java.lang.Object sender,
                      long when,
                      int x,
                      int y,
                      int flags)
Mouse pointer was moved.

Specified by:
mouseMove in interface InputListener
Overrides:
mouseMove in class DefaultInputListener
Parameters:
sender - Originator of the event
when - System time in milliseconds.
x - Horizontal screen position in pixels.
y - Vertical screen position in pixels.
flags - Input system status (key shifts/alts, ..).

windowClose

public void windowClose(java.lang.Object sender)
Window was closed (user interaction..).

Specified by:
windowClose in interface InputListener
Overrides:
windowClose in class DefaultInputListener
Parameters:
sender - Originator of the event

set

public void set(java.lang.String key,
                java.lang.Object value)
Sets the given property.

Specified by:
set in interface Property
Overrides:
set in class DefaultProperty
Parameters:
key - Key string.
value - The new value.
See Also:
Property.commit()

get

public java.lang.Object get(java.lang.String key)
Gets the given property.

Specified by:
get in interface Property
Overrides:
get in class DefaultProperty
Parameters:
key - Key string.
Returns:
The actual value or null.

setTemplate

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