syn3d.data
Class TransformData

java.lang.Object
  extended by syn3d.data.SceneGraphData
      extended by syn3d.data.SceneGraphFloatData
          extended by syn3d.data.TransformData
All Implemented Interfaces:
java.io.Serializable, DataSourceListener, EndNotificationListener
Direct Known Subclasses:
TransformDataJava3d, TransformDataXith3d

public abstract class TransformData
extends SceneGraphFloatData
implements java.io.Serializable

Class description ...

Author:
Claude CAZENAVE
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class syn3d.data.SceneGraphData
SceneGraphData.SourceHolder
 
Field Summary
static int AFFINE
           
static int FULL
           
static int IDENTITY
           
protected  int kind
           
protected  TransformGroupNode node
           
protected static int[] PARAM_SIZE
           
static int ROTX
           
static int ROTXYZ
           
static int ROTY
           
static int ROTZ
           
static int SCALE
           
static int SCALEX
           
static int SCALEXYZ
           
static int SCALEY
           
static int SCALEZ
           
protected  java.util.ArrayList transformChildren
           
protected  TransformData transformRoot
           
static int TRANSX
           
static int TRANSXYZ
           
static int TRANSY
           
static int TRANSZ
           
 
Fields inherited from class syn3d.data.SceneGraphFloatData
params
 
Fields inherited from class syn3d.data.SceneGraphData
delegateListener, editable, sources
 
Constructor Summary
TransformData(TransformGroupNode node)
           
TransformData(TransformGroupNode node, TransformData transformRoot)
           
 
Method Summary
abstract  TransformData addComposedTransformation()
           
 java.lang.Object clone()
           
 void DataSourceIndexRangeChanged(DataSource ds, long startIndex, long lastIndex)
          Called when the range of valid index changed
 void DataSourceValueChanged(DataSource ds, long minIndex, long maxIndex)
          Called when at least a value changed in the data source.
 void dispose()
          Cleanup anything that could possibly help the garbage collector.
 int getKind()
           
static int getKind(Matrix4f m)
           
 java.util.ArrayList getTransformChildren()
           
 void init()
          Initialize data with the node current values
protected abstract  void init(int preferredKind, boolean fromNode)
           
 boolean isComposed()
           
static boolean isIdentity(Matrix3f m3)
           
static boolean isIdentity(Matrix4f m4)
           
abstract  void removeLastComposedTransformation()
           
 void removeSceneGraphData()
           
 void restoreTransform(TransformGroupNode node)
           
 void restoreTransform(TransformGroupNode node, TransformData transformRoot)
          Restore composed sub transformation
 void set(int kind, float[] values, DataSource[] d)
           
 void setKind(int i)
           
 void updateFrom(SceneGraphData dataCopy)
          Inverse operation from clone() Update this data from the content of another one
 void updateTransform()
          Apply current data values to the associated transformation
 
Methods inherited from class syn3d.data.SceneGraphFloatData
apply, getValue, set, setValue
 
Methods inherited from class syn3d.data.SceneGraphData
DataSourceInfoChanged, DataSourceOrderChanged, DataSourceReplaced, DataSourceValueRangeChanged, getDataSource, getDelegateListener, isEditable, length, notificationEnd, setDataSource, setDelegateListener, setEditable
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

IDENTITY

public static final int IDENTITY
See Also:
Constant Field Values

TRANSX

public static final int TRANSX
See Also:
Constant Field Values

TRANSY

public static final int TRANSY
See Also:
Constant Field Values

TRANSZ

public static final int TRANSZ
See Also:
Constant Field Values

TRANSXYZ

public static final int TRANSXYZ
See Also:
Constant Field Values

ROTX

public static final int ROTX
See Also:
Constant Field Values

ROTY

public static final int ROTY
See Also:
Constant Field Values

ROTZ

public static final int ROTZ
See Also:
Constant Field Values

ROTXYZ

public static final int ROTXYZ
See Also:
Constant Field Values

SCALEX

public static final int SCALEX
See Also:
Constant Field Values

SCALEY

public static final int SCALEY
See Also:
Constant Field Values

SCALEZ

public static final int SCALEZ
See Also:
Constant Field Values

SCALE

public static final int SCALE
See Also:
Constant Field Values

SCALEXYZ

public static final int SCALEXYZ
See Also:
Constant Field Values

AFFINE

public static final int AFFINE
See Also:
Constant Field Values

FULL

public static final int FULL
See Also:
Constant Field Values

kind

protected int kind

node

protected transient TransformGroupNode node

transformChildren

protected java.util.ArrayList transformChildren

transformRoot

protected TransformData transformRoot

PARAM_SIZE

protected static final int[] PARAM_SIZE
Constructor Detail

TransformData

public TransformData(TransformGroupNode node)
Parameters:
node2 -

TransformData

public TransformData(TransformGroupNode node,
                     TransformData transformRoot)
Method Detail

restoreTransform

public void restoreTransform(TransformGroupNode node)

restoreTransform

public void restoreTransform(TransformGroupNode node,
                             TransformData transformRoot)
Restore composed sub transformation

Parameters:
node -
transformRoot -

setKind

public void setKind(int i)
Parameters:
i -

getKind

public int getKind()
Returns:
Returns the kind.

init

public void init()
Description copied from class: SceneGraphData
Initialize data with the node current values

Specified by:
init in class SceneGraphData

init

protected abstract void init(int preferredKind,
                             boolean fromNode)

isIdentity

public static boolean isIdentity(Matrix4f m4)

isIdentity

public static boolean isIdentity(Matrix3f m3)

getKind

public static int getKind(Matrix4f m)

set

public void set(int kind,
                float[] values,
                DataSource[] d)

updateFrom

public void updateFrom(SceneGraphData dataCopy)
Description copied from class: SceneGraphData
Inverse operation from clone() Update this data from the content of another one

Overrides:
updateFrom in class SceneGraphFloatData

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class SceneGraphFloatData
Throws:
java.lang.CloneNotSupportedException

updateTransform

public void updateTransform()
Apply current data values to the associated transformation


DataSourceIndexRangeChanged

public void DataSourceIndexRangeChanged(DataSource ds,
                                        long startIndex,
                                        long lastIndex)
Description copied from interface: DataSourceListener
Called when the range of valid index changed

Specified by:
DataSourceIndexRangeChanged in interface DataSourceListener
Overrides:
DataSourceIndexRangeChanged in class SceneGraphFloatData
Parameters:
ds - The data source that changed
startIndex - The new start Index
lastIndex - The new last index

DataSourceValueChanged

public void DataSourceValueChanged(DataSource ds,
                                   long minIndex,
                                   long maxIndex)
Description copied from interface: DataSourceListener
Called when at least a value changed in the data source. The listener shall then get the values in the given range again, if it is interested by the values in that range.

Specified by:
DataSourceValueChanged in interface DataSourceListener
Overrides:
DataSourceValueChanged in class SceneGraphFloatData
Parameters:
ds - The data source that changed
minIndex - Lower bound of the range where values changed
maxIndex - Higher bound of the range where values changed

dispose

public void dispose()
Description copied from class: SceneGraphData
Cleanup anything that could possibly help the garbage collector. Ref counted listeners may be a good start...

Overrides:
dispose in class SceneGraphFloatData

removeSceneGraphData

public void removeSceneGraphData()
Overrides:
removeSceneGraphData in class SceneGraphData

isComposed

public boolean isComposed()

getTransformChildren

public java.util.ArrayList getTransformChildren()

addComposedTransformation

public abstract TransformData addComposedTransformation()

removeLastComposedTransformation

public abstract void removeLastComposedTransformation()