Module rgg

Class Scale

All Implemented Interfaces:
Transformation, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, 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:
  • Field Details

    • scaleX

      public float scaleX
      Scaling factor in x-direction.
    • scaleY

      public float scaleY
      Scaling factor in y-direction.
    • scaleZ

      public float scaleZ
      Scaling factor in z-direction.
    • $TYPE

      public static final Node.NType $TYPE
    • scaleX$FIELD

      public static final Node.NType.Field scaleX$FIELD
    • scaleY$FIELD

      public static final Node.NType.Field scaleY$FIELD
    • scaleZ$FIELD

      public static final Node.NType.Field scaleZ$FIELD
  • Constructor Details

    • 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 Details

    • preTransform

      public void preTransform(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
    • 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 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
    • 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