java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp.edit.ToolRoot
de.grogra.imp3d.edit.ToolRoot3D
de.grogra.imp3d.edit.TransformTool
- All Implemented Interfaces:
Transformation,Manageable,PersistenceCapable,Shareable,UserFields,XObject,Disposable,EventListener,Map,Serializable,EventListener
This class is the base class for tool roots which manipulate
transformable objects (objects having the attribute
Attributes.TRANSFORM).
The tool coordinate system (see ToolRoot3D
is adjusted such that tool nodes of size 1 have a size of about 150
pixels on a 3D view.- Author:
- Ole Kniemeyer
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NTypeNested classes/interfaces inherited from interface de.grogra.util.EventListener
EventListener.Bicast, EventListener.Multicaster -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Matrix4dThe local transformation matrix of the transformable object.Fields inherited from class de.grogra.imp3d.edit.ToolRoot3D
$TYPEFields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD, USED_BITSFields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidThis method is invoked to compute an adjustment of the tool coordinates system.protected voidcomputeTargetTransformation(Matrix4d t, Matrix4d parent) This implementation sets the target coordinate system such that is is transformed to the parent coordinate system by the transformation of the transformable tool target.protected booleaninitialize(Tool tool) Initializes this tool root.protected voidThis utility method may be used by subclasses in order to set the local transformation of the transformable tool target to the given matrixt.Methods inherited from class de.grogra.imp3d.edit.ToolRoot3D
adjustScale, attributeChanged, dispose, eventOccured, getAdjustment, getParentTransformation, getTargetTransformation, getToolTransformation, postTransform, preTransformMethods inherited from class de.grogra.imp.edit.ToolRoot
executeWithWriteLock, getToolTarget, isTargetNodeMethods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupFrom, dupnew, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIgnored, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getNTypeImpl, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getResolution, getShort, getSource, getStamp, getSuccessor, getSymbol, getSymbolColor, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, newInstance, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setIgnored, setLayer, setMark, setName, setResolution, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplaceMethods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
-
Field Details
-
local
The local transformation matrix of the transformable object.
-
-
Constructor Details
-
TransformTool
public TransformTool()
-
-
Method Details
-
computeTargetTransformation
This implementation sets the target coordinate system such that is is transformed to the parent coordinate system by the transformation of the transformable tool target.- Specified by:
computeTargetTransformationin classToolRoot3D- Parameters:
t- the computed matrix of the target coordinate systemparent- the provided matrix of the parent coordinate system
-
setTargetTransform
This utility method may be used by subclasses in order to set the local transformation of the transformable tool target to the given matrixt.- Parameters:
t- the new local transformation of the target object
-
adjustToolTransformation
Description copied from class:ToolRoot3DThis method is invoked to compute an adjustment of the tool coordinates system. The invoker setstto the transformation matrix from target coordinates to world coordinates. Implementations of this method may adjustt, e.g., they may set a certain scaling factor between tool coordinates and camera coordinates in order to ensure a fixed size of tool nodes on the 3D view.- Overrides:
adjustToolTransformationin classToolRoot3D- Parameters:
t- the tool transformation to be adjustedc- the camera of the tool's 3D view
-
initialize
Description copied from class:ToolRootInitializes this tool root. This method initializes the fieldToolRoot.toolwith the giventool.- Overrides:
initializein classToolRoot3D- Parameters:
tool- the tool to which this tool root is associated- Returns:
trueif this tool root actually shall be used for the tool,falseif it shall not be used (e.g., if the actual tool target cannot be manipulated by the tool graph of this tool root).
-