java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.turtle.Scale
- All Implemented Interfaces:
Transformation
,Manageable
,PersistenceCapable
,Shareable
,UserFields
,XObject
,Map
,Serializable
A
This class declares two predicates:
Scale
node scales the local coordinate system
using the scaling factors scaleX
,
scaleY
and scaleZ
. In general, the
scaling factors may differ. However, there is the
constructor Scale(float)
which initializes
the three factors with the same value such that
a uniform scaling is performed.
This class declares two predicates:
Scale.Pattern
allows one to write
Scale(x,y,z)
in a pattern of an XL query.
Scale.XPattern
is useful for uniform
Scale
nodes since it allows one to write
Scale(x)
in a pattern. It uses
scaleX
to obtain the value for the
predicate argument.- Author:
- Ole Kniemeyer
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Node.NType
float
Scaling factor in x-direction.static final Node.NType.Field
float
Scaling factor in y-direction.static final Node.NType.Field
float
Scaling factor in z-direction.static final Node.NType.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, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD, USED_BITS
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
-
Constructor Summary
ConstructorDescriptionScale()
Creates a newScale
node whose scaling factors are set to one.Scale
(float scale) Creates a newScale
node whose scaling factors are set toscale
.Scale
(float scaleX, float scaleY, float scaleZ) Creates a newScale
node whose scaling factors are set to the specified values. -
Method Summary
Modifier and TypeMethodDescriptionprotected Node.NType
This method returns theNode.NType
which describes the managed fields of the class of this node.protected Node
This method returns a new instance of the class of this node.void
postTransform
(Object object, boolean asNode, Matrix4d in, Matrix4d out, Matrix4d pre, GraphState gs) Implements the change from object's transformationin
to the object's post-transformationout
.void
preTransform
(Object object, boolean asNode, Matrix4d in, Matrix4d out, GraphState gs) Implements the change from the parent's post-transformationin
to the object's transformationout
.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, getSymbolColor, 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
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 Details
-
scaleX
public float scaleXScaling factor in x-direction. -
scaleY
public float scaleYScaling factor in y-direction. -
scaleZ
public float scaleZScaling factor in z-direction. -
$TYPE
-
scaleX$FIELD
-
scaleY$FIELD
-
scaleZ$FIELD
-
-
Constructor Details
-
Scale
public Scale()Creates a newScale
node whose scaling factors are set to one. -
Scale
public Scale(float scale) Creates a newScale
node whose scaling factors are set toscale
. This is a uniform scaling.- Parameters:
scale
- scaling factor
-
Scale
public Scale(float scaleX, float scaleY, float scaleZ) Creates a newScale
node whose scaling factors are set to the specified values.- Parameters:
scaleX
- scaling factor in x-directionscaleY
- scaling factor in y-directionscaleZ
- scaling factor in z-direction
-
-
Method Details
-
preTransform
Description copied from interface:Transformation
Implements the change from the parent's post-transformationin
to the object's transformationout
.- Specified by:
preTransform
in interfaceTransformation
- Parameters:
object
- the object for which the transformation is computedasNode
- isobject
a node or an edge?in
- the post-transformation of the object's parentout
- the tranformation of the object to be computedgs
- the graph state in which the computation has to be done
-
postTransform
public void postTransform(Object object, boolean asNode, Matrix4d in, Matrix4d out, Matrix4d pre, GraphState gs) Description copied from interface:Transformation
Implements the change from object's transformationin
to the object's post-transformationout
.- Specified by:
postTransform
in interfaceTransformation
- Parameters:
object
- the object for which the transformation is computedasNode
- isobject
a node or an edge?in
- the transformation of the objectout
- the post-tranformation of the object to be computedpre
- the post-transformation of the object's parentgs
- the graph state in which the computation has to be done
-
getNTypeImpl
Description copied from class:Node
This method returns theNode.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 classNode
- Returns:
- type describing the managed fields of the class of this 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 classNode
- Returns:
- new instance of class of this node
-