All Implemented Interfaces:
Transformation
, Pickable
, Polygonizable
, Raytraceable
, Renderable
, Manageable
, PersistenceCapable
, Shareable
, UserFields
, XObject
, Map
, Serializable
See Also:
Nested Class Summary
Nested Classes
Nested classes/interfaces inherited from interface de.grogra.util.Map
Map.Chain
Field Summary
Fields
protected float
protected float
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 , MAX_RESOLUTION , MIME_TYPE , MIN_RESOLUTION , MIN_UNUSED_SPECIAL_OF_SOURCE , MIN_UNUSED_SPECIAL_OF_TARGET , name$FIELD , RESOLUTION_BIT , RESOLUTION_MASK , resolution$FIELD
Constructor Summary
Constructors
Frustum (float length,
float baseRadius,
float topRadius)
Method Summary
All Methods Instance Methods Concrete Methods
void
float
This method returns the
Node.NType
which describes the managed
fields of the class of this node.
Defines the data source on which the polygonization
depends.
Defines the algorithm which is used to decompose the data
into a polygon mesh representation.
double
Calculates the area of an object.
float
double
boolean
boolean
This method returns a new instance of the class of this
node.
void
Computes intersections of a given ray with this shape.
void
void
void
void
Methods inherited from class de.grogra.imp3d.objects.Axis
getEndPosition , getLength , getPivotShift , getStartPosition , postTransform , preTransform , setEndPoints , setEndPoints , setEndPoints , setEndPosition , setLength , setStartPosition
Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior , getShader , getSymbolColor , isRenderAsWireframe , isTreatedAsInfinite , setBackShader , setColor , setColor , setFrontShader , setInterior , setMaterial , setRenderAsWireframe , 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 , dupFrom , dupnew , 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 , getIgnored , getIndex , getInstantiator , getInt , getLayer , getLong , getManageableType , getName , getNeighbor , getNext , getNType , getObject , getOrCreateEdgeTo , getOrNull , getPersistenceManager , getPredecessor , getProvider , getResolution , 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 , setIgnored , setLayer , setMark , setName , setResolution , setSuccessor , setSuccessor , specialEdgeAdded , specialEdgeRefModified , specialEdgeRemoved , toString , writeReplace
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits , getBitMark , getEdgeBits , getEdgeKeys , getObjectMark , getSpecialEdgeDescriptor , parseEdgeKeys , remove , removeEdgeBits , setBitMark , setEdgeBits , setObjectMark , testEdgeBits
Field Details
baseRadius
protected float baseRadius
topRadius
protected float topRadius
Constructor Details
Frustum
public Frustum (float length,
float baseRadius,
float topRadius)
Method Details
pick
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
getPolygonizableSource
Defines the data source on which the polygonization
depends.
Specified by:
getPolygonizableSource
in interface Polygonizable
Parameters:
gs
- the current graph state
Returns:
the data source
getPolygonization
Defines the algorithm which is used to decompose the data
into a polygon mesh representation.
Specified by:
getPolygonization
in interface Polygonizable
Returns:
polygonization algorithm
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
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
getBaseRadius
public float getBaseRadius ()
setBaseRadius
public void setBaseRadius (float value)
getTopRadius
public float getTopRadius ()
setTopRadius
public void setTopRadius (float value)
isBaseOpen
public boolean isBaseOpen ()
setBaseOpen
public void setBaseOpen (boolean v)
isTopOpen
public boolean isTopOpen ()
setTopOpen
public void setTopOpen (boolean v)
getSurfaceArea
public double getSurfaceArea ()
Calculates the area of an object.
Intersection with other object are not considered.The total area will be calculated.
A=M+G+D; M=(r1+r2)*pi*m; m=sqrt((r1-r2)^2+h^2); D=Pi*r2^2; G=Pi*r1^2
Overrides:
getSurfaceArea
in class ShadedNull
Returns:
area
getVolume
public double getVolume ()
Calculates the volume.
Intersection with other object are not considered.The total volume will be calculated.
V=(r1^2+r1*r2+r2^2)*(Pi*h)/3
Overrides:
getVolume
in class ShadedNull
Returns:
volume