JmolSceneGenerator
class PyMOLScene extends java.lang.Object implements JmolSceneGenerator
Modifier and Type | Field | Description |
---|---|---|
private javajs.util.Lst<java.lang.Integer> |
atomColorList |
|
private int |
baseAtomIndex |
|
private int |
baseModelIndex |
|
private int |
bgRgb |
|
private BS |
bsAtoms |
|
private BS |
bsCartoon |
|
private BS |
bsCarve |
|
(package private) BS |
bsHidden |
|
(package private) BS |
bsHydrogen |
|
(package private) BS |
bsLabeled |
|
private BS |
bsLineBonds |
|
(package private) BS |
bsNonbonded |
|
(package private) BS |
bsNoSurface |
|
(package private) BS |
bsNucleic |
|
private BS |
bsStickBonds |
|
private BS |
bsUniqueBonds |
|
private int |
cartoonColor |
|
private boolean |
cartoonLadderMode |
|
private boolean |
cartoonRockets |
|
private float |
cartoonTranslucency |
|
private int[] |
cartoonTypes |
|
private short[] |
colixes |
|
(package private) int |
currentAtomSetIndex |
|
(package private) boolean |
doCache |
|
private int |
dotColor |
|
private JmolObject |
frameObj |
|
private java.util.Map<java.lang.String,PyMOLGroup> |
groups |
|
private boolean |
haveNucleicLadder |
|
private boolean |
haveScenes |
|
private java.util.Map<java.lang.String,int[]> |
htAtomMap |
|
private java.util.Map<java.lang.String,BS> |
htCarveSets |
|
private java.util.Map<java.lang.String,BS> |
htDefinedAtoms |
|
private java.util.Map<java.lang.String,java.lang.Boolean> |
htHiddenObjects |
|
private java.util.Map<java.lang.String,MeasurementData[]> |
htMeasures |
|
private java.util.Map<java.lang.String,BS> |
htObjectAtoms |
|
private java.util.Map<java.lang.String,java.lang.String> |
htObjectGroups |
|
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>>> |
htObjectSettings |
|
private java.util.Map<java.lang.Float,BS> |
htSpacefill |
|
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>>> |
htStateSettings |
|
private javajs.util.Lst<JmolObject> |
jmolObjects |
|
private int |
labelColor |
|
private int |
labelFontId |
|
private javajs.util.P3 |
labelPosition |
|
private javajs.util.P3 |
labelPosition0 |
|
private java.util.Map<java.lang.Integer,Text> |
labels |
|
private float |
labelSize |
|
private static int[] |
MEAS_DIGITS |
|
(package private) java.lang.String |
mepList |
|
private float |
meshWidth |
|
private javajs.util.Lst<java.lang.String> |
moleculeNames |
|
private boolean[] |
newChain |
|
private float |
nonbondedSize |
|
private float |
nonbondedTranslucency |
|
private boolean |
objectHidden |
|
private java.util.Map<java.lang.String,java.lang.Object[]> |
objectInfo |
|
private java.lang.String |
objectJmolName |
|
private java.lang.String |
objectName |
|
private java.lang.String |
objectNameID |
|
private java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> |
objectSettings |
|
private int |
objectType |
|
private java.util.Map<java.lang.String,java.lang.Boolean> |
occludedObjects |
|
private javajs.util.P3 |
ptTemp |
|
private int |
pymolVersion |
|
private float[] |
radii |
|
private PymolAtomReader |
reader |
|
private int |
ribbonColor |
|
private float |
ribbonTranslucency |
|
private int[] |
sequenceNumbers |
|
private javajs.util.Lst<java.lang.Object> |
settings |
|
private boolean |
solventAccessible |
|
private int |
sphereColor |
|
private float |
sphereScale |
|
private float |
sphereTranslucency |
|
private java.util.Map<java.lang.String,BS> |
ssMapAtom |
|
private int |
stateCount |
|
private java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> |
stateSettings |
|
private float |
stickTranslucency |
|
private int |
surfaceColor |
|
(package private) java.lang.String |
surfaceInfoName |
|
private int |
surfaceMode |
|
private int |
thisState |
|
private float |
transparency |
|
private int[] |
uniqueIDs |
|
private java.util.Map<java.lang.Integer,java.lang.Integer> |
uniqueList |
|
private java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> |
uniqueSettings |
|
private Viewer |
vwr |
Constructor | Description |
---|---|
PyMOLScene(PymolAtomReader reader,
Viewer vwr,
javajs.util.Lst<java.lang.Object> settings,
java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> uniqueSettings,
int pymolVersion,
boolean haveScenes,
int baseAtomIndex,
int baseModelIndex,
boolean doCache,
java.lang.String filePath) |
Modifier and Type | Method | Description |
---|---|---|
(package private) java.lang.String |
addCGO(javajs.util.Lst<java.lang.Object> data,
int color) |
|
(package private) PyMOLGroup |
addGroup(javajs.util.Lst<java.lang.Object> object,
java.lang.String parent,
int type,
BS bsAtoms) |
Create a hierarchical list of named groups as generally seen on the PyMOL
app's right-hand object menu.
|
(package private) JmolObject |
addIsosurface(java.lang.String objectName) |
|
private JmolObject |
addJmolObject(int id,
BS bsAtoms,
java.lang.Object info) |
|
(package private) void |
addLabel(int atomIndex,
int uniqueID,
int atomColor,
float[] labelPos,
java.lang.String label) |
|
(package private) boolean |
addMeasurements(MeasurementData[] mdList,
int nCoord,
javajs.util.Lst<java.lang.Object> list,
BS bsReps,
int color,
javajs.util.Lst<java.lang.Object> offsets,
boolean haveLabels) |
|
(package private) void |
addMesh(int tok,
javajs.util.Lst<java.lang.Object> obj,
java.lang.String objName,
boolean isMep) |
|
private JmolObject |
addObject(JmolObject obj) |
|
private void |
addSetting(int key,
int type,
java.lang.Object val) |
|
(package private) boolean |
booleanSetting(int i) |
|
(package private) void |
buildScene(java.lang.String name,
javajs.util.Lst<java.lang.Object> thisScene,
java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> htObjNames,
java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> htSecrets) |
Build a scene at file reading time.
|
private void |
checkNucleicObject(BS bs,
boolean isTrace) |
|
private void |
cleanSingletons(BS bs) |
PyMOL does not display cartoons or traces for single-residue runs.
|
private void |
clearReaderData() |
|
private int |
colorSetting(int i) |
|
private void |
createCartoonObject(java.lang.String key,
int sizeID) |
|
private void |
createPuttyObject(BS bs) |
"Putty" shapes scaled in a variety of ways.
|
private void |
createRibbonObject(BS bs) |
PyMOL "ribbons" could be Jmol backbone or trace, depending upon the value
of PyMOL.ribbon_sampling.
|
private void |
createShapeObject(int shapeID,
BS bs) |
Create JmolObjects for each shape.
|
(package private) void |
createShapeObjects(BS[] reps,
boolean allowSurface,
int ac0,
int ac) |
create all objects for a given molecule or scene
|
private void |
createSpacefillObjects() |
Create a BALLS JmolObject for each radius.
|
private void |
createTraceObject(BS bs) |
trace, or cartoon in the case of cartoon ladders.
|
private void |
defineAtoms(java.lang.String name,
BS bs) |
|
(package private) void |
ensureCapacity(int n) |
|
private void |
finalizeObjects() |
Finally, we turn each JmolObject into its Jmol equivalent.
|
private void |
finalizeUniqueBonds() |
|
(package private) void |
finalizeVisibility() |
Create group JmolObjects, and set hierarchical visibilities
|
private java.lang.String |
fixName(java.lang.String name) |
|
private void |
fixReps(BS[] reps) |
|
(package private) float |
floatSetting(int i) |
|
private void |
generateColors(java.lang.Object[] colors) |
Set PyMOL "atom-wise" colors -- the colors that are defined
initially as element colors but possibly set with the PyMOL 'color'
command and are used when representation colors (cartoon, dots, etc.)
are not defined (-1).
|
void |
generateScene(java.util.Map<java.lang.String,java.lang.Object> scene) |
Generate the saved scene using file settings preserved here and
scene-specific information including frame, view, colors, visibilities,
.
|
private void |
generateShapes(java.lang.Object[] reps) |
Create all Jmol shape objects.
|
private void |
generateVisibilities(java.util.Map<java.lang.String,java.lang.Object> vis) |
Hide everything, then just make visible the sets of
atoms specified in the visibility (i.e.
|
private BS |
getBS(javajs.util.Lst<java.lang.Object> list) |
|
private void |
getBsAtoms(javajs.util.Lst<java.lang.Object> list,
int[] atomMap,
BS bs) |
|
(package private) short |
getColix(int colorIndex,
float translucency) |
|
(package private) PyMOLGroup |
getGroup(java.lang.String name) |
|
private java.lang.String |
getJmolName(java.lang.String name) |
|
private JmolObject |
getJmolObject(int id,
BS bsAtoms,
java.lang.Object info) |
|
(package private) java.lang.String |
getObjectID(java.lang.String name) |
|
(package private) javajs.util.Lst<java.lang.Object> |
getObjectSetting(int i) |
|
private void |
getObjectSettings() |
|
private int |
getObjectType(java.lang.String name) |
|
private float[] |
getPymolView(javajs.util.Lst<java.lang.Object> view,
boolean isViewObj) |
adds depth_cue, fog, and fog_start
|
private BS |
getSelectionAtoms(javajs.util.Lst<java.lang.Object> molecules,
int istate,
BS bs) |
Add selected atoms to a growing bit set.
|
private javajs.util.Lst<java.lang.Object> |
getSetting(int i) |
|
(package private) BS |
getSSMapAtom(java.lang.String ssType) |
|
(package private) float |
getUniqueFloatDef(int id,
int key,
float defaultValue) |
|
(package private) javajs.util.P3 |
getUniquePoint(int id,
int key,
javajs.util.P3 pt) |
|
(package private) javajs.util.SB |
getViewScript(javajs.util.Lst<java.lang.Object> view) |
|
(package private) float |
globalSetting(int i) |
|
private void |
listToSettings(javajs.util.Lst<java.lang.Object> list,
java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> objectSettings) |
|
(package private) boolean |
needSelections() |
|
private Text |
newTextLabel(java.lang.String label,
float[] labelOffset,
int colorIndex,
int fontID,
float fontSize) |
|
(package private) void |
offsetObjects() |
|
private javajs.util.P3 |
pointSetting(int i) |
|
(package private) void |
processSelection(javajs.util.Lst<java.lang.Object> selection) |
process the selection sets (sele), (...)
|
private void |
selectAllAtoms(javajs.util.Lst<java.lang.Object> obj,
int istate,
BS bs) |
Collect all the atoms specified by an object state into a bit set.
|
(package private) void |
setAtomColor(int atomColor) |
|
(package private) java.util.Map<java.lang.String,java.lang.Object> |
setAtomDefs() |
|
(package private) void |
setAtomInfo(int[] uniqueIDs,
int[] cartoonTypes,
int[] sequenceNumbers,
boolean[] newChain,
float[] radii) |
|
(package private) BS |
setAtomMap(int[] atomMap,
int ac0) |
|
(package private) void |
setBondParameters(Bond b,
int modelIndex,
float rad,
float pymolValence,
int argb,
float trans) |
used in PyMOL reader to set unique bond settings and for valence
|
(package private) void |
setCarveSets(java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> htObjNames) |
|
(package private) void |
setFrameObject(int type,
java.lang.Object info) |
|
private void |
setGroupVisibilities() |
|
private void |
setGroupVisible(PyMOLGroup g,
boolean parentVis) |
Iterate through groups, setting visibility flags.
|
(package private) float[] |
setLabelPosition(javajs.util.P3 offset,
float[] labelPos) |
|
(package private) void |
setReaderObjectInfo(java.lang.String name,
int type,
java.lang.String groupName,
boolean isHidden,
javajs.util.Lst<java.lang.Object> listObjSettings,
javajs.util.Lst<java.lang.Object> listStateSettings,
java.lang.String ext) |
|
(package private) void |
setReaderObjects() |
|
private void |
setSceneObject(java.lang.String name,
int istate) |
Set scene object/state-specific global fields and
settings based on the name and state or stored values
from when the file was loaded.
|
(package private) void |
setStateCount(int stateCount) |
|
(package private) void |
setUniqueBond(int index,
int uniqueID) |
|
(package private) void |
setUniqueBonds(BS bsBonds,
boolean isSticks) |
|
private JmolObject |
setUniqueObjects(int shape,
BS bs,
int setColor,
int color,
int setTrans,
float trans,
int setSize,
float size,
float f) |
|
private void |
setVersionSettings() |
Attempt to adjust for PyMOL versions.
|
(package private) java.lang.String |
stringSetting(int i) |
private Viewer vwr
private int pymolVersion
BS bsHidden
BS bsNucleic
BS bsNonbonded
BS bsLabeled
BS bsHydrogen
BS bsNoSurface
private java.util.Map<java.lang.Float,BS> htSpacefill
private java.util.Map<java.lang.String,BS> ssMapAtom
private javajs.util.Lst<java.lang.Integer> atomColorList
private java.util.Map<java.lang.String,java.lang.Boolean> occludedObjects
private java.util.Map<java.lang.Integer,Text> labels
private short[] colixes
private JmolObject frameObj
private java.util.Map<java.lang.String,PyMOLGroup> groups
private java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> objectSettings
private BS bsCartoon
private java.util.Map<java.lang.String,BS> htCarveSets
private java.util.Map<java.lang.String,BS> htDefinedAtoms
private java.util.Map<java.lang.String,java.lang.Boolean> htHiddenObjects
private javajs.util.Lst<java.lang.String> moleculeNames
private javajs.util.Lst<JmolObject> jmolObjects
private java.util.Map<java.lang.String,int[]> htAtomMap
private java.util.Map<java.lang.String,BS> htObjectAtoms
private java.util.Map<java.lang.String,java.lang.String> htObjectGroups
private java.util.Map<java.lang.String,MeasurementData[]> htMeasures
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>>> htObjectSettings
private java.util.Map<java.lang.String,java.lang.Object[]> objectInfo
private javajs.util.Lst<java.lang.Object> settings
private java.util.Map<java.lang.String,java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>>> htStateSettings
private java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> stateSettings
private java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> uniqueSettings
private java.util.Map<java.lang.Integer,java.lang.Integer> uniqueList
private BS bsUniqueBonds
private int bgRgb
private int dotColor
private int surfaceMode
private int surfaceColor
private int cartoonColor
private int ribbonColor
private int sphereColor
private int labelFontId
private int labelColor
private float cartoonTranslucency
private float ribbonTranslucency
private float labelSize
private float meshWidth
private float nonbondedSize
private float nonbondedTranslucency
private float sphereScale
private float sphereTranslucency
private float stickTranslucency
private float transparency
private boolean cartoonLadderMode
private boolean cartoonRockets
private boolean haveNucleicLadder
private javajs.util.P3 labelPosition
private javajs.util.P3 labelPosition0
private java.lang.String objectName
private java.lang.String objectNameID
private java.lang.String objectJmolName
private int objectType
private BS bsAtoms
private boolean objectHidden
private PymolAtomReader reader
private int[] uniqueIDs
private int[] cartoonTypes
private int[] sequenceNumbers
private boolean[] newChain
private float[] radii
private int baseModelIndex
private int baseAtomIndex
private int stateCount
java.lang.String mepList
boolean doCache
private boolean haveScenes
private BS bsCarve
private boolean solventAccessible
private BS bsLineBonds
private BS bsStickBonds
private int thisState
int currentAtomSetIndex
java.lang.String surfaceInfoName
private final javajs.util.P3 ptTemp
private static final int[] MEAS_DIGITS
PyMOLScene(PymolAtomReader reader, Viewer vwr, javajs.util.Lst<java.lang.Object> settings, java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> uniqueSettings, int pymolVersion, boolean haveScenes, int baseAtomIndex, int baseModelIndex, boolean doCache, java.lang.String filePath)
private void clearReaderData()
void setUniqueBond(int index, int uniqueID)
void setStateCount(int stateCount)
private int colorSetting(int i)
private javajs.util.P3 pointSetting(int i)
void ensureCapacity(int n)
void setReaderObjectInfo(java.lang.String name, int type, java.lang.String groupName, boolean isHidden, javajs.util.Lst<java.lang.Object> listObjSettings, javajs.util.Lst<java.lang.Object> listStateSettings, java.lang.String ext)
private void listToSettings(javajs.util.Lst<java.lang.Object> list, java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> objectSettings)
private void getObjectSettings()
void setAtomInfo(int[] uniqueIDs, int[] cartoonTypes, int[] sequenceNumbers, boolean[] newChain, float[] radii)
private void setSceneObject(java.lang.String name, int istate)
name
- istate
- void buildScene(java.lang.String name, javajs.util.Lst<java.lang.Object> thisScene, java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> htObjNames, java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> htSecrets)
name
- thisScene
- htObjNames
- htSecrets
- public void generateScene(java.util.Map<java.lang.String,java.lang.Object> scene)
generateScene
in interface JmolSceneGenerator
scene
- private void generateColors(java.lang.Object[] colors)
colors
- void processSelection(javajs.util.Lst<java.lang.Object> selection)
selection
- private BS getSelectionAtoms(javajs.util.Lst<java.lang.Object> molecules, int istate, BS bs)
molecules
- istate
- bs
- private void selectAllAtoms(javajs.util.Lst<java.lang.Object> obj, int istate, BS bs)
obj
- istate
- 0 for "all states"bs
- private void generateVisibilities(java.util.Map<java.lang.String,java.lang.Object> vis)
vis
- private void generateShapes(java.lang.Object[] reps)
reps
- private BS getBS(javajs.util.Lst<java.lang.Object> list)
private void getBsAtoms(javajs.util.Lst<java.lang.Object> list, int[] atomMap, BS bs)
void setReaderObjects()
private void finalizeObjects()
void offsetObjects()
private JmolObject getJmolObject(int id, BS bsAtoms, java.lang.Object info)
private JmolObject addJmolObject(int id, BS bsAtoms, java.lang.Object info)
private float[] getPymolView(javajs.util.Lst<java.lang.Object> view, boolean isViewObj)
view
- isViewObj
- float globalSetting(int i)
PyMOLGroup addGroup(javajs.util.Lst<java.lang.Object> object, java.lang.String parent, int type, BS bsAtoms)
object
- parent
- type
- bsAtoms
- PyMOLGroup getGroup(java.lang.String name)
void finalizeVisibility()
void setCarveSets(java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> htObjNames)
private void setGroupVisibilities()
private void defineAtoms(java.lang.String name, BS bs)
private java.lang.String getJmolName(java.lang.String name)
void createShapeObjects(BS[] reps, boolean allowSurface, int ac0, int ac)
reps
- allowSurface
- ac0
- > 0 for a molecule; -1 for a sceneac
- void addLabel(int atomIndex, int uniqueID, int atomColor, float[] labelPos, java.lang.String label)
float getUniqueFloatDef(int id, int key, float defaultValue)
javajs.util.P3 getUniquePoint(int id, int key, javajs.util.P3 pt)
javajs.util.Lst<java.lang.Object> getObjectSetting(int i)
boolean booleanSetting(int i)
float floatSetting(int i)
java.lang.String stringSetting(int i)
private javajs.util.Lst<java.lang.Object> getSetting(int i)
float[] setLabelPosition(javajs.util.P3 offset, float[] labelPos)
java.lang.String addCGO(javajs.util.Lst<java.lang.Object> data, int color)
boolean addMeasurements(MeasurementData[] mdList, int nCoord, javajs.util.Lst<java.lang.Object> list, BS bsReps, int color, javajs.util.Lst<java.lang.Object> offsets, boolean haveLabels)
javajs.util.SB getViewScript(javajs.util.Lst<java.lang.Object> view)
short getColix(int colorIndex, float translucency)
void setAtomColor(int atomColor)
void setFrameObject(int type, java.lang.Object info)
private java.lang.String fixName(java.lang.String name)
java.lang.String getObjectID(java.lang.String name)
private int getObjectType(java.lang.String name)
BS setAtomMap(int[] atomMap, int ac0)
private Text newTextLabel(java.lang.String label, float[] labelOffset, int colorIndex, int fontID, float fontSize)
private void setVersionSettings()
private void addSetting(int key, int type, java.lang.Object val)
private void fixReps(BS[] reps)
private void cleanSingletons(BS bs)
bs
- private void createShapeObject(int shapeID, BS bs)
shapeID
- bs
- private JmolObject setUniqueObjects(int shape, BS bs, int setColor, int color, int setTrans, float trans, int setSize, float size, float f)
private void createSpacefillObjects()
private void createTraceObject(BS bs)
bs
- private void checkNucleicObject(BS bs, boolean isTrace)
private void createPuttyObject(BS bs)
bs
- private void createRibbonObject(BS bs)
bs
- private void createCartoonObject(java.lang.String key, int sizeID)
private JmolObject addObject(JmolObject obj)
private void setGroupVisible(PyMOLGroup g, boolean parentVis)
g
- parentVis
- BS getSSMapAtom(java.lang.String ssType)
java.util.Map<java.lang.String,java.lang.Object> setAtomDefs()
boolean needSelections()
void setUniqueBonds(BS bsBonds, boolean isSticks)
private void finalizeUniqueBonds()
void setBondParameters(Bond b, int modelIndex, float rad, float pymolValence, int argb, float trans)
modelIndex
- b
- rad
- pymolValence
- 1 for "show multiple bonds"argb
- trans
- void addMesh(int tok, javajs.util.Lst<java.lang.Object> obj, java.lang.String objName, boolean isMep)
JmolObject addIsosurface(java.lang.String objectName)