de.fhg.igd.earth.model.graph
Class TransformGroup

java.lang.Object
  extended byde.fhg.igd.earth.model.graph.ProjectorObject
      extended byde.fhg.igd.earth.model.graph.ModelGraphObject
          extended byde.fhg.igd.earth.model.graph.Node
              extended byde.fhg.igd.earth.model.graph.Group
                  extended byde.fhg.igd.earth.model.graph.TransformGroup
All Implemented Interfaces:
Cloneable, Serializable

public class TransformGroup
extends Group
implements Serializable, Cloneable

This class represents a trasformationGroup. A transformationGroup includes a transformation matrix witch transforms all children. So it's possible to move (translate), rotate and scale them. You can move relatively (truetranslate()) or absolutely (setPosition()). Title : Earth Copyright : Copyright (c) 2001 Organisation : IGD FhG

Version:
: 1.0
Author:
: Werner Beutel
See Also:
Serialized Form

Field Summary
private  cMatrix4d transformation_
          the transformation matrix 4x4
 
Fields inherited from class de.fhg.igd.earth.model.graph.Group
maxNumChildren_
 
Fields inherited from class de.fhg.igd.earth.model.graph.Node
boundless_, collidable_, icon_, parent_, pickable_
 
Fields inherited from class de.fhg.igd.earth.model.graph.ModelGraphObject
CHANGE_AddChild, CHANGE_Anything, CHANGE_Appearance, CHANGE_Color, CHANGE_Create, CHANGE_Delete, CHANGE_Focus, CHANGE_HistoryGroup, CHANGE_InfoTable, CHANGE_Object, CHANGE_RemoveChild, CHANGE_Shape, CHANGE_Trace, CHANGE_Update, CHANGE_Visibility, changes_, infoTable_, mutable_, name_, subChanges_, SUBTYPE_BackGround, SUBTYPE_Box, SUBTYPE_BranchGroup, SUBTYPE_Cone, SUBTYPE_Cylinder, SUBTYPE_DetailGroup, SUBTYPE_DistanceDetailGroup, SUBTYPE_Group, SUBTYPE_HistoryGroup, SUBTYPE_LatchGroup, SUBTYPE_ModelGraph, SUBTYPE_Polygon, SUBTYPE_Primitive, SUBTYPE_Sphere, SUBTYPE_Text, SUBTYPE_TransformGroup, SUBTYPE_WireBoxGroup, timeStamp_, trace_, traceable_, TYPE_Group, TYPE_Leaf
 
Fields inherited from class de.fhg.igd.earth.model.graph.ProjectorObject
projectorObject_
 
Constructor Summary
TransformGroup()
          Creates an instance of this class.
 
Method Summary
protected  boolean allowChildAddEvent(Node n)
          This method is called BEFORE the given node is added to this group.
 void calcBoundingBox(cBoundingBox boundingBox)
          Calculates the bounding box of this node.
 Object clone()
          Clone this TransformGroup
 int getSubType()
          Returns SUBTYPE_TransformGroup.
 cMatrix4d getTransformation()
          Returns a transformation matrix clone.
 int getType()
          Returns TYPE_Group.
 boolean scale(double s)
          Scales the matrix with the given value (mul) (blocked by mutable).
 boolean setPosition(double x, double y, double z)
          Translates the matrix with the given values (absolutely) (blocked by mutable).
 boolean setTransformation(cMatrix4d tfm)
          Sets the transformation matrix (blocked by mutable).
 boolean translate(double x, double y, double z)
          Translates the matrix with the given values (relatively) (blocked by mutable).
 
Methods inherited from class de.fhg.igd.earth.model.graph.Group
addChild, childAddedEvent, childRemovedEvent, createLeafList, createSubGroupList, createSubNodeList, detach, detachedEvent, getAllChildren, getChild, getErasedChildren, numChildren, removeAllChildren, removeChild, removeChild, resetChanges, searchDown, searchDown, searchDown, searchDown, searchDownInserter, searchDownInserter, setChildAt, setColor, setHighLight, setMutable, setVisible
 
Methods inherited from class de.fhg.igd.earth.model.graph.Node
broadcastCreation, broadcastResetChanges, createParentGroupList, delete, delete, getBoundingBox, getBoundless, getBranchGroup, getCollidable, getGroup, getIcon, getLeafList, getModelGraph, getParent, getParentGroupList, getPickable, getSubGroupList, getSubNodeList, isFocused, move, move, moveTo, publishChanges, resetProjectorObject, searchUp, searchUp, searchUp, searchUp, setBoundless, setCollidable, setIcon, setParent, setPickable
 
Methods inherited from class de.fhg.igd.earth.model.graph.ModelGraphObject
anyChanges, anySubChanges, getChanges, getChanges, getInfoTable, getInfoTableElements, getInfoTableKeys, getInfoTableSize, getInfoTableValues, getMutable, getName, getSubChanges, getSubChanges, getSubTypeName, getTimeStamp, getTrace, getTraceable, putInfo, setChanges, setInfoTable, setName, setSubChanges, setTrace, VectorClone
 
Methods inherited from class de.fhg.igd.earth.model.graph.ProjectorObject
getProjectorObject, setProjectorObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

transformation_

private cMatrix4d transformation_
the transformation matrix 4x4

Constructor Detail

TransformGroup

public TransformGroup()
Creates an instance of this class.

Method Detail

getType

public int getType()
Returns TYPE_Group. Defined in ModelGraphObject

Overrides:
getType in class Group
Returns:
type (always TYPE_Group)

getSubType

public int getSubType()
Returns SUBTYPE_TransformGroup. Defined in ModelGraphObject

Overrides:
getSubType in class Group
Returns:
SUBTYPE_TransformGroup

setTransformation

public boolean setTransformation(cMatrix4d tfm)
Sets the transformation matrix (blocked by mutable).

Parameters:
tfm - transformation matrix
Returns:
true on success

getTransformation

public cMatrix4d getTransformation()
Returns a transformation matrix clone.

Returns:
transformation matrix (clone)

translate

public boolean translate(double x,
                         double y,
                         double z)
Translates the matrix with the given values (relatively) (blocked by mutable).

Returns:
true on success

scale

public boolean scale(double s)
Scales the matrix with the given value (mul) (blocked by mutable).

Parameters:
s - Scale
Returns:
true on success

setPosition

public boolean setPosition(double x,
                           double y,
                           double z)
Translates the matrix with the given values (absolutely) (blocked by mutable).

Returns:
true on success

calcBoundingBox

public void calcBoundingBox(cBoundingBox boundingBox)
Calculates the bounding box of this node. This method is used by Node.getBoundingBox().

Overrides:
calcBoundingBox in class Group
Parameters:
boundingBox - which will be combined with

allowChildAddEvent

protected boolean allowChildAddEvent(Node n)
This method is called BEFORE the given node is added to this group. It will be called by the addChild() method. This group accepts every types of sub nodes.

Overrides:
allowChildAddEvent in class Group
Parameters:
n - Node to check
Returns:
true if it's allowed to add this node (always true)

clone

public Object clone()
Clone this TransformGroup

Overrides:
clone in class Group


Copyright © Fraunhofer Gesellschaft. All Rights Reserved.