cz.cuni.jagrlib.testing
Class Revolution
java.lang.Object
cz.cuni.jagrlib.DefaultProperty
cz.cuni.jagrlib.Piece
cz.cuni.jagrlib.DefaultSolid
cz.cuni.jagrlib.testing.Revolution
- All Implemented Interfaces:
- Breakable, Property, Solid, IntersectionAttributes, Template
public class Revolution
- extends DefaultSolid
Surface of revolution as elementary 3D solid.
- Since:
- 0.24
- See Also:
- Revolution.java
Field Summary |
static java.lang.String |
CONTROL_POINTS
|
protected double[] |
cPoints
Array of control-points. |
static RegPiece |
reg
Static registration instance for this class. |
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 |
Method Summary |
int |
assertAttributes(MicroFacet mf,
java.lang.Object tmp,
int attributes)
Asserts validity of the given intersection-attributes. |
java.lang.Object |
get(java.lang.String key)
Gets the given property. |
java.util.List<MicroFacet> |
intersection(double[] P0,
double[] P1)
Computes intersection of the solid with the given ray. |
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. |
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 |
cPoints
protected double[] cPoints
- Array of control-points.
CONTROL_POINTS
public static final java.lang.String CONTROL_POINTS
- See Also:
- Constant Field Values
reg
public static final RegPiece reg
- Static registration instance for this class.
Automatically initialized in class-loading time.
Revolution
public Revolution()
intersection
public java.util.List<MicroFacet> intersection(double[] P0,
double[] P1)
- Computes intersection of the solid with the given ray.
- Parameters:
P0
- Ray origin (double[3]
or double[4]
).P1
- Direction vector of the ray (double[3]
or double[4]
).
- Returns:
- List of intersection points (
MicroFacet
s) sorted by t
(parametric distance from P0
). null
is returned in case
of bad arguments or if no intersection exists.. - See Also:
MicroFacet
,
BoundingVolume
assertAttributes
public int assertAttributes(MicroFacet mf,
java.lang.Object tmp,
int attributes)
- Asserts validity of the given intersection-attributes.
Resolves:
MicroFacet.VALID_TANGENT
, MicroFacet.VALID_TEX_COORD
.
- Specified by:
assertAttributes
in interface IntersectionAttributes
- Overrides:
assertAttributes
in class DefaultSolid
- Parameters:
mf
- The checked intersection.tmp
- Non-mandatory object holding state-information for deferred computations.attributes
- Attribute mask (required attributes - see
MicroFacet.VALID_*
).
- Returns:
- Attributes which were not computed.
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.