scripps.vvm.graphics
Class MolSurfaceShape

java.lang.Object
  |
  +--harmonic.mz.data.ModelNode
        |
        +--harmonic.mz.data.ShapeNode
              |
              +--scripps.vvm.graphics.VVM_Shape
                    |
                    +--scripps.vvm.graphics.VVM_RepShape
                          |
                          +--scripps.vvm.graphics.MolSurfaceShape
All Implemented Interfaces:
java.awt.event.ActionListener, AtomListener, harmonic.mz.data.DataNode, harmonic.mz.gui.Documentable, java.util.EventListener, harmonic.mz.data.Interpolater, harmonic.meshGeom.math.MarkableObject, harmonic.mz.event.NodeListener, harmonic.viewer3D.ShapeOwner, harmonic.mz.data.Transformable

public class MolSurfaceShape
extends VVM_RepShape

This is the solvent accessable surface representation of a molecule. This uses the famous MSMS program to calculate


Field Summary
 harmonic.mz.data.fields.ScalarField atomOffset
          Offset factor for atom size
 harmonic.mz.data.TableNode atomProps
          Holdes the per-element atom properties.
 harmonic.mz.data.fields.ScalarField atomScale
          Scale factor for atom size
 boolean bSurfaceValid
           
 harmonic.mz.data.fields.ScalarField probeRadius
          Size of imaginary solvent molecule used in generating surface
 harmonic.mz.data.fields.BooleanField vertexColors
          This can be used to defeat vertex coloring if needed
 harmonic.mz.data.fields.ScalarField vertexDensity
          Density of verticies on generated surface
 
Fields inherited from class scripps.vvm.graphics.VVM_RepShape
molField, type
 
Fields inherited from class harmonic.mz.data.ShapeNode
ANY_GEOM, ARRAY_GEOM, ATTRIBUTE_FIELD_TYPE, bAssignMaterialColors, bAttribsValid, bBaseGeometryValid, bSelectionValid, bTSelectionValid, bVisibilityValid, coordSystem, COORDSYSTEM_FIELD_TYPE, existingPainters, fastPainters, GEOMETRY_FIELD_TYPE, LINES_GEOM, localKludge, material, painters, POINT_GEOM, POLYGON_GEOM, REGION_GEOM, SOLID_GEOM, SURFACE_GEOM, transparency, visibility
 
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
MolSurfaceShape()
          Constructs a MolSurfaceShape
MolSurfaceShape(Molecule mol)
          Constructs a MolSurfaceShape
 
Method Summary
 java.lang.String areFieldsValid()
           
 Atom atomAtPart(harmonic.viewer3D.PaintStruct p, int itri, harmonic.meshGeom.math.Pnt3f pickedPoint)
          Used by the picking system.
 void atomChanged(AtomEvent event)
           
 harmonic.meshGeom.geom.IndexedTriangleArrayGeom createSurface()
           
 harmonic.meshGeom.geom.Geom fastGeometry(harmonic.meshGeom.geom.ArrayGeom geom)
           
 void fullInvalidate()
           
 java.lang.String[] getDomains()
          Return a list of domains used by this class
 harmonic.mz.data.TableNode getElementDataTable(java.lang.String domainType)
          Like getElementProps() except return the ElementListNode object at the domain
 java.util.Vector getElementProps(java.lang.String domainType)
          Return vector of meta data objects for the domain.
 harmonic.mz.data.ModelNode makePrototype()
           
 void nodeChanged(harmonic.mz.event.NodeEvent event)
           
 void setAtomColor(TreeNodeSet set, harmonic.meshGeom.math.Clr3f clr)
          Set atom color shown by this surface for the given set
 void setAtomColor(TreeNodeSet set, Scheme scheme)
          Set atom color shown by this surface for the given set
 void setAtomInclusion(TreeNodeSet set, boolean bShow)
          Set atom inclusion shown by this surface for the given set
 void setAtomInclusion(TreeNodeSet set, Scheme scheme)
          Set atom inclusion shown by this surface for the given set
 void setAtomRadius(TreeNodeSet set, float radius)
          Set atom radius shown by this surface for the given set
 void setAtomRadius(TreeNodeSet set, Scheme scheme)
          Set atom radius shown by this surface for the given set
 boolean shouldSpawnThread()
           
 void validateAttribs()
           
 void validateGeometry()
           
 
Methods inherited from class scripps.vvm.graphics.VVM_RepShape
defineTable, expectedValidationTime, getMol, prop, purge, selfNodeChanged, setDefaultProps, setMol, validateMol
 
Methods inherited from class scripps.vvm.graphics.VVM_Shape
bondAtPart, residueAtPart
 
Methods inherited from class harmonic.mz.data.ShapeNode
addFastGeometry, addFastGeometry, addFastGeometry, addFastGeometry, addFastPainter, addGeometry, addGeometry, addGeometry, addGeometry, addNetworkOutput, addPainter, addWithUndo, beginTransform, bigValidation, calcGeometricProps, calcSurfaceArea, calcVolume, checkRequirements, clearFastGeometries, clearFastPainters, clearGeometries, clearGeometryCache, clearPainters, defaultPickPriority, endTransform, fastPainterCount, findPointSnaps, getCachedGeometries, getCachedGeometry, getChildRequirements, getCoordSystem, getDataTransfer, getDataTransferTypes, getDragable, getEdges, getFastPainter, getFastPainters, getFitable, getGDIEdges, getGeom, getGeom, getGeomAt, getGeoms, getGeoms, getGeoms, getGlobalPerLocal, getILAEdges, getMoveableCoordSystem, getObjectChildren, getPainter, getPainter, getPainters, getPainters, getPainters, getPaintOnTransient, getPickable, getPointSnaps, getRequirements, getSerializeGeometry, getShapeDefOwner, getTransformable, getTypeImage, getViewpointDependantGeometry, getVisibility, hasFixedCS, hasGeometryLock, hide, hide, invalidate, invalidateAttribs, invalidateCoordSystem, invalidateGeometry, invalidateGeometryDependants, isAttribsValid, isGeomComposite, isGeometryValid, isSelectionValid, isTentativeSelectionValid, isVisibilityValid, makeContextMenu_ShapeFns, makeContextMenu, painterCount, processMouseDragged, processMouseEntered, processMouseExited, processMouseMoved, processMousePressed, processMouseReleased, purgeFinal, removeFastPainter, removePainter, scaleCoordSystem, setDragable, setExclusiveVisibility, setFieldCoordSystems, setFitable, setMoveableCoordSystem, setPaintOnTransient, setPickable, setPickPriority, setSelect, setSerializeGeometry, setTempVisibility, setTentativeSelect, setTransform, setTransient, setViewpointDependantGeometry, setVisibility, show, show, transferAttributes, transferAttributes, transform, transformFields, translateCoordSystem, validate, validateSelection, validateTransform
 
Methods inherited from class harmonic.mz.data.ModelNode
actionPerformed, addAll, addAlphaed, addField, addField, addField, addFields, addNetworkInput, addNode, addNodeListener, addNodeListener, addNodes, addNodes, addToCurrent, addToGlobals, addToNetworkEditor, addToTemps, allFieldsAreFinal, applyDataTransfer, 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, fileRoot, finalize, findFieldElement, findNode, fromXMLNodes, getAttrib, getBound, getCatagory, getControlWidget, getCurrentNames, 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, getTypeURL, getUnfoldedChildren, getUpdateTime, getUserGroup, getValidates, getValue, getXMLNodes, hasDependants, hasExternalRef, hashKey, hasValidationLock, hideControlWidget, indexOf, initControlWidget, insertNode, interpolate_Linear, interpolate_Quadratic, isField, isFinal, isInSubtree, isInTree, isLinked, isNotified, isPurged, isSet, isTemporary, isValid, linkedTo, linksChildren, makeFixed, makeReferenced, makeUnreferenced, makeVisibleInGUI, markNotified, mayValidate, notifyListeners, postAssignFromXMLElement, preAssignToXMLElement, printChildren, printTags, printTree, printTree, pythonString, remove, removeAll, removeAll, removeHandles, removeNetworkInput, removeNetworkOutput, removeNode, removeNode, removeNode, removeNodeListener, replace, 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, setSequenced, setSerialNo, setTentativeSelect, setToLink, setTransientChildren, setUpdateTime, setUserGroup, setValidates, setValidationLock, setValue, setValueGroup, showControlWidget, showControlWidget, showControlWidget, showHandles, startRename, tag, toString, unlinkListeners, unmarkNotified, untag, updateBindable, valChanged, valChanged, valueString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

atomProps

public harmonic.mz.data.TableNode atomProps
Holdes the per-element atom properties. Properties include:
IncludeAtomProp AtomColorProp AtomRadiusProp


vertexColors

public harmonic.mz.data.fields.BooleanField vertexColors
This can be used to defeat vertex coloring if needed


vertexDensity

public harmonic.mz.data.fields.ScalarField vertexDensity
Density of verticies on generated surface


probeRadius

public harmonic.mz.data.fields.ScalarField probeRadius
Size of imaginary solvent molecule used in generating surface


atomScale

public harmonic.mz.data.fields.ScalarField atomScale
Scale factor for atom size


atomOffset

public harmonic.mz.data.fields.ScalarField atomOffset
Offset factor for atom size


bSurfaceValid

public boolean bSurfaceValid
Constructor Detail

MolSurfaceShape

public MolSurfaceShape(Molecule mol)
Constructs a MolSurfaceShape


MolSurfaceShape

public MolSurfaceShape()
Constructs a MolSurfaceShape

Method Detail

setAtomInclusion

public void setAtomInclusion(TreeNodeSet set,
                             boolean bShow)
Set atom inclusion shown by this surface for the given set


setAtomInclusion

public void setAtomInclusion(TreeNodeSet set,
                             Scheme scheme)
Set atom inclusion shown by this surface for the given set


setAtomColor

public void setAtomColor(TreeNodeSet set,
                         harmonic.meshGeom.math.Clr3f clr)
Set atom color shown by this surface for the given set


setAtomColor

public void setAtomColor(TreeNodeSet set,
                         Scheme scheme)
Set atom color shown by this surface for the given set


setAtomRadius

public void setAtomRadius(TreeNodeSet set,
                          float radius)
Set atom radius shown by this surface for the given set


setAtomRadius

public void setAtomRadius(TreeNodeSet set,
                          Scheme scheme)
Set atom radius shown by this surface for the given set


makePrototype

public harmonic.mz.data.ModelNode makePrototype()
Overrides:
makePrototype in class harmonic.mz.data.ModelNode

nodeChanged

public void nodeChanged(harmonic.mz.event.NodeEvent event)
Specified by:
nodeChanged in interface harmonic.mz.event.NodeListener
Overrides:
nodeChanged in class VVM_RepShape

atomChanged

public void atomChanged(AtomEvent event)
Specified by:
atomChanged in interface AtomListener
Overrides:
atomChanged in class VVM_RepShape

fullInvalidate

public void fullInvalidate()
Overrides:
fullInvalidate in class VVM_RepShape

areFieldsValid

public java.lang.String areFieldsValid()
Overrides:
areFieldsValid in class harmonic.mz.data.ModelNode

shouldSpawnThread

public boolean shouldSpawnThread()
Overrides:
shouldSpawnThread in class harmonic.mz.data.ShapeNode

validateAttribs

public void validateAttribs()
Overrides:
validateAttribs in class harmonic.mz.data.ShapeNode

validateGeometry

public void validateGeometry()
Overrides:
validateGeometry in class harmonic.mz.data.ShapeNode

fastGeometry

public harmonic.meshGeom.geom.Geom fastGeometry(harmonic.meshGeom.geom.ArrayGeom geom)

createSurface

public harmonic.meshGeom.geom.IndexedTriangleArrayGeom createSurface()

atomAtPart

public Atom atomAtPart(harmonic.viewer3D.PaintStruct p,
                       int itri,
                       harmonic.meshGeom.math.Pnt3f pickedPoint)
Description copied from class: VVM_Shape
Used by the picking system. Return atom reference or null

Overrides:
atomAtPart in class VVM_Shape

getDomains

public java.lang.String[] getDomains()
Description copied from class: VVM_RepShape
Return a list of domains used by this class

Overrides:
getDomains in class VVM_RepShape

getElementProps

public java.util.Vector getElementProps(java.lang.String domainType)
Description copied from class: VVM_RepShape
Return vector of meta data objects for the domain. The meta data objects are sub classes of the ElementProperty class

Overrides:
getElementProps in class VVM_RepShape

getElementDataTable

public harmonic.mz.data.TableNode getElementDataTable(java.lang.String domainType)
Description copied from class: VVM_RepShape
Like getElementProps() except return the ElementListNode object at the domain

Overrides:
getElementDataTable in class VVM_RepShape