Class TransformGroup
The specified transformation must be affine. Further, if the TransformGroup node is used as an ancestor of a ViewPlatform node in the scene graph, the transformation must be congruent-only rotations, translations, and uniform scales are allowed in a direct path from a Locale to a ViewPlatform node.
Note: Even though arbitrary affine transformations are allowed, better performance will result if all matrices within a branch graph are congruent, containing only rotations translation, and uniform scale.
The effects of transformations in the scene graph are cumulative. The concatenation of the transformations of each TransformGroup in a direct path from the Locale to a Leaf node defines a composite model transformation (CMT) that takes points in that Leaf node's local coordinates and transforms them into Virtual World (Vworld) coordinates. This composite transformation is used to transform points, normals, and distances into Vworld coordinates. Points are transformed by the CMT. Normals are transformed by the inverse-transpose of the CMT. Distances are transformed by the scale of the CMT. In the case of a transformation containing a nonuniform scale or shear, the maximum scale value in any direction is used. This ensures, for example, that a transformed bounding sphere, which is specified as a point and a radius, continues to enclose all objects that are also transformed using a nonuniform scale.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Specifies that the node allows access to its object's transform information.static final int
Specifies that the node allows writing its object's transform information.Fields inherited from class javax.media.j3d.Group
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE
Fields inherited from class javax.media.j3d.Node
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs and initializes a TransformGroup using an identity transform.Constructs and initializes a TransformGroup from the Transform passed. -
Method Summary
Modifier and TypeMethodDescriptioncloneNode
(boolean forceDuplicate) Creates a new instance of the node.void
Copies the transform component of this TransformGroup into the passed transform object.void
Sets the transform component of this TransformGroup to the value of the passed transform.Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
Field Details
-
ALLOW_TRANSFORM_READ
public static final int ALLOW_TRANSFORM_READSpecifies that the node allows access to its object's transform information.- See Also:
-
ALLOW_TRANSFORM_WRITE
public static final int ALLOW_TRANSFORM_WRITESpecifies that the node allows writing its object's transform information.- See Also:
-
-
Constructor Details
-
TransformGroup
public TransformGroup()Constructs and initializes a TransformGroup using an identity transform. -
TransformGroup
Constructs and initializes a TransformGroup from the Transform passed.- Parameters:
t1
- the transform3D object- Throws:
BadTransformException
- if the transform is not affine.
-
-
Method Details
-
setTransform
Sets the transform component of this TransformGroup to the value of the passed transform.- Parameters:
t1
- the transform to be copied- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graphBadTransformException
- if the transform is not affine.
-
getTransform
Copies the transform component of this TransformGroup into the passed transform object.- Parameters:
t1
- the transform object to be copied into- Throws:
CapabilityNotSetException
- if appropriate capability is not set and this object is part of live or compiled scene graph
-
cloneNode
Creates a new instance of the node. This routine is called bycloneTree
to duplicate the current node.
-