cz.cuni.jagrlib.testing
Class EulerBrep

java.lang.Object
  extended by cz.cuni.jagrlib.DefaultProperty
      extended by cz.cuni.jagrlib.Piece
          extended by cz.cuni.jagrlib.testing.EulerBrep
All Implemented Interfaces:
Breakable, EulerOperators, Property, Template

public class EulerBrep
extends Piece
implements EulerOperators

Euper operators - non-functional specimen.

Version:
0.26 $Rev: 867 $ $Date: 2009-03-16 09:03:05 +0100 (po, 16 III 2009) $ $Author: pepca $
See Also:
EulerBrep.java

Field Summary
protected  Brep brep
          Accelerator.
protected static String CATEGORY
          Object category.
protected  int context
          Current construction context.
static RegPiece reg
          Static registration instance for this class.
protected static 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.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_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_PROPERTY, PL_QUANTIZER, PL_RASTER, PL_RENDER, PL_STREAM, PL_TRANSFORM, PL_TRIGGER, PL_WINDOW, TYPE_BOOLEAN, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INTEGER, TYPE_LONG, TYPE_OBJECT, TYPE_STRING
 
Constructor Summary
EulerBrep()
           
 
Method Summary
 Object get(String key)
          Gets the given property.
protected  Brep getBrep()
           
 void Kef(int e, int f)
          Kill edge, face.
 void KlhMf(int[] f, int fh, int l)
          Kill loop, hole, make face.
 void KlMe(int[] e, int v1, int v2, int f)
          Kill loop, make edge.
 void Kve(int v, int e)
          Kill vertex, edge.
 void Kvfs(int v, int f, int s)
          Kill vertex, face, solid.
 void Mef(int[] ef, int v1, int v2)
          Make edge, face.
 void MlhKf(int fp, int fd)
          Make loop, hole, kill face.
 void MlKe(int e)
          Make loop, kill edge.
 void Mve(int[] ve, int v1, int fl, int fr)
          Make vertex, edge.
 void Mvfs(int[] vfs)
          Make vertex, face, solid.
 void set(String key, Object value)
          Sets the given property.
 void setContext(int ctx)
          Set actual construction context.
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, 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
 

Field Detail

brep

protected Brep brep
Accelerator.


context

protected int context
Current construction context.


TEMPLATE_NAME

protected static final String TEMPLATE_NAME
Object template identifier.

See Also:
Constant Field Values

CATEGORY

protected static final 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

EulerBrep

public EulerBrep()
Method Detail

getBrep

protected final Brep getBrep()

setContext

public void setContext(int ctx)
Set actual construction context.

Specified by:
setContext in interface EulerOperators

Mvfs

public void Mvfs(int[] vfs)
Make vertex, face, solid. Creates a new (empty) shell containing a new vertex and face.

Specified by:
Mvfs in interface EulerOperators
Parameters:
vfs - Pre-allocated array to hold handles of the newly created vertex, face and solid.
See Also:
Kvfs(int, int, int)

Kvfs

public void Kvfs(int v,
                 int f,
                 int s)
Kill vertex, face, solid. Eliminates the rest of the given shell.

Specified by:
Kvfs in interface EulerOperators
Parameters:
v - Vertex handle to be deleted.
f - Face handle to be deleted.
s - Solid handle to be deleted.
See Also:
Mvfs(int[])

Mve

public void Mve(int[] ve,
                int v1,
                int fl,
                int fr)
Make vertex, edge. Add a new vetrex through a new edge | vertex split.

Specified by:
Mve in interface EulerOperators
Parameters:
ve - Pre-allocated array to hold handles of the newly created vertex and edge.
v1 - Handle of the 1st (already existing) vertex.
fl - Handle of the left face for the new edge.
fr - Handle of the right face for the new edge (should be the same as fl).
See Also:
Kve(int, int)

Kve

public void Kve(int v,
                int e)
Kill vertex, edge. Edge collapse.

Specified by:
Kve in interface EulerOperators
Parameters:
v - Vertex handle to be deleted.
e - Edge handle to be deleted.
See Also:
Mve(int[], int, int, int)

Mef

public void Mef(int[] ef,
                int v1,
                int v2)
Make edge, face. Face split.

Specified by:
Mef in interface EulerOperators
Parameters:
ef - Pre-allocated array to hold handles of the newly created edge and face.
v1 - Handle of the 1st (already existing) vertex.
v2 - Handle of the 2nd (already existing) vertex.
See Also:
Kef(int, int)

Kef

public void Kef(int e,
                int f)
Kill edge, face. Face join.

Specified by:
Kef in interface EulerOperators
Parameters:
e - Edge handle to be deleted.
f - Face handle to be deleted.
See Also:
Mef(int[], int, int)

MlKe

public void MlKe(int e)
Make loop, kill edge. Creates a new inner loop instead of discarded virtual edge (loop split).

Specified by:
MlKe in interface EulerOperators
Parameters:
e - Handle of the virtual edge to be deleted.
See Also:
KlMe(int[], int, int, int)

KlMe

public void KlMe(int[] e,
                 int v1,
                 int v2,
                 int f)
Kill loop, make edge. Merges two loops (inner and outer one) using a new virtual edge.

Specified by:
KlMe in interface EulerOperators
Parameters:
e - Pre-allocated array to hold handle of the newly created virtual edge.
v1 - Handle of the 1st (already existing) vertex.
v2 - Handle of the 2nd (already existing) vertex.
f - Face handle in which the virtual edge will be created.
See Also:
MlKe(int)

MlhKf

public void MlhKf(int fp,
                  int fd)
Make loop, hole, kill face. Punches a hole through the given (stil unconcerned) face, on the other side one existing face will be deleted. Doesn't affect edges and vertices at all..

Specified by:
MlhKf in interface EulerOperators
Parameters:
fp - Handle of the face to be punched (a new loop will be created in it).
fd - Handle of the face to be deleted (its perimeter will turn into a new loop on the other side).
See Also:
KlhMf(int[], int, int)

KlhMf

public void KlhMf(int[] f,
                  int fh,
                  int l)
Kill loop, hole, make face. Closes one existing hole using a new stopper-face. Doesn't affect edges and vertices at all..

Specified by:
KlhMf in interface EulerOperators
Parameters:
f - Pre-allocated array to hold handle of the newly created stopper-face.
fh - Handle of the face containing hole (loop) to be closed.
l - Ordinal number of the loop within the face.
See Also:
MlhKf(int, int)

set

public void set(String key,
                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 Object get(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.