harmonic.mz.data
Class ShapeGroup

java.lang.Object
  |
  +--harmonic.mz.data.ModelNode
        |
        +--harmonic.mz.data.ShapeGroup
All Implemented Interfaces:
java.awt.event.ActionListener, DataNode, Documentable, java.util.EventListener, Interpolater, harmonic.meshGeom.math.MarkableObject, NodeListener, Transformable

public class ShapeGroup
extends ModelNode
implements Transformable

An extension of ModelNode for grouping ShapeDefs, that has coordinate system. This is to be used instead of ShapeDef's for creating a grouping node of ShapeDefs, because since the ShapeNode has some fixed fields, free children should not be added beside them. This node has only free children.


Field Summary
 CoordSystemField coordSystem
          Coordinate system field, controls coordinate system of ShapeGroup.
static boolean localKludge
           
 
Fields inherited from class harmonic.mz.data.ModelNode
_fileRoot_, _thread_, ATTRIB_CONTROL_WIDGET, ATTRIB_LISTABLE, ATTRIB_PRESENTABLE, ATTRIB_PRIVATE, ATTRIB_REMOVEABLE, ATTRIB_RENAMEABLE, ATTRIB_SHOW_CONTEXT_MENU, ATTRIB_TYPE_FILTER, ATTRIB_USERGROUP, ATTRIB_VALUE_GROUP, ATTRIB_VE_LISTENER, bCustomCS, bDebug, bValid, name
 
Constructor Summary
ShapeGroup()
          Construct a ShapeGroup with an empty name.
ShapeGroup(java.lang.String s)
          Construct a ShapeNode with an given name.
 
Method Summary
 void beginTransform()
          Call before interactive transformation begins
 void endTransform()
          Call after a shape is finally transformed.
 harmonic.viewer3D.CoordSystem getCoordSystem()
          Returns coord system in this.coordSystem.
 harmonic.viewer3D.CoordSystem getMoveableCoordSystem()
          Returns coord system in this.coordSystem.
 Transformable getTransformable()
          Returns this by default
 boolean hasFixedCS()
          Return whether coord system should be reparented as object is moved in tree
 void purgeFinal()
          Overriden to null coord system parent
 void scaleCoordSystem(harmonic.meshGeom.math.TMat t, harmonic.meshGeom.math.Pnt3f gcsPoint)
          For rotate, scale, mirror
 void translateCoordSystem(harmonic.meshGeom.math.TMat t)
          Objects now implement their own transformations, to accomidate special needs of handles.
 
Methods inherited from class harmonic.mz.data.ModelNode
actionPerformed, addAll, addAlphaed, addField, addField, addField, addFields, addNetworkInput, addNetworkOutput, addNode, addNodeListener, addNodeListener, addNodes, addNodes, addToCurrent, addToGlobals, addToNetworkEditor, addToTemps, addWithUndo, allFieldsAreFinal, applyDataTransfer, areFieldsValid, assignFromMetaFields, assignFromXMLAttributes, assignFromXMLString, assignToMetaFields, assignToXMLAttributes, assignToXMLString, at, bind, canSelect, castSelection, checkFileRead, checkNetworkInput, childCount, clean, clearAttrib, clearNotified, compare, copyFrom, createControlWidget, createCopy, createXMLElement, deepCopy, defeatNodeEvents, disableEvents, enableEvents, expectedValidationTime, fileRoot, finalize, findFieldElement, findNode, fromXMLNodes, getAttrib, getBound, getCatagory, getControlWidget, getCurrentNames, getDataTransfer, getDataTransferTypes, getDeleted, getDirectInputs, getDirectOutputs, getEffectors, getEntryListener, getErrorState, getFilterType, getFullName, getHandles, getInstanceURL, getInterpolater, getIsLeaf, getListable, getMark, getMetaFields, getName, getNodeChildren_V, getNodeChildren, getNodeID, getNodeParent, getObjectRep, getPresentable, getPrivate, getReferencePoolName, getRemoteOwner, getRemoveable, getRenameable, getSaveable, getSavedChildren, getSelect, getSeparateDirectInputs, getSeparateDirectOutputs, getSequenced, getSerialNo, getTags, getTentativeSelect, getTransformableParent, getTransient, getTreeName, getTypeImage, getTypeURL, getUnfoldedChildren, getUpdateTime, getUserGroup, getValidates, getValue, getXMLNodes, hasDependants, hasExternalRef, hashKey, hasValidationLock, hideControlWidget, indexOf, initControlWidget, insertNode, interpolate_Linear, interpolate_Quadratic, invalidate, isField, isFinal, isInSubtree, isInTree, isLinked, isNotified, isPurged, isSet, isTemporary, isValid, linkedTo, linksChildren, makeContextMenu, makeFixed, makePrototype, makeReferenced, makeUnreferenced, makeVisibleInGUI, markNotified, mayValidate, nodeChanged, notifyListeners, postAssignFromXMLElement, preAssignToXMLElement, printChildren, printTags, printTree, printTree, purge, pythonString, remove, removeAll, removeAll, removeHandles, removeNetworkInput, removeNetworkOutput, removeNode, removeNode, removeNode, removeNodeListener, replace, selfNodeChanged, set, setActualName, setAttrib, setBound, setCatagory, setChildrenExcept, setCoordSystem, setCurrentControlWidget, setCurrentNames, setDeleted, setEntryListener, setErrorState, setFromPrototype, setIsField, setIsLeaf, setIsSet, setListable, setMark, setMetaFields, setName, setNodeParent, setPresentable, setPrivate, setRemoteOwner, setRemoveable, setRenameable, setSaveable, setSelect, setSelect, setSequenced, setSerialNo, setTentativeSelect, setTentativeSelect, setToLink, setTransient, setTransientChildren, setUpdateTime, setUserGroup, setValidates, setValidationLock, setValue, setValueGroup, showControlWidget, showControlWidget, showControlWidget, showHandles, startRename, tag, toString, unlinkListeners, unmarkNotified, untag, updateBindable, valChanged, valChanged, validate, valueString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

coordSystem

public CoordSystemField coordSystem
Coordinate system field, controls coordinate system of ShapeGroup.


localKludge

public static boolean localKludge
Constructor Detail

ShapeGroup

public ShapeGroup()
Construct a ShapeGroup with an empty name.


ShapeGroup

public ShapeGroup(java.lang.String s)
Construct a ShapeNode with an given name.

Method Detail

purgeFinal

public void purgeFinal()
Overriden to null coord system parent

Specified by:
purgeFinal in interface DataNode
Overrides:
purgeFinal in class ModelNode

getTransformable

public Transformable getTransformable()
Returns this by default

Overrides:
getTransformable in class ModelNode

getMoveableCoordSystem

public harmonic.viewer3D.CoordSystem getMoveableCoordSystem()
Returns coord system in this.coordSystem.

Specified by:
getMoveableCoordSystem in interface Transformable

getCoordSystem

public harmonic.viewer3D.CoordSystem getCoordSystem()
Returns coord system in this.coordSystem.


translateCoordSystem

public void translateCoordSystem(harmonic.meshGeom.math.TMat t)
Objects now implement their own transformations, to accomidate special needs of handles. Changeing the matrix is not the only way to transform.

Specified by:
translateCoordSystem in interface Transformable

scaleCoordSystem

public void scaleCoordSystem(harmonic.meshGeom.math.TMat t,
                             harmonic.meshGeom.math.Pnt3f gcsPoint)
For rotate, scale, mirror

Specified by:
scaleCoordSystem in interface Transformable

beginTransform

public void beginTransform()
Call before interactive transformation begins

Specified by:
beginTransform in interface Transformable

endTransform

public void endTransform()
Call after a shape is finally transformed.

Specified by:
endTransform in interface Transformable

hasFixedCS

public boolean hasFixedCS()
Description copied from interface: Transformable
Return whether coord system should be reparented as object is moved in tree

Specified by:
hasFixedCS in interface Transformable