Maven module :un.api : api-math :
Class :
un.impl.math.transform.NodeTransform
Extends/Implements :
un.api.math.transform.AbstractTransform
un.api.event.EventSource
Subclasses : -
Variables :
PROPERTY_MATRIX
Functions :
NodeTransform,
NodeTransform,
NodeTransform,
set,
set,
setToIdentity,
setToTranslation,
getDimension,
getRotation,
getScale,
getTranslation,
notifyChanged,
asMatrix,
inverseAsMatrix,
asMatrix,
getInputDimensions,
getOutputDimensions,
transform,
transform,
inverseTransform,
inverseTransform,
inverseTransform,
inverseTransform,
inverseTransform,
getEventClasses,
getEventManager,
getEventManager,
addEventListener,
addEventListener,
removeEventListener,
removeEventListener,
getListeners,
getListeners
public Chars
PROPERTY_MATRIX
public void
NodeTransform (int dimension)
public void
NodeTransform (MatrixRW rotation, Vector scale, Vector translation)
public void
NodeTransform (Quaternion rotation, Vector scale, Vector translation)
public void
set (NodeTransform trs)
public void
set (Matrix trs)
public void
setToIdentity ()
public void
setToTranslation (double[] trs)
public int
getDimension ()
public MatrixRW
getRotation ()
public Vector
getScale ()
public Vector
getTranslation ()
public void
notifyChanged ()
public Matrix
asMatrix ()
public Matrix
inverseAsMatrix ()
public MatrixRW
asMatrix (int outDimension)
public int
getInputDimensions ()
public int
getOutputDimensions ()
public double[]
transform (double[] in, int sourceOffset, double[] out, int destOffset, int nbTuple)
public float[]
transform (float[] in, int sourceOffset, float[] out, int destOffset, int nbTuple)
public double[]
inverseTransform (double[] source, double[] dest)
public void
inverseTransform (double[] source, int sourceOffset, double[] dest, int destOffset, int nbTuple)
public float[]
inverseTransform (float[] source, float[] dest)
public void
inverseTransform (float[] source, int sourceOffset, float[] dest, int destOffset, int nbTuple)
public Tuple
inverseTransform (Tuple source, Tuple dest)
public Class[]
getEventClasses ()
protected EventManager
getEventManager ()
protected EventManager
getEventManager (boolean create)
public void
addEventListener (Class eventClass, EventListener listener)
public void
addEventListener (Predicate predicate, EventListener listener)
public void
removeEventListener (Class eventClass, EventListener listener)
public void
removeEventListener (Predicate predicate, EventListener listener)
public EventListener[]
getListeners (Class eventClass)
public EventListener[]
getListeners (Predicate predicate)
in 3 different elements.
- rotation matrix
- translation vector
- scale vector
At first the project used a Matrix, but this approach starts to raise problemswhen node are moved around very often (like billboards), the mathematic inaccuracy makes the
objects start to distord over time.
A good description of the problem can be found here :
http://www.altdevblogaday.com/2012/07/03/matrices-rotation-scale-and-drifting/
author Johann Sorel