class PyMOLScene extends java.lang.Object implements JmolSceneGenerator
Modifier and Type | Field and 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 static 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 and 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 and 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)
Create a hierarchical list of named groups as generally seen on the PyMOL
app's right-hand object menu.
|
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,
javajs.util.Lst<java.lang.Object> labelOffset,
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) |
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() |
(package private) static int |
colorSetting(javajs.util.Lst<java.lang.Object> c) |
(package private) static int |
colorSettingClamped(javajs.util.Lst<java.lang.Object> c) |
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) |
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 static java.lang.String |
fixName(java.lang.String name) |
private void |
fixReps(BS[] reps) |
(package private) static float |
floatAt(javajs.util.Lst<java.lang.Object> list,
int i) |
(package private) static float[] |
floatsAt(javajs.util.Lst<java.lang.Object> a,
int pt,
float[] data,
int len) |
(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) static int |
getColorPt(java.lang.Object o) |
private PyMOLGroup |
getGroup(java.lang.String name) |
private static 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) |
(package private) static int |
intAt(javajs.util.Lst<java.lang.Object> list,
int i) |
(package private) static javajs.util.Lst<java.lang.Object> |
listAt(javajs.util.Lst<java.lang.Object> list,
int i) |
(package private) static java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> |
listToMap(javajs.util.Lst<java.lang.Object> list)
return a map of lists of the type: [ [name1,...], [name2,...], ...]
|
private static void |
listToSettings(javajs.util.Lst<java.lang.Object> list,
java.util.Map<java.lang.Integer,javajs.util.Lst<java.lang.Object>> objectSettings) |
boolean |
needSelections() |
private Text |
newTextLabel(java.lang.String label,
float[] labelOffset,
int colorIndex,
int fontID,
float fontSize) |
(package private) void |
offsetObjects() |
(package private) static javajs.util.P3 |
pointAt(javajs.util.Lst<java.lang.Object> list,
int i,
javajs.util.P3 pt) |
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) |
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) static 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) |
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 static 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)
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 static 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
- 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)
static int getColorPt(java.lang.Object o)
static int intAt(javajs.util.Lst<java.lang.Object> list, int i)
static int colorSetting(javajs.util.Lst<java.lang.Object> c)
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)
object
- parent
- type
- private 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 static 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, javajs.util.Lst<java.lang.Object> labelOffset, 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)
static javajs.util.P3 pointAt(javajs.util.Lst<java.lang.Object> list, int i, javajs.util.P3 pt)
static float floatAt(javajs.util.Lst<java.lang.Object> list, int i)
static float[] floatsAt(javajs.util.Lst<java.lang.Object> a, int pt, float[] data, int len)
static javajs.util.Lst<java.lang.Object> listAt(javajs.util.Lst<java.lang.Object> list, int i)
static 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)
static int colorSettingClamped(javajs.util.Lst<java.lang.Object> c)
void setAtomColor(int atomColor)
void setFrameObject(int type, java.lang.Object info)
private static 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)
static java.util.Map<java.lang.String,javajs.util.Lst<java.lang.Object>> listToMap(javajs.util.Lst<java.lang.Object> list)
list
- java.util.Map<java.lang.String,java.lang.Object> setAtomDefs()
public boolean needSelections()
public void setUniqueBonds(BS bsBonds, boolean isSticks)
private void finalizeUniqueBonds()
public 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
- public void addMesh(int tok, javajs.util.Lst<java.lang.Object> obj, java.lang.String objName, boolean isMep)
public JmolObject addIsosurface(java.lang.String objectName)