class PyMOLScene extends Object implements JmolSceneGenerator
Modifier and Type | Field and Description |
---|---|
private javajs.util.List<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 Map<String,PyMOLGroup> |
groups |
private boolean |
haveNucleicLadder |
private boolean |
haveScenes |
private Map<String,int[]> |
htAtomMap |
private Map<String,BS> |
htCarveSets |
private Map<String,BS> |
htDefinedAtoms |
private Map<String,Boolean> |
htHiddenObjects |
private Map<String,MeasurementData[]> |
htMeasures |
private Map<String,BS> |
htObjectAtoms |
private Map<String,String> |
htObjectGroups |
private Map<String,Map<Integer,javajs.util.List<Object>>> |
htObjectSettings |
private Map<Float,BS> |
htSpacefill |
private Map<String,Map<Integer,javajs.util.List<Object>>> |
htStateSettings |
private javajs.util.List<JmolObject> |
jmolObjects |
private int |
labelColor |
private int |
labelFontId |
private javajs.util.P3 |
labelPosition |
private javajs.util.P3 |
labelPosition0 |
private Map<Integer,Text> |
labels |
private float |
labelSize |
private static int[] |
MEAS_DIGITS |
(package private) String |
mepList |
private float |
meshWidth |
private javajs.util.List<String> |
moleculeNames |
private boolean[] |
newChain |
private float |
nonbondedSize |
private float |
nonbondedTranslucency |
private boolean |
objectHidden |
private Map<String,Object[]> |
objectInfo |
private String |
objectJmolName |
private String |
objectName |
private String |
objectNameID |
private Map<Integer,javajs.util.List<Object>> |
objectSettings |
private int |
objectType |
private Map<String,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.List<Object> |
settings |
private boolean |
solventAccessible |
private int |
sphereColor |
private float |
sphereScale |
private float |
sphereTranslucency |
private Map<String,BS> |
ssMapAtom |
private int |
stateCount |
private Map<Integer,javajs.util.List<Object>> |
stateSettings |
private float |
stickTranslucency |
private int |
surfaceColor |
(package private) String |
surfaceInfoName |
private int |
surfaceMode |
private int |
thisState |
private float |
transparency |
private int[] |
uniqueIDs |
private Map<Integer,Integer> |
uniqueList |
private Map<Integer,javajs.util.List<Object>> |
uniqueSettings |
private Viewer |
viewer |
Constructor and Description |
---|
PyMOLScene(PymolAtomReader reader,
Viewer viewer,
javajs.util.List<Object> settings,
Map<Integer,javajs.util.List<Object>> uniqueSettings,
int pymolVersion,
boolean haveScenes,
int baseAtomIndex,
int baseModelIndex,
boolean doCache,
String filePath) |
Modifier and Type | Method and Description |
---|---|
(package private) String |
addCGO(javajs.util.List<Object> data,
int color) |
(package private) PyMOLGroup |
addGroup(javajs.util.List<Object> object,
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(String objectName) |
private JmolObject |
addJmolObject(int id,
BS bsAtoms,
Object info) |
(package private) void |
addLabel(int atomIndex,
int uniqueID,
int atomColor,
javajs.util.List<Object> labelOffset,
String label) |
(package private) boolean |
addMeasurements(MeasurementData[] mdList,
int nCoord,
javajs.util.List<Object> list,
BS bsReps,
int color,
javajs.util.List<Object> offsets,
boolean haveLabels) |
void |
addMesh(int tok,
javajs.util.List<Object> obj,
String objName,
boolean isMep) |
private JmolObject |
addObject(JmolObject obj) |
private void |
addSetting(int key,
int type,
Object val) |
(package private) boolean |
booleanSetting(int i) |
(package private) void |
buildScene(String name,
javajs.util.List<Object> thisScene,
Map<String,javajs.util.List<Object>> htObjNames,
Map<String,javajs.util.List<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.List<Object> c) |
(package private) static int |
colorSettingClamped(javajs.util.List<Object> c) |
private void |
createCartoonObject(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 atomCount0,
int atomCount)
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(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 String |
fixName(String name) |
private void |
fixReps(BS[] reps) |
(package private) static float |
floatAt(javajs.util.List<Object> list,
int i) |
(package private) static float[] |
floatsAt(javajs.util.List<Object> a,
int pt,
float[] data,
int len) |
(package private) float |
floatSetting(int i) |
private void |
generateColors(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(Map<String,Object> scene)
Generate the saved scene using file settings preserved here and
scene-specific information including frame, view, colors, visibilities,
.
|
private void |
generateShapes(Object[] reps)
Create all Jmol shape objects.
|
private void |
generateVisibilities(Map<String,Object> vis)
Hide everything, then just make visible the sets of
atoms specified in the visibility (i.e.
|
private BS |
getBS(javajs.util.List<Object> list) |
private void |
getBsAtoms(javajs.util.List<Object> list,
int[] atomMap,
BS bs) |
(package private) short |
getColix(int colorIndex,
float translucency) |
(package private) static int |
getColorPt(Object o) |
private PyMOLGroup |
getGroup(String name) |
private static String |
getJmolName(String name) |
private JmolObject |
getJmolObject(int id,
BS bsAtoms,
Object info) |
(package private) String |
getObjectID(String name) |
(package private) javajs.util.List<Object> |
getObjectSetting(int i) |
private void |
getObjectSettings() |
private int |
getObjectType(String name) |
private float[] |
getPymolView(javajs.util.List<Object> view,
boolean isViewObj)
adds depth_cue, fog, and fog_start
|
private BS |
getSelectionAtoms(javajs.util.List<Object> molecules,
int istate,
BS bs)
Add selected atoms to a growing bit set.
|
private javajs.util.List<Object> |
getSetting(int i) |
(package private) BS |
getSSMapAtom(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.List<Object> view) |
(package private) float |
globalSetting(int i) |
(package private) static int |
intAt(javajs.util.List<Object> list,
int i) |
(package private) static javajs.util.List<Object> |
listAt(javajs.util.List<Object> list,
int i) |
(package private) static Map<String,javajs.util.List<Object>> |
listToMap(javajs.util.List<Object> list)
return a map of lists of the type: [ [name1,...], [name2,...], ...]
|
private static void |
listToSettings(javajs.util.List<Object> list,
Map<Integer,javajs.util.List<Object>> objectSettings) |
boolean |
needSelections() |
private Text |
newTextLabel(String label,
float[] labelOffset,
int colorIndex,
int fontID,
float fontSize) |
(package private) void |
offsetObjects() |
(package private) static javajs.util.P3 |
pointAt(javajs.util.List<Object> list,
int i,
javajs.util.P3 pt) |
private void |
selectAllAtoms(javajs.util.List<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) Map<String,Object> |
setAtomDefs() |
(package private) void |
setAtomInfo(int[] uniqueIDs,
int[] cartoonTypes,
int[] sequenceNumbers,
boolean[] newChain,
float[] radii) |
(package private) BS |
setAtomMap(int[] atomMap,
int atomCount0) |
(package private) void |
setCarveSets(Map<String,javajs.util.List<Object>> htObjNames) |
(package private) void |
setFrameObject(int type,
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(String name,
int type,
String groupName,
boolean isHidden,
javajs.util.List<Object> listObjSettings,
javajs.util.List<Object> listStateSettings,
String ext) |
(package private) void |
setReaderObjects() |
private void |
setSceneObject(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) String |
stringSetting(int i) |
private Viewer viewer
private int pymolVersion
BS bsHidden
BS bsNucleic
BS bsNonbonded
BS bsLabeled
BS bsHydrogen
BS bsNoSurface
private javajs.util.List<Integer> atomColorList
private short[] colixes
private JmolObject frameObj
private Map<String,PyMOLGroup> groups
private BS bsCartoon
private javajs.util.List<String> moleculeNames
private javajs.util.List<JmolObject> jmolObjects
private Map<String,MeasurementData[]> htMeasures
private javajs.util.List<Object> settings
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 String objectName
private String objectNameID
private 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
String mepList
boolean doCache
private boolean haveScenes
private BS bsCarve
private boolean solventAccessible
private BS bsLineBonds
private BS bsStickBonds
private int thisState
int currentAtomSetIndex
String surfaceInfoName
private static final javajs.util.P3 ptTemp
private static final int[] MEAS_DIGITS
private void clearReaderData()
void setUniqueBond(int index, int uniqueID)
void setStateCount(int stateCount)
void setReaderObjectInfo(String name, int type, String groupName, boolean isHidden, javajs.util.List<Object> listObjSettings, javajs.util.List<Object> listStateSettings, String ext)
private static void listToSettings(javajs.util.List<Object> list, Map<Integer,javajs.util.List<Object>> objectSettings)
private void getObjectSettings()
void setAtomInfo(int[] uniqueIDs, int[] cartoonTypes, int[] sequenceNumbers, boolean[] newChain, float[] radii)
private void setSceneObject(String name, int istate)
name
- istate
- void buildScene(String name, javajs.util.List<Object> thisScene, Map<String,javajs.util.List<Object>> htObjNames, Map<String,javajs.util.List<Object>> htSecrets)
name
- thisScene
- htObjNames
- htSecrets
- public void generateScene(Map<String,Object> scene)
generateScene
in interface JmolSceneGenerator
scene
- private void generateColors(Object[] colors)
colors
- private BS getSelectionAtoms(javajs.util.List<Object> molecules, int istate, BS bs)
molecules
- istate
- bs
- private void selectAllAtoms(javajs.util.List<Object> obj, int istate, BS bs)
obj
- istate
- 0 for "all states"bs
- private void generateVisibilities(Map<String,Object> vis)
vis
- private void generateShapes(Object[] reps)
reps
- static int getColorPt(Object o)
static int intAt(javajs.util.List<Object> list, int i)
static int colorSetting(javajs.util.List<Object> c)
void setReaderObjects()
private void finalizeObjects()
void offsetObjects()
private JmolObject getJmolObject(int id, BS bsAtoms, Object info)
private JmolObject addJmolObject(int id, BS bsAtoms, Object info)
private float[] getPymolView(javajs.util.List<Object> view, boolean isViewObj)
view
- isViewObj
- float globalSetting(int i)
PyMOLGroup addGroup(javajs.util.List<Object> object, String parent, int type)
object
- parent
- type
- private PyMOLGroup getGroup(String name)
void finalizeVisibility()
private void setGroupVisibilities()
void createShapeObjects(BS[] reps, boolean allowSurface, int atomCount0, int atomCount)
reps
- allowSurface
- atomCount0
- > 0 for a molecule; -1 for a sceneatomCount
- void addLabel(int atomIndex, int uniqueID, int atomColor, javajs.util.List<Object> labelOffset, String label)
float getUniqueFloatDef(int id, int key, float defaultValue)
javajs.util.P3 getUniquePoint(int id, int key, javajs.util.P3 pt)
javajs.util.List<Object> getObjectSetting(int i)
boolean booleanSetting(int i)
float floatSetting(int i)
String stringSetting(int i)
private javajs.util.List<Object> getSetting(int i)
static javajs.util.P3 pointAt(javajs.util.List<Object> list, int i, javajs.util.P3 pt)
static float floatAt(javajs.util.List<Object> list, int i)
static float[] floatsAt(javajs.util.List<Object> a, int pt, float[] data, int len)
static float[] setLabelPosition(javajs.util.P3 offset, float[] labelPos)
boolean addMeasurements(MeasurementData[] mdList, int nCoord, javajs.util.List<Object> list, BS bsReps, int color, javajs.util.List<Object> offsets, boolean haveLabels)
javajs.util.SB getViewScript(javajs.util.List<Object> view)
short getColix(int colorIndex, float translucency)
static int colorSettingClamped(javajs.util.List<Object> c)
void setAtomColor(int atomColor)
void setFrameObject(int type, Object info)
private int getObjectType(String name)
BS setAtomMap(int[] atomMap, int atomCount0)
private Text newTextLabel(String label, float[] labelOffset, int colorIndex, int fontID, float fontSize)
private void setVersionSettings()
private void addSetting(int key, int type, 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(String key, int sizeID)
private JmolObject addObject(JmolObject obj)
private void setGroupVisible(PyMOLGroup g, boolean parentVis)
g
- parentVis
- static Map<String,javajs.util.List<Object>> listToMap(javajs.util.List<Object> list)
list
- public boolean needSelections()
public void setUniqueBonds(BS bsBonds, boolean isSticks)
private void finalizeUniqueBonds()
public JmolObject addIsosurface(String objectName)