Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.grogra.turtle
Class Scale

    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, java.io.Serializable

    public class Scale

extends Node
implements Transformation

A `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:
  Serialized Form

Nested Class Summary
`static class` | `Scale.Pattern`
`static class` | `Scale.XPattern`

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`
`float` | `scaleX` Scaling factor in x-direction.
`static Node.NType.Field` | `scaleX$FIELD`
`float` | `scaleY` Scaling factor in y-direction.
`static Node.NType.Field` | `scaleY$FIELD`
`float` | `scaleZ` Scaling factor in z-direction.
`static Node.NType.Field` | `scaleZ$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, USED_BITS`

Fields inherited from interface de.grogra.util.Map
`DEFAULT_VALUE, EMPTY_MAP`

Constructor Summary
`Scale()` Creates a new `Scale` node whose scaling factors are set to one.
`Scale(float scale)` Creates a new `Scale` node whose scaling factors are set to `scale`.
`Scale(float scaleX, float scaleY, float scaleZ)` Creates a new `Scale` node whose scaling factors are set to the specified values.

Method Summary
`protected Node.NType` | `getNTypeImpl()` This method returns the `Node.NType` which describes the managed fields of the class of this node.
`protected Node` | `newInstance()` This method returns a new instance of the class of this node.
`void` | `postTransform(java.lang.Object object, boolean asNode, Matrix4d in, Matrix4d out, Matrix4d pre, GraphState gs)` Implements the change from object's transformation `in` to the object's post-transformation `out`.
`void` | `preTransform(java.lang.Object object, boolean asNode, Matrix4d in, Matrix4d out, GraphState gs)` Implements the change from the parent's post-transformation `in` to the object's transformation `out`.

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, getSymbolColor, 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

### scaleX

    public float scaleX

  Scaling factor in x-direction.

### scaleX$FIELD

    public static final Node.NType.Field scaleX$FIELD

### scaleY

    public float scaleY

  Scaling factor in y-direction.

### scaleY$FIELD

    public static final Node.NType.Field scaleY$FIELD

### scaleZ

    public float scaleZ

  Scaling factor in z-direction.

### scaleZ$FIELD

    public static final Node.NType.Field scaleZ$FIELD

Constructor Detail

### Scale

    public Scale()

  Creates a new `Scale` node whose scaling factors are set to one.

### Scale

    public Scale(float scale)

  Creates a new `Scale` node whose scaling factors are set to `scale`. This is a uniform scaling.

  Parameters:
    `scale` - scaling factor

### Scale

    public Scale(float scaleX,
                 float scaleY,
                 float scaleZ)

  Creates a new `Scale` node whose scaling factors are set to the specified values.

  Parameters:
    `scaleX` - scaling factor in x-direction
    `scaleY` - scaling factor in y-direction
    `scaleZ` - scaling factor in z-direction

Method Detail

### 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 `Node`
  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 `Node`
  Returns:
    new instance of class of this node

### postTransform

    public void postTransform(java.lang.Object object,
                              boolean asNode,
                              Matrix4d in,
                              Matrix4d out,
                              Matrix4d pre,
                              GraphState gs)

  Description copied from interface: `Transformation`
  Implements the change from object's transformation `in` to the object's post-transformation `out`.

  Specified by:
    `postTransform` in interface `Transformation`
  Parameters:
    `object` - the object for which the transformation is computed
    `asNode` - is `object` a node or an edge?
    `in` - the transformation of the object
    `out` - the post-tranformation of the object to be computed
    `pre` - the post-transformation of the object's parent
    `gs` - the graph state in which the computation has to be done

### preTransform

    public void preTransform(java.lang.Object object,
                             boolean asNode,
                             Matrix4d in,
                             Matrix4d out,
                             GraphState gs)

  Description copied from interface: `Transformation`
  Implements the change from the parent's post-transformation `in` to the object's transformation `out`.

  Specified by:
    `preTransform` in interface `Transformation`
  Parameters:
    `object` - the object for which the transformation is computed
    `asNode` - is `object` a node or an edge?
    `in` - the post-transformation of the object's parent
    `out` - the tranformation of the object to be computed
    `gs` - the graph state in which the computation has to be done

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD