de.grogra.imp3d.objects
public class Frustum extends FrustumBase implements Raytraceable, Polygonizable
| Modifier and Type | Class and Description |
|---|---|
static class |
Frustum.Pattern |
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType| Modifier and Type | Field and Description |
|---|---|
static Node.NType |
$TYPE |
static Node.NType.Field |
baseOpen$FIELD |
protected float |
baseRadius |
static Node.NType.Field |
baseRadius$FIELD |
static Node.NType.Field |
topOpen$FIELD |
protected float |
topRadius |
static Node.NType.Field |
topRadius$FIELD |
BASE_OPEN_MASK, TOP_OPEN_MASK, USED_BITSendPosition, endPosition$FIELD, length, length$FIELD, startPosition, startPosition$FIELDSCALE_V_MASK, scaleV$FIELDINFINITE_MASK, interior, interior$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELDtransform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELDADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELDDEFAULT_VALUE, EMPTY_MAP| Constructor and Description |
|---|
Frustum() |
Frustum(float length,
float baseRadius,
float topRadius) |
| Modifier and Type | Method and Description |
|---|---|
RaytracerLeaf |
createRaytracerLeaf(java.lang.Object object,
boolean asNode,
long pathId,
GraphState gs) |
void |
draw(java.lang.Object object,
boolean asNode,
RenderState rs) |
float |
getBaseRadius() |
protected Node.NType |
getNTypeImpl()
This method returns the
Node.NType which describes the managed
fields of the class of this node. |
ContextDependent |
getPolygonizableSource(GraphState gs)
Defines the data source on which the polygonization
depends.
|
Polygonization |
getPolygonization()
Defines the algorithm which is used to decompose the data
into a polygon mesh representation.
|
double |
getSurfaceArea()
Calculates the area of an object.
|
float |
getTopRadius() |
double |
getVolume()
Calculates the volume.
|
boolean |
isBaseOpen() |
boolean |
isTopOpen() |
protected Node |
newInstance()
This method returns a new instance of the class of this
node.
|
void |
pick(java.lang.Object object,
boolean asNode,
Point3d origin,
Vector3d direction,
Matrix4d t,
PickList list)
Computes intersections of a given ray with this shape.
|
void |
setBaseOpen(boolean v) |
void |
setBaseRadius(float value) |
void |
setTopOpen(boolean v) |
void |
setTopRadius(float value) |
pickgetEndPosition, getLength, getPivotShift, getStartPosition, postTransform, preTransform, setEndPoints, setEndPoints, setEndPoints, setEndPosition, setLength, setStartPositiongetInterior, getShader, getSymbolColor, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setShader, setShaders, setTreatedAsInfinitegetLocalTransformation, getTransform, getTranslation, isTransforming, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslationaddEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getShort, getSource, getStamp, getSuccessor, getSymbol, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setName, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplaceaddEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetBitMark, getObjectMark, setBitMark, setObjectMarkpublic static final Node.NType $TYPE
public static final Node.NType.Field baseOpen$FIELD
protected float baseRadius
public static final Node.NType.Field baseRadius$FIELD
public static final Node.NType.Field topOpen$FIELD
protected float topRadius
public static final Node.NType.Field topRadius$FIELD
public Frustum()
public Frustum(float length,
float baseRadius,
float topRadius)
public RaytracerLeaf createRaytracerLeaf(java.lang.Object object, boolean asNode, long pathId, GraphState gs)
createRaytracerLeaf in interface Raytraceablepublic void draw(java.lang.Object object,
boolean asNode,
RenderState rs)
draw in interface Renderablepublic float getBaseRadius()
protected Node.NType getNTypeImpl()
NodeNode.NType which describes the managed
fields of the class of this node. This method has to be implemented
in every concrete subclass.getNTypeImpl in class ShadedNullpublic ContextDependent getPolygonizableSource(GraphState gs)
PolygonizablegetPolygonizableSource in interface Polygonizablegs - the current graph statepublic Polygonization getPolygonization()
PolygonizablegetPolygonization in interface Polygonizablepublic double getSurfaceArea()
getSurfaceArea in class ShadedNullpublic float getTopRadius()
public double getVolume()
getVolume in class ShadedNullpublic boolean isBaseOpen()
public boolean isTopOpen()
protected Node newInstance()
NodenewInstance in class ShadedNullpublic void pick(java.lang.Object object,
boolean asNode,
Point3d origin,
Vector3d direction,
Matrix4d t,
PickList list)
Pickablepick in interface Pickableobject - the object of which this shape is an attributeasNode - true iff object is a nodeorigin - the origin of the ray, in local coordinatesdirection - the direction of the ray, in local coordinatest - the transformation from local coordinates to world coordinateslist - the list to which intersections have to be addedpublic void setBaseOpen(boolean v)
public void setBaseRadius(float value)
public void setTopOpen(boolean v)
public void setTopRadius(float value)