|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcz.cuni.jagrlib.DefaultProperty
cz.cuni.jagrlib.Piece
cz.cuni.jagrlib.DefaultSolid
cz.cuni.jagrlib.obscure.BrepSolidDirectory
public class BrepSolidDirectory
Ray-tracing primitive solid for the Brep
database (accelerated version).
Nested Class Summary | |
---|---|
protected static class |
BrepSolidDirectory.TmpData
Temporary object to hold intersection data for BrepSolidDirectory . |
Field Summary | |
---|---|
protected Brep |
brep
Explicit B-rep database object. |
protected GeometrySearch |
directory
Search directory ( GeometrySearch.rayPass(double[], double[], cz.cuni.jagrlib.iface.BrepIterator) method is used). |
protected boolean |
first
Should the assertBrep() check the data? |
protected int |
normalId
Accelerator: VERTEX attribute - normal vector. |
static RegPiece |
reg
Static registration instance for this class. |
protected boolean |
shell
Shell-mode - all intersections are doubled (=two-sided faces). |
static String |
SHELL
|
protected boolean |
smooth
Smooth normal-vector interpolation? |
static String |
SMOOTH
|
protected BitSet |
solids
Set of solid ids, can be null ,
in that case the whole B-rep database is used. |
protected static String |
TEMPLATE_NAME
Object template identifier. |
protected int |
textureId
Accelerator: VERTEX attribute - texture coordinate. |
protected int |
worldId
Accelerator: VERTEX attribute - B-rep coordinates. |
Fields inherited from class cz.cuni.jagrlib.DefaultSolid |
---|
CATEGORY |
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 | |
---|---|
BrepSolidDirectory()
Implicit (plug) B-rep database. |
|
BrepSolidDirectory(Brep data,
GeometrySearch dir,
BitSet set)
Explicit B-rep database, arbitrary solid set. |
|
BrepSolidDirectory(Brep data,
GeometrySearch dir,
int solid)
Explicit B-rep database, one (or all) solids. |
Method Summary | |
---|---|
void |
addSolid(int solid)
Inserts another solid id. |
int |
assertAttributes(MicroFacet mf,
Object tmp,
int attributes)
Asserts validity of the given intersection-attributes. |
protected boolean |
assertBrep()
Asserts the scene object, returns true if failed. |
Object |
get(String key)
Gets the given property. |
List<MicroFacet> |
intersection(double[] P0,
double[] P1)
Computes intersection of the solid with the given ray. |
void |
set(String key,
Object value)
Sets the given property. |
static int |
setTemplate(Template t,
int ord)
General-purpose registration routine. |
Methods inherited from class cz.cuni.jagrlib.DefaultSolid |
---|
createPolyhedr, getBoundingVolume, isInside |
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 |
---|
protected Brep brep
protected GeometrySearch directory
GeometrySearch.rayPass(double[], double[], cz.cuni.jagrlib.iface.BrepIterator)
method is used).
Object should be pre-initialized (GeometrySearch.buildDirectory(int, int)
).
protected boolean first
assertBrep()
check the data?
protected BitSet solids
null
,
in that case the whole B-rep database is used.
protected boolean smooth
protected int worldId
protected int normalId
protected int textureId
protected boolean shell
public static final String SMOOTH
public static final String SHELL
protected static final String TEMPLATE_NAME
public static final RegPiece reg
Constructor Detail |
---|
public BrepSolidDirectory()
public BrepSolidDirectory(Brep data, GeometrySearch dir, int solid)
data
- Explicitly defined B-rep database.dir
- Search directory (pre-initialized using the GeometrySearch.buildDirectory(int, int)
method)solid
- Either one solid id or Brep.NULL
for the whole database.public BrepSolidDirectory(Brep data, GeometrySearch dir, BitSet set)
data
- Explicitly defined B-rep database.dir
- Search directory (pre-initialized using the GeometrySearch.buildDirectory(int, int)
method)set
- Arbitrary solid-set (can be null
).Method Detail |
---|
public void addSolid(int solid)
protected boolean assertBrep()
true
if failed.
public List<MicroFacet> intersection(double[] P0, double[] P1)
P0
- Ray origin (double[3]
or double[4]
).P1
- Direction vector of the ray (double[3]
or double[4]
).
MicroFacet
s) sorted by t
(parametric distance from P0
). null
is returned in case
of bad arguments or if no intersection exists..MicroFacet
,
BoundingVolume
public int assertAttributes(MicroFacet mf, Object tmp, int attributes)
VALID_TANGENT
,
VALID_TEX_COORD
.
assertAttributes
in interface IntersectionAttributes
assertAttributes
in class DefaultSolid
mf
- The checked intersection.tmp
- Non-mandatory object holding state-information for deferred computations.attributes
- Attribute mask (required attributes - see
MicroFacet.VALID_*
).
public void set(String key, Object value)
set
in interface Property
set
in class DefaultProperty
key
- Key string.value
- The new value.Property.commit()
public Object get(String key)
get
in interface Property
get
in class DefaultProperty
key
- Key string.
null
.public static int setTemplate(Template t, int ord)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |