Module rgg

Class Rotate

All Implemented Interfaces:
Transformation, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, Serializable

public class Rotate extends Node implements Transformation
A Rotate node rotates the local coordinate system by rotateX degrees about the local x-axis, then by rotateY degrees about the local y-axis, then by rotateZ degrees about the local z-axis.
This class declares the predicate Rotate.Pattern to allow one to write Rotate(x,y,z) in a pattern of an XL query.
Author:
Ole Kniemeyer
See Also:
  • Field Details

    • rotateX

      public float rotateX
      The rotation angle about the x-axis in degrees.
    • rotateY

      public float rotateY
      The rotation angle about the y-axis in degrees.
    • rotateZ

      public float rotateZ
      The rotation angle about the z-axis in degrees.
    • $TYPE

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

      public static final Node.NType.Field rotateX$FIELD
    • rotateY$FIELD

      public static final Node.NType.Field rotateY$FIELD
    • rotateZ$FIELD

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

    • Rotate

      public Rotate()
      Creates a new Rotate node whose angles are set to zero.
    • Rotate

      public Rotate(float rotateX, float rotateY, float rotateZ)
      Create a new Rotate node which rotates according to the specified values.
      Parameters:
      rotateX - rotation angle about x-axis in degrees
      rotateY - rotation angle about y-axis in degrees
      rotateZ - rotation angle about z-axis in degrees
  • 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