@ccp-nc/crystvis-js
Version:
A Three.js based crystallographic visualisation tool
3 lines • 40.4 kB
HTML
<html lang="en" style="font-size:16px"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Class: Model</title><!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--><script src="scripts/third-party/hljs.js" defer="defer"></script><script src="scripts/third-party/hljs-line-num.js" defer="defer"></script><script src="scripts/third-party/popper.js" defer="defer"></script><script src="scripts/third-party/tippy.js" defer="defer"></script><script src="scripts/third-party/tocbot.min.js"></script><script>var baseURL="/",locationPathname="";baseURL=(locationPathname=document.location.pathname).substr(0,locationPathname.lastIndexOf("/")+1)</script><link rel="stylesheet" href="styles/clean-jsdoc-theme.min.css"><svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="display:none"><defs><symbol id="copy-icon" viewbox="0 0 488.3 488.3"><g><path d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124 C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124 c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z"/><path d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227 c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6 V38.6C439.65,17.3,422.35,0,401.05,0z"/></g></symbol><symbol id="search-icon" viewBox="0 0 512 512"><g><g><path d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474 c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323 c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848 S326.847,409.323,225.474,409.323z"/></g></g><g><g><path d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328 c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z"/></g></g></symbol><symbol id="font-size-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11.246 15H4.754l-2 5H.6L7 4h2l6.4 16h-2.154l-2-5zm-.8-2L8 6.885 5.554 13h4.892zM21 12.535V12h2v8h-2v-.535a4 4 0 1 1 0-6.93zM19 18a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol><symbol id="add-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"/></symbol><symbol id="minus-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M5 11h14v2H5z"/></symbol><symbol id="dark-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M10 7a7 7 0 0 0 12 4.9v.1c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2h.1A6.979 6.979 0 0 0 10 7zm-6 5a8 8 0 0 0 15.062 3.762A9 9 0 0 1 8.238 4.938 7.999 7.999 0 0 0 4 12z"/></symbol><symbol id="light-theme-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 18a6 6 0 1 1 0-12 6 6 0 0 1 0 12zm0-2a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM11 1h2v3h-2V1zm0 19h2v3h-2v-3zM3.515 4.929l1.414-1.414L7.05 5.636 5.636 7.05 3.515 4.93zM16.95 18.364l1.414-1.414 2.121 2.121-1.414 1.414-2.121-2.121zm2.121-14.85l1.414 1.415-2.121 2.121-1.414-1.414 2.121-2.121zM5.636 16.95l1.414 1.414-2.121 2.121-1.414-1.414 2.121-2.121zM23 11v2h-3v-2h3zM4 11v2H1v-2h3z"/></symbol><symbol id="reset-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M18.537 19.567A9.961 9.961 0 0 1 12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10c0 2.136-.67 4.116-1.81 5.74L17 12h3a8 8 0 1 0-2.46 5.772l.997 1.795z"/></symbol><symbol id="down-icon" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"></path></symbol><symbol id="codepen-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M16.5 13.202L13 15.535v3.596L19.197 15 16.5 13.202zM14.697 12L12 10.202 9.303 12 12 13.798 14.697 12zM20 10.869L18.303 12 20 13.131V10.87zM19.197 9L13 4.869v3.596l3.5 2.333L19.197 9zM7.5 10.798L11 8.465V4.869L4.803 9 7.5 10.798zM4.803 15L11 19.131v-3.596l-3.5-2.333L4.803 15zM4 13.131L5.697 12 4 10.869v2.262zM2 9a1 1 0 0 1 .445-.832l9-6a1 1 0 0 1 1.11 0l9 6A1 1 0 0 1 22 9v6a1 1 0 0 1-.445.832l-9 6a1 1 0 0 1-1.11 0l-9-6A1 1 0 0 1 2 15V9z"/></symbol><symbol id="close-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 10.586l4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636z"/></symbol><symbol id="menu-icon" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z"/><path d="M3 4h18v2H3V4zm0 7h18v2H3v-2zm0 7h18v2H3v-2z"/></symbol></defs></svg></head><body data-theme="dark"><div class="sidebar-container"><div class="sidebar" id="sidebar"><div class="sidebar-items-container"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-modules"><div>Modules</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="lib_model.module_js.html">lib/model.js</a></div><div class="sidebar-section-children"><a href="lib_modelview.module_js.html">lib/modelview.js</a></div><div class="sidebar-section-children"><a href="lib_visualizer.module_js.html">lib/visualizer.js</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="lib_model.module_js-AtomImage.html">AtomImage</a></div><div class="sidebar-section-children"><a href="lib_model.module_js-BondImage.html">BondImage</a></div><div class="sidebar-section-children"><a href="lib_model.module_js-Model.html">Model</a></div><div class="sidebar-section-children"><a href="lib_modelview.module_js-ModelView.html">ModelView</a></div><div class="sidebar-section-children"><a href="lib_visualizer.module_js-CrystVis.html">CrystVis</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Events.html">Events</a></div><div class="sidebar-section-children"><a href="tutorial-Queries.html">Queries</a></div><div class="sidebar-section-children"><a href="tutorial-ThreejsMigration.html">ThreejsMigration</a></div></div></div></div></div><div class="navbar-container" id="VuAckcnZhf"><nav class="navbar"><div class="navbar-left-items"></div><div class="navbar-right-items"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div><nav></nav></nav></div><div class="toc-container"><div class="toc-content"><span class="bold">On this page</span><div id="eed4d2a0bfd64539bb9df78095dec881"></div></div></div><div class="body-wrapper"><div class="main-content"><div class="main-wrapper"><section><header><h1 id="Model-title" class="has-anchor"><span class="ancestors"><a href="lib_model.module_js.html">lib/model.js</a>~</span> Model</h1></header><article><div class="container-overview"><h3 class="name has-anchor" id="Model"><span class="type-signature"></span>new Model<span class="signature">(atoms, parameters)</span></h3><div class="description"><p>An object containing an Atomic structure and taking care of its periodic nature, allowing querying and selection, and so on.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>atoms</code></td><td class="type"><span class="param-type">crystcif.<wbr>Atoms</span></td><td class="description last"><p>Atomic structure, in crystcif's Atoms format</p></td></tr><tr><td class="name"><code>parameters</code></td><td class="type"><span class="param-type">Object</span></td><td class="description last"><p>Additional options:</p><ul><li><code>supercell</code></li><li><code>molecularCrystal</code> (if true, load full molecules in central unit cell)</li><li><code>useNMRActiveIsotopes</code> (if true, all isotopes are set by default to the most common one with non-zero spin)</li><li><code>vdwScaling</code> (scale van der Waals radii by a constant factor)</li><li><code>vdwElementScaling</code> (table of per-element factors to scale VdW radii by)</li></ul></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line917">line 917</a></li></ul></dd></div></dl></div><h2 id="members" class="subsection-title has-anchor">Members</h2><h3 class="name has-anchor" id="all"><span class="type-signature">(readonly) </span>all<span class="type-signature"> :ModelView</span></h3><div class="description"><p>ModelView containing all the atoms of the image</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">ModelView</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1233">line 1233</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="atoms"><span class="type-signature">(readonly) </span>atoms<span class="type-signature"> :Array.<AtomImage></span></h3><div class="description"><p>Atom images in this model</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<AtomImage></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1224">line 1224</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="axes"><span class="type-signature">(readonly) </span>axes<span class="type-signature"> :AxesMesh</span></h3><div class="description"><p>Graphical object representing the unit cell's axes</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">AxesMesh</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1242">line 1242</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="box"><span class="type-signature">(readonly) </span>box<span class="type-signature"> :BoxMesh</span></h3><div class="description"><p>Graphical object representing the unit cell's box</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">BoxMesh</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1251">line 1251</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="cell"><span class="type-signature">(readonly) </span>cell<span class="type-signature"> :Array.<Array></span></h3><div class="description"><p>Unit cell of the model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<Array></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1152">line 1152</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="crystalLabels"><span class="type-signature">(readonly) </span>crystalLabels<span class="type-signature"> :Array.<String></span></h3><div class="description"><p>Crystallographic labels of each atom</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<String></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1197">line 1197</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="info"><span class="type-signature">(readonly) </span>info<span class="type-signature"> :Object</span></h3><div class="description"><p>Additional information from the model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1170">line 1170</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="length"><span class="type-signature">(readonly) </span>length<span class="type-signature"> :int</span></h3><div class="description"><p>Number of atoms in this model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">int</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1107">line 1107</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="numbers"><span class="type-signature">(readonly) </span>numbers<span class="type-signature"> :Array.<int></span></h3><div class="description"><p>Atomic numbers in this model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<int></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1125">line 1125</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="pbc"><span class="type-signature">(readonly) </span>pbc<span class="type-signature"> :Array.<bool></span></h3><div class="description"><p>Periodic boundary conditions</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<bool></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1161">line 1161</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="periodic"><span class="type-signature">(readonly) </span>periodic<span class="type-signature"> :bool</span></h3><div class="description"><p>Whether this model is periodic in all three directions of space</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">bool</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1179">line 1179</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="positions"><span class="type-signature">(readonly) </span>positions<span class="type-signature"> :Array.<Array></span></h3><div class="description"><p>Coordinates of the atoms in this model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<Array></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1134">line 1134</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="renderer"><span class="type-signature"></span>renderer<span class="type-signature"> :Renderer</span></h3><div class="description"><p>Renderer used for this model's graphics</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Renderer</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1277">line 1277</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="scaledPositions"><span class="type-signature">(readonly) </span>scaledPositions<span class="type-signature"> :Array.<Array></span></h3><div class="description"><p>Fractional coordinates of the atoms in this model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<Array></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1143">line 1143</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="speciesIndices"><span class="type-signature">(readonly) </span>speciesIndices<span class="type-signature"> :Array.<int></span></h3><div class="description"><p>Indices of each atom by their species (e.g. C1, C2, H1, C3, H2, etc.)</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<int></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1188">line 1188</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="supercell"><span class="type-signature">(readonly) </span>supercell<span class="type-signature"> :Array.<int></span></h3><div class="description"><p>Shape of the supercell for this model</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<int></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1206">line 1206</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="supercellGrid"><span class="type-signature">(readonly) </span>supercellGrid<span class="type-signature"> :Array.<Array></span></h3><div class="description"><p>Full grid of origin coordinates of the cells making up the supercell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<Array></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1215">line 1215</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="symbols"><span class="type-signature">(readonly) </span>symbols<span class="type-signature"> :Array.<String></span></h3><div class="description"><p>Chemical symbols in this model's original cell</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Array.<String></span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1116">line 1116</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="vdwElementScaling"><span class="type-signature">(readonly) </span>vdwElementScaling<span class="type-signature"> :Object</span></h3><div class="description"><p>Table of scaling factors by element for Van der Waals radii</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">Object</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1269">line 1269</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="vdwScaling"><span class="type-signature">(readonly) </span>vdwScaling<span class="type-signature"> :float</span></h3><div class="description"><p>Global scaling factor for Van der Waals radii</p></div><div class="member-item-container flex"><strong>Type:</strong><ul><li><span class="param-type">float</span></li></ul></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1260">line 1260</a></li></ul></dd></div></dl><h2 id="methods" class="subsection-title has-anchor">Methods</h2><h3 class="name has-anchor" id="absToFrac"><span class="type-signature"></span>absToFrac<span class="signature">(x)</span><span class="type-signature"> → {Array.<float>}</span></h3><div class="description"><p>Convert absolute coordinates to fractional</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>x</code></td><td class="type"><span class="param-type">Array.<float></span></td><td class="description last"><p>Absolute coordinates</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1717">line 1717</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Fractional coordinates</p></div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Array.<float></span></dd></dl></div><h3 class="name has-anchor" id="addLink"><span class="type-signature"></span>addLink<span class="signature">(from, to, name, label, parameters)</span></h3><div class="description"><p>Add link drawn on model</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>from</code></td><td class="type"><span class="param-type">Atom</span> |<wbr> <span class="param-type">Array</span></td><td class="default"></td><td class="description last"><p>Starting point</p></td></tr><tr><td class="name"><code>to</code></td><td class="type"><span class="param-type">Atom</span> |<wbr> <span class="param-type">Array</span></td><td class="default"></td><td class="description last"><p>End point</p></td></tr><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="default">link</td><td class="description last"><p>Name to use for the link object</p></td></tr><tr><td class="name"><code>label</code></td><td class="type"><span class="param-type">String</span></td><td class="default">null</td><td class="description last"><p>Text label to add to the link</p></td></tr><tr><td class="name"><code>parameters</code></td><td class="type"><span class="param-type">Object</span></td><td class="default"></td><td class="description last"><p>Additional parameters (see LineMesh)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1360">line 1360</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="addSphere"><span class="type-signature"></span>addSphere<span class="signature">(center, radius, name, parameters)</span></h3><div class="description"><p>Add a sphere drawn on model</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>center</code></td><td class="type"><span class="param-type">Atom</span> |<wbr> <span class="param-type">Array</span></td><td class="default"></td><td class="description last"><p>Center of the sphere</p></td></tr><tr><td class="name"><code>radius</code></td><td class="type"><span class="param-type">float</span></td><td class="default"></td><td class="description last"><p>Radius of the sphere</p></td></tr><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="default">sphere</td><td class="description last"><p>Name to use for the sphere object</p></td></tr><tr><td class="name"><code>parameters</code></td><td class="type"><span class="param-type">Object</span></td><td class="default"></td><td class="description last"><p>Additional parameters (see EllipsoidMesh)</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1395">line 1395</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="clearGraphics"><span class="type-signature"></span>clearGraphics<span class="signature">()</span></h3><div class="description"><p>Remove all graphical objects</p></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1441">line 1441</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="deleteArray"><span class="type-signature"></span>deleteArray<span class="signature">(name)</span></h3><div class="description"><p>Delete an array from the underlying Atoms object</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>Name of the array to delete</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1344">line 1344</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="find"><span class="type-signature"></span>find<span class="signature">(query)</span><span class="type-signature"> → {ModelView}</span></h3><div class="description"><p>Find a group of atoms based on a given query and return as AtomImages</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>query</code></td><td class="type"><span class="param-type">Array</span></td><td class="description last"><p>A search query for atoms. Must use nested lists of types and arguments, and can use logic operators $and, $or and $xor.</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1768">line 1768</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>ModelView object for found atoms</p></div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">ModelView</span></dd></dl></div><h3 class="name has-anchor" id="fracToAbs"><span class="type-signature"></span>fracToAbs<span class="signature">(fx)</span><span class="type-signature"> → {Array.<float>}</span></h3><div class="description"><p>Convert fractional coordinates to absolute</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>fx</code></td><td class="type"><span class="param-type">Array.<float></span></td><td class="description last"><p>Fractional coordinates</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1700">line 1700</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Absolute coordinates</p></div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Array.<float></span></dd></dl></div><h3 class="name has-anchor" id="getArray"><span class="type-signature"></span>getArray<span class="signature">(name)</span><span class="type-signature"> → {Array}</span></h3><div class="description"><p>Retrieve an array from the underlying Atoms object</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>Name of the array to retrieve</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1327">line 1327</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Retrieved array</p></div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">Array</span></dd></dl></div><h3 class="name has-anchor" id="hasArray"><span class="type-signature"></span>hasArray<span class="signature">(name)</span><span class="type-signature"> → {bool}</span></h3><div class="description"><p>Check if an array exists in the underlying Atoms object</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>Name of the array to check</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1336">line 1336</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>Whether the array exists</p></div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">bool</span></dd></dl></div><h3 class="name has-anchor" id="minimumSupercell"><span class="type-signature"></span>minimumSupercell<span class="signature">(r)</span></h3><div class="description"><p>Compute and return the minimum supercell that guarantees containing all atoms at a maximum distance r from those in the [0,0,0] cell.</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>r</code></td><td class="type"><span class="param-type">float</span></td><td class="description last"><p>Maximum distance that must be contained within the supercell</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1735">line 1735</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="removeGraphics"><span class="type-signature"></span>removeGraphics<span class="signature">(name)</span></h3><div class="description"><p>Remove the graphical object with a given name</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>Name of the graphical object to remove</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1430">line 1430</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="setArray"><span class="type-signature"></span>setArray<span class="signature">(name, arr)</span></h3><div class="description"><p>Set an array for the underlying Atoms object</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>name</code></td><td class="type"><span class="param-type">String</span></td><td class="description last"><p>Name of the array to use</p></td></tr><tr><td class="name"><code>arr</code></td><td class="type"><span class="param-type">Array</span></td><td class="description last"><p>Array to store</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1318">line 1318</a></li></ul></dd></div></dl><h3 class="name has-anchor" id="view"><span class="type-signature"></span>view<span class="signature">(indices)</span><span class="type-signature"> → {ModelView}</span></h3><div class="description"><p>Create a new ModelView for this model, using a given list of indices</p></div><div class="method-member-container flex flex-col w-100 overflow-auto mt-20"><strong>Parameters:</strong><table class="params"><thead><tr><th>Name</th><th>Type</th><th class="last">Description</th></tr></thead><tbody><tr><td class="name"><code>indices</code></td><td class="type"><span class="param-type">Array</span></td><td class="description last"><p>Indices of atoms to include in the ModelView</p></td></tr></tbody></table></div><dl class="details"><div class="details-item-container"><dt class="tag-source bold">Source</dt><dd class="tag-source"><ul><li><a href="model.js.html">model.js</a>, <a href="model.js.html#line1778">line 1778</a></li></ul></dd></div></dl><div class="method-member-container mt-20"><strong>Returns:</strong><div class="param-desc"><p>ModelView object for specified indices</p></div><dl class="param-type"><dt>Type: </dt><dd><span class="param-type">ModelView</span></dd></dl></div></article></section></div></div></div><div class="search-container" id="PkfLWpAbet" style="display:none"><div class="wrapper" id="iCxFxjkHbP"><button class="icon-button search-close-button" id="VjLlGakifb" aria-label="close search"><svg><use xlink:href="#close-icon"></use></svg></button><div class="search-box-c"><svg><use xlink:href="#search-icon"></use></svg> <input type="text" id="vpcKVYIppa" class="search-input" placeholder="Search..." autofocus></div><div class="search-result-c" id="fWwVHRuDuN"><span class="search-result-c-text">Type anything to view search result</span></div></div></div><div class="mobile-menu-icon-container"><button class="icon-button" id="mobile-menu" data-isopen="false" aria-label="menu"><svg><use xlink:href="#menu-icon"></use></svg></button></div><div id="mobile-sidebar" class="mobile-sidebar-container"><div class="mobile-sidebar-wrapper"><div class="mobile-nav-links"></div><div class="mobile-sidebar-items-c"><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-modules"><div>Modules</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="lib_model.module_js.html">lib/model.js</a></div><div class="sidebar-section-children"><a href="lib_modelview.module_js.html">lib/modelview.js</a></div><div class="sidebar-section-children"><a href="lib_visualizer.module_js.html">lib/visualizer.js</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-classes"><div>Classes</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="lib_model.module_js-AtomImage.html">AtomImage</a></div><div class="sidebar-section-children"><a href="lib_model.module_js-BondImage.html">BondImage</a></div><div class="sidebar-section-children"><a href="lib_model.module_js-Model.html">Model</a></div><div class="sidebar-section-children"><a href="lib_modelview.module_js-ModelView.html">ModelView</a></div><div class="sidebar-section-children"><a href="lib_visualizer.module_js-CrystVis.html">CrystVis</a></div></div><div class="sidebar-section-title with-arrow" data-isopen="false" id="sidebar-tutorials"><div>Tutorials</div><svg><use xlink:href="#down-icon"></use></svg></div><div class="sidebar-section-children-container"><div class="sidebar-section-children"><a href="tutorial-Events.html">Events</a></div><div class="sidebar-section-children"><a href="tutorial-Queries.html">Queries</a></div><div class="sidebar-section-children"><a href="tutorial-ThreejsMigration.html">ThreejsMigration</a></div></div></div><div class="mobile-navbar-actions"><div class="navbar-right-item"><button class="icon-button search-button" aria-label="open-search"><svg><use xlink:href="#search-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button theme-toggle" aria-label="toggle-theme"><svg><use class="theme-svg-use" xlink:href="#light-theme-icon"></use></svg></button></div><div class="navbar-right-item"><button class="icon-button font-size" aria-label="change-font-size"><svg><use xlink:href="#font-size-icon"></use></svg></button></div></div></div></div><script type="text/javascript" src="scripts/core.min.js"></script><script src="scripts/search.min.js" defer="defer"></script><script src="scripts/third-party/fuse.js" defer="defer"></script><script type="text/javascript">var tocbotInstance=tocbot.init({tocSelector:"#eed4d2a0bfd64539bb9df78095dec881",contentSelector:".main-content",headingSelector:"h1, h2, h3",hasInnerContainers:!0,scrollContainer:".main-content",headingsOffset:130,onClick:bringLinkToView})</script></body></html>