de.grogra.turtle
Class F
java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.imp3d.objects.ShadedNull
de.grogra.imp3d.objects.AxisBase
de.grogra.turtle.TurtleStep
de.grogra.turtle.Shoot
de.grogra.turtle.F
- All Implemented Interfaces:
- Transformation, VertexSequence.Vertex, Manageable, PersistenceCapable, Shareable, UserFields, XObject, TurtleModifier, Map, java.io.Serializable
- Direct Known Subclasses:
- DTGShoot, MTGNode
public class F
- extends Shoot
The turtle command
F(x)
represents a cylinder along the local z-direction.
In addition, this command translates the local coordinate system
along the axis of the cylinder such that the origin of the
children's coordinate system coincides with the center of the cylinder's top.
The diameter of the cylinder
is diameter
, if this value
is non-negative, otherwise it
is taken from the field
localDiameter
of the current TurtleState
.
The shader of the cylinder
is defined by the color
, if this value
is non-negative, otherwise it
is taken from the the current TurtleState
.
The length of the axis is
defined by length
.
This corresponds to the turtle command F(x)
of the GROGRA software.
- Author:
- Ole Kniemeyer
- See Also:
- Serialized Form
Nested classes/interfaces inherited from interface de.grogra.util.Map |
Map.Chain |
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 |
Constructor Summary |
F()
|
F(float argument)
|
F(float length,
float diameter)
|
F(float length,
float diameter,
int color)
|
Methods inherited from class de.grogra.imp3d.objects.ShadedNull |
getInterior, getShader, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setShader, setShaders, setTreatedAsInfinite |
Methods inherited from class de.grogra.imp3d.objects.Null |
getLocalTransformation, getTransform, getTranslation, isTransforming, preTransform, 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, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getGraph, getId, getIndex, getInstantiator, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, 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 |
$TYPE
public static final Node.NType $TYPE
color
public int color
color$FIELD
public static final Node.NType.Field color$FIELD
diameter
public float diameter
diameter$FIELD
public static final Node.NType.Field diameter$FIELD
length
public float length
length$FIELD
public static final Node.NType.Field length$FIELD
F
public F()
F
public F(float argument)
F
public F(float length,
float diameter)
F
public F(float length,
float diameter,
int color)
getFloat
protected float getFloat(FloatAttribute a,
GraphState gs)
- Overrides:
getFloat
in class Shoot
getInt
protected int getInt(IntAttribute a,
GraphState gs)
- Overrides:
getInt
in class Shoot
getLength
public float getLength(java.lang.Object node,
GraphState gs)
- Specified by:
getLength
in class TurtleStep
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
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