de.grogra.imp3d.objects
Class Box

java.lang.Object
  extended by de.grogra.graph.impl.Edge
      extended by de.grogra.graph.impl.Node
          extended by de.grogra.imp3d.objects.Null
              extended by de.grogra.imp3d.objects.ShadedNull
                  extended by de.grogra.imp3d.objects.AxisBase
                      extended by de.grogra.imp3d.objects.Axis
                          extended by de.grogra.imp3d.objects.Box
All Implemented Interfaces:
Transformation, Pickable, Raytraceable, Renderable, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, java.io.Serializable

public class Box
extends Axis
implements Pickable, Renderable, Raytraceable

See Also:
Serialized Form

Nested Class Summary
static class Box.LPattern
           
static class Box.Pattern
           
 
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
 
Nested classes/interfaces inherited from interface de.grogra.util.Map
Map.Chain
 
Field Summary
static Node.NType $TYPE
           
protected  float height
           
static Node.NType.Field height$FIELD
           
static int SHIFT_PIVOT_MASK
           
static Node.NType.Field shiftPivot$FIELD
           
static int USED_BITS
           
protected  float width
           
static Node.NType.Field width$FIELD
           
 
Fields inherited from class de.grogra.imp3d.objects.Axis
endPosition, endPosition$FIELD, length, length$FIELD, startPosition, startPosition$FIELD
 
Fields inherited from class de.grogra.imp3d.objects.AxisBase
SCALE_V_MASK, scaleV$FIELD
 
Fields inherited from class de.grogra.imp3d.objects.ShadedNull
INFINITE_MASK, interior, interior$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELD
 
Fields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELD
 
Fields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_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$FIELD
 
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
 
Constructor Summary
Box()
           
Box(float length)
           
Box(float length, boolean shiftPivot)
           
Box(float length, float width, float height)
           
 
Method Summary
 RaytracerLeaf createRaytracerLeaf(java.lang.Object object, boolean asNode, long pathId, GraphState gs)
           
 void draw(java.lang.Object object, boolean asNode, RenderState rs)
           
 float getHeight()
           
protected  Node.NType getNTypeImpl()
          This method returns the Node.NType which describes the managed fields of the class of this node.
protected  float getPivotShift(java.lang.Object object, boolean asNode, GraphState gs)
           
 float getWidth()
           
 boolean isShiftPivot()
           
protected  Node newInstance()
          This method returns a new instance of the class of this node.
static void pick(float w2, float l2, float h, Point3d origin, Vector3d direction, PickList list)
           
 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 setHeight(float value)
           
 void setShiftPivot(boolean v)
           
 void setWidth(float value)
           
 
Methods inherited from class de.grogra.imp3d.objects.Axis
getEndPosition, getLength, getStartPosition, postTransform, preTransform, setEndPoints, setEndPoints, setEndPoints, setEndPosition, setLength, setStartPosition
 
Methods inherited from class de.grogra.imp3d.objects.AxisBase
isScaleV, setScaleV
 
Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior, getShader, getSymbolColor, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setShader, setShaders, setTreatedAsInfinite
 
Methods inherited from class de.grogra.imp3d.objects.Null
getLocalTransformation, getTransform, getTranslation, isTransforming, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslation
 
Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, 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, 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, writeReplace
 
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
 

Field Detail

$TYPE

public static final Node.NType $TYPE

height

protected float height

height$FIELD

public static final Node.NType.Field height$FIELD

SHIFT_PIVOT_MASK

public static final int SHIFT_PIVOT_MASK
See Also:
Constant Field Values

shiftPivot$FIELD

public static final Node.NType.Field shiftPivot$FIELD

USED_BITS

public static final int USED_BITS
See Also:
Constant Field Values

width

protected float width

width$FIELD

public static final Node.NType.Field width$FIELD
Constructor Detail

Box

public Box()

Box

public Box(float length)

Box

public Box(float length,
           boolean shiftPivot)

Box

public Box(float length,
           float width,
           float height)
Method Detail

createRaytracerLeaf

public RaytracerLeaf createRaytracerLeaf(java.lang.Object object,
                                         boolean asNode,
                                         long pathId,
                                         GraphState gs)
Specified by:
createRaytracerLeaf in interface Raytraceable

draw

public void draw(java.lang.Object object,
                 boolean asNode,
                 RenderState rs)
Specified by:
draw in interface Renderable

getHeight

public float getHeight()

getNTypeImpl

protected Node.NType getNTypeImpl()
Description copied from class: Node
This method returns the Node.NType which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
getNTypeImpl in class ShadedNull
Returns:
type describing the managed fields of the class of this node

getPivotShift

protected float getPivotShift(java.lang.Object object,
                              boolean asNode,
                              GraphState gs)
Overrides:
getPivotShift in class Axis

getWidth

public float getWidth()

isShiftPivot

public boolean isShiftPivot()

newInstance

protected Node newInstance()
Description copied from class: Node
This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
newInstance in class ShadedNull
Returns:
new instance of class of this node

pick

public static void pick(float w2,
                        float l2,
                        float h,
                        Point3d origin,
                        Vector3d direction,
                        PickList list)

pick

public void pick(java.lang.Object object,
                 boolean asNode,
                 Point3d origin,
                 Vector3d direction,
                 Matrix4d t,
                 PickList list)
Description copied from interface: Pickable
Computes intersections of a given ray with this shape.

Specified by:
pick in interface Pickable
Parameters:
object - the object of which this shape is an attribute
asNode - true iff object is a node
origin - the origin of the ray, in local coordinates
direction - the direction of the ray, in local coordinates
t - the transformation from local coordinates to world coordinates
list - the list to which intersections have to be added

setHeight

public void setHeight(float value)

setShiftPivot

public void setShiftPivot(boolean v)

setWidth

public void setWidth(float value)