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.NType
Nested classes/interfaces inherited from interface de.grogra.util.EventListener
EventListener.Bicast, EventListener.Multicaster
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Matrix4d
The local transformation matrix of the transformable object.Fields inherited from class de.grogra.imp3d.edit.ToolRoot3D
$TYPE
Fields 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_BITS
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
This method is invoked to compute an adjustment of the tool coordinates system.protected void
computeTargetTransformation
(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 boolean
initialize
(Tool tool) Initializes this tool root.protected void
This 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, preTransform
Methods inherited from class de.grogra.imp.edit.ToolRoot
executeWithWriteLock, getToolTarget, isTargetNode
Methods 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, writeReplace
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:
computeTargetTransformation
in 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:ToolRoot3D
This method is invoked to compute an adjustment of the tool coordinates system. The invoker setst
to 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:
adjustToolTransformation
in classToolRoot3D
- Parameters:
t
- the tool transformation to be adjustedc
- the camera of the tool's 3D view
-
initialize
Description copied from class:ToolRoot
Initializes this tool root. This method initializes the fieldToolRoot.tool
with the giventool
.- Overrides:
initialize
in classToolRoot3D
- Parameters:
tool
- the tool to which this tool root is associated- Returns:
true
if this tool root actually shall be used for the tool,false
if it shall not be used (e.g., if the actual tool target cannot be manipulated by the tool graph of this tool root).
-