Constructor
#
new CrystVis(element, width, height)
An object providing a full interface to a renderer for crystallographic
models
Parameters:
Name |
Type |
Default |
Description |
element |
string
|
|
CSS-style identifier for the HTML element to
put the renderer in |
width |
int
|
0
|
Window width |
height |
int
|
0
|
Window height. If both this and width are
set to 0, the window fits its context and
automatically resizes with it |
Members
#
displayed :ModelView
#
highlightSelected :bool
Whether the selected atoms should be highlighted with auras
#
(readonly) model :Model
#
(readonly) modelList :Array
#
(readonly) modelName :String
Name of the currently loaded model
#
selected :ModelView
Methods
#
addPrimitive(p)
Add a primitive shape to the drawing
Parameters:
Name |
Type |
Description |
p |
THREE.Object3D
|
Primitive to add |
#
centerCamera(center, shift)
Center the camera on a given point
Parameters:
Name |
Type |
Description |
center |
Array.<float>
|
Point in model space that the orbiting camera
should be centred on and look at |
shift |
Array.<float>
|
Shift (in units of width/height of the canvas) with
which the center of the camera should be rendered with
respect to the center of the canvas |
#
deleteModel(name)
Erase a model from the recorded ones
Parameters:
Name |
Type |
Description |
name |
String
|
Name of the model to delete |
#
displayModel(name)
Parameters:
Name |
Type |
Default |
Description |
name |
String
|
null
|
Name of the model to display. If empty, just
clear the renderer window. |
#
getScreenshotData() → {String}
Recover a data URL of a PNG screenshot of the current scene
Returns:
A data URL of the PNG screenshot
-
Type
-
String
#
loadModels(contents, format, prefix, parameters) → {Object}
Load one or more atomic models from a file's contents
Parameters:
Name |
Type |
Default |
Description |
contents |
String
|
|
The contents of the structure file |
format |
String
|
cif
|
The file's format (cif, xyz, etc.). Default is cif. |
prefix |
String
|
null
|
Prefix to use when naming the models. Default is empty. |
parameters |
Object
|
|
Loading parameters:
supercell : supercell size (only used if the structure is periodic)
molecularCrystal : if true, try to make the model load completing molecules across periodic boundaries
useNMRActiveIsotopes : if true, all isotopes are set by default to the most common one with non-zero spin
vdwScaling : scale van der Waals radii by a constant factor
vdwElementScaling : table of per-element factors to scale VdW radii by
|
Returns:
Names of the models we tried to load, and values of true/false for successful loading or not
-
Type
-
Object
#
onAtomBox(callback)
Set a callback function for an event where a user drags a box around multiple atoms.
The function should take as arguments a ModelView including the atoms in the box:
function callback(view) {
...
}
Parameters:
Name |
Type |
Default |
Description |
callback |
function
|
null
|
Callback function for the event. Passing "null" restores default behaviour |
#
onAtomClick(callback, modifiers)
Set a callback function for an event where a user clicks on an atom. The
function should take as arguments the atom image for the clicked atom and
the event object:
function callback(atom, event) {
...
}
Parameters:
Name |
Type |
Default |
Description |
callback |
function
|
null
|
Callback function for the event. Passing "null" restores default behaviour |
modifiers |
int
|
|
Click event. Use the following flags to define it:
- CrystVis.LEFT_CLICK
- CrystVis.RIGHT_CLICK
- CrystVis.MIDDLE_CLICK
- CrystVis.CTRL_BUTTON
- CrystVis.ALT_BUTTON
- CrystVis.SHIFT_BUTTON
- CrystVis.CMD_BUTTON
For example, CrystVis.LEFT_CLICK + CrystVis.SHIFT_BUTTON
defines the event for a click while the Shift key is pressed. |
#
reloadModel(name, parameters)
Reload a model, possibly with new parameters
Parameters:
Name |
Type |
Description |
name |
String
|
Name of the model to reload. |
parameters |
Object
|
Loading parameters as in .loadModels() |
#
removePrimitive(p)
Remove a primitive shape from the drawing
Parameters:
Name |
Type |
Description |
p |
THREE.Object3D
|
Primitive to remove |