MoleculeRenderer
megane-viewer / MoleculeRenderer
Class: MoleculeRenderer
Defined in: renderer/MoleculeRenderer.ts:42
Constructors
Constructor
new MoleculeRenderer():
MoleculeRenderer
Returns
MoleculeRenderer
Methods
clearAtomOverrides()
clearAtomOverrides():
void
Defined in: renderer/MoleculeRenderer.ts:461
Clear all per-atom overrides, reverting to global uniforms.
Returns
void
clearBondOpacityOverrides()
clearBondOpacityOverrides():
void
Defined in: renderer/MoleculeRenderer.ts:485
Clear per-bond opacity overrides, reverting to global opacity.
Returns
void
clearPolyhedra()
clearPolyhedra():
void
Defined in: renderer/MoleculeRenderer.ts:371
Clear all polyhedra from the scene.
Returns
void
clearSelection()
clearSelection():
void
Defined in: renderer/MoleculeRenderer.ts:1044
Clear all selected atoms.
Returns
void
dispose()
dispose():
void
Defined in: renderer/MoleculeRenderer.ts:1234
Clean up all resources.
Returns
void
endAxesDrag()
endAxesDrag():
void
Defined in: renderer/MoleculeRenderer.ts:556
End the axes-inset drag.
Returns
void
fitToViewAll()
fitToViewAll():
void
Defined in: renderer/MoleculeRenderer.ts:422
Fit camera to show all structures (from all layers + primary snapshot). Call after loading snapshots into layers.
Returns
void
getCamera()
getCamera():
PerspectiveCamera|OrthographicCamera
Defined in: renderer/MoleculeRenderer.ts:908
Get the active camera.
Returns
PerspectiveCamera | OrthographicCamera
getCanvas()
getCanvas():
HTMLCanvasElement|null
Defined in: renderer/MoleculeRenderer.ts:898
Get the canvas element for event listener attachment.
Returns
HTMLCanvasElement | null
getCurrentPositionsCopy()
getCurrentPositionsCopy():
Float32Array<ArrayBufferLike> |null
Defined in: renderer/MoleculeRenderer.ts:993
Get a copy of current atom positions (public, for external use).
Returns
Float32Array<ArrayBufferLike> | null
getLabelOverlay()
getLabelOverlay():
LabelOverlay|null
Defined in: renderer/MoleculeRenderer.ts:918
Get the label overlay canvas.
Returns
LabelOverlay | null
getLayer()
getLayer(
layerId):StructureLayer|undefined
Defined in: renderer/MoleculeRenderer.ts:390
Get an existing structure layer (or undefined).
Parameters
layerId
string
Returns
StructureLayer | undefined
getLayerIds()
getLayerIds():
string[]
Defined in: renderer/MoleculeRenderer.ts:404
Get all current layer IDs.
Returns
string[]
getMeasurement()
getMeasurement():
Measurement|null
Defined in: renderer/MoleculeRenderer.ts:1050
Compute the current geometric measurement based on selected atoms.
Returns
Measurement | null
getOrCreateLayer()
getOrCreateLayer(
layerId):StructureLayer
Defined in: renderer/MoleculeRenderer.ts:380
Get or create a structure layer for a given node ID.
Parameters
layerId
string
Returns
StructureLayer
getRenderer()
getRenderer():
WebGLRenderer
Defined in: renderer/MoleculeRenderer.ts:913
Get the WebGL renderer.
Returns
WebGLRenderer
getScene()
getScene():
Scene
Defined in: renderer/MoleculeRenderer.ts:903
Get the Three.js scene.
Returns
Scene
hasCell()
hasCell():
boolean
Defined in: renderer/MoleculeRenderer.ts:511
Check if cell data exists.
Returns
boolean
hasCellAxes()
hasCellAxes():
boolean
Defined in: renderer/MoleculeRenderer.ts:568
Check if cell axes data exists.
Returns
boolean
hitTestAxesInset()
hitTestAxesInset(
cssX,cssY):boolean
Defined in: renderer/MoleculeRenderer.ts:530
Returns true if the CSS-pixel coordinate hits the axes inset.
Parameters
cssX
number
cssY
number
Returns
boolean
isAxesDragging()
isAxesDragging():
boolean
Defined in: renderer/MoleculeRenderer.ts:563
Whether an axes drag is in progress.
Returns
boolean
loadPolyhedra()
loadPolyhedra(
data):void
Defined in: renderer/MoleculeRenderer.ts:362
Load polyhedra mesh data for rendering.
Parameters
data
Returns
void
loadSnapshot()
loadSnapshot(
snapshot):void
Defined in: renderer/MoleculeRenderer.ts:219
Load a molecular snapshot (topology + positions).
Parameters
snapshot
Returns
void
mount()
mount(
container):void
Defined in: renderer/MoleculeRenderer.ts:117
Mount the viewer into a DOM element.
Parameters
container
HTMLElement
Returns
void
moveAxesDrag()
moveAxesDrag(
cssX,cssY):boolean
Defined in: renderer/MoleculeRenderer.ts:545
Continue an axes-inset drag. Returns true if currently dragging.
Parameters
cssX
number
cssY
number
Returns
boolean
raycastAtPixel()
raycastAtPixel(
clientX,clientY):HoverInfo
Defined in: renderer/MoleculeRenderer.ts:1006
Perform a pick at the given screen coordinates using CPU screen-space projection.
Parameters
clientX
number
clientY
number
Returns
removeInactiveLayers()
removeInactiveLayers(
activeIds):void
Defined in: renderer/MoleculeRenderer.ts:409
Remove layers not in the given set of active IDs.
Parameters
activeIds
Set<string>
Returns
void
removeLayer()
removeLayer(
layerId):void
Defined in: renderer/MoleculeRenderer.ts:395
Remove a structure layer and dispose its resources.
Parameters
layerId
string
Returns
void
renderSingleFrame()
renderSingleFrame():
void
Defined in: renderer/MoleculeRenderer.ts:926
Render a single frame synchronously at the current (or custom) size. Used for image/video capture outside the rAF loop.
Returns
void
resetView()
resetView():
void
Defined in: renderer/MoleculeRenderer.ts:612
Reset view to fit all atoms.
Returns
void
resizeForCapture()
resizeForCapture(
width,height): () =>void
Defined in: renderer/MoleculeRenderer.ts:958
Temporarily resize the renderer for capture, suppressing auto-resize. Returns a restore function to call after capture is complete.
Parameters
width
number
height
number
Returns
() => void
setAtomOpacity()
setAtomOpacity(
opacity):void
Defined in: renderer/MoleculeRenderer.ts:445
Set atom opacity (independent of bonds).
Parameters
opacity
number
Returns
void
setAtomOpacityOverrides()
setAtomOpacityOverrides(
overrides):void
Defined in: renderer/MoleculeRenderer.ts:456
Set per-atom opacity overrides from selection pipeline.
Parameters
overrides
Float32Array
Returns
void
setAtomScale()
setAtomScale(
scale):void
Defined in: renderer/MoleculeRenderer.ts:437
Set atom radius scale multiplier.
Parameters
scale
number
Returns
void
setAtomScaleOverrides()
setAtomScaleOverrides(
overrides):void
Defined in: renderer/MoleculeRenderer.ts:451
Set per-atom scale overrides from selection pipeline.
Parameters
overrides
Float32Array
Returns
void
setAtomsVisible()
setAtomsVisible(
visible):void
Defined in: renderer/MoleculeRenderer.ts:490
Toggle atom visibility.
Parameters
visible
boolean
Returns
void
setBondOpacity()
setBondOpacity(
opacity):void
Defined in: renderer/MoleculeRenderer.ts:474
Set bond opacity (independent of atoms).
Parameters
opacity
number
Returns
void
setBondOpacityOverrides()
setBondOpacityOverrides(
overrides):void
Defined in: renderer/MoleculeRenderer.ts:480
Apply per-bond opacity overrides (one value per logical bond).
Parameters
overrides
Float32Array
Returns
void
setBondScale()
setBondScale(
scale):void
Defined in: renderer/MoleculeRenderer.ts:466
Set bond radius scale multiplier.
Parameters
scale
number
Returns
void
setBondsVisible()
setBondsVisible(
visible):void
Defined in: renderer/MoleculeRenderer.ts:497
Toggle bond visibility.
Parameters
visible
boolean
Returns
void
setCellAxesVisible()
setCellAxesVisible(
visible):void
Defined in: renderer/MoleculeRenderer.ts:516
Toggle cell axes indicator visibility.
Parameters
visible
boolean
Returns
void
setCellVisible()
setCellVisible(
visible):void
Defined in: renderer/MoleculeRenderer.ts:504
Toggle simulation cell visibility.
Parameters
visible
boolean
Returns
void
setLabels()
setLabels(
labels):void
Defined in: renderer/MoleculeRenderer.ts:347
Set per-atom labels for overlay display.
Parameters
labels
string[] | null
Returns
void
setPerspective()
setPerspective(
enabled):void
Defined in: renderer/MoleculeRenderer.ts:861
Switch between orthographic and perspective projection.
Parameters
enabled
boolean
Returns
void
setPivotMarkerVisible()
setPivotMarkerVisible(
visible):void
Defined in: renderer/MoleculeRenderer.ts:523
Toggle rotation-center marker visibility.
Parameters
visible
boolean
Returns
void
setRotationCenter()
setRotationCenter(
x,y,z,animate?):void
Defined in: renderer/MoleculeRenderer.ts:623
Set the rotation center (orbit target) to the given world coordinates.
Parameters
x
number
y
number
z
number
animate?
boolean = true
When true (default), smoothly animates the transition over PIVOT_ANIM_DURATION_MS. Pass false to update synchronously (legacy behaviour). The clicked atom is animated to the screen center.
Returns
void
setSelection()
setSelection(
atomIndices):SelectionState
Defined in: renderer/MoleculeRenderer.ts:1037
Set selected atoms directly (for external triggers). Returns new selection state.
Parameters
atomIndices
number[]
Returns
setVectors()
setVectors(
vectors):void
Defined in: renderer/MoleculeRenderer.ts:352
Set per-atom vector data for arrow display.
Parameters
vectors
Float32Array<ArrayBufferLike> | null
Returns
void
setVectorScale()
setVectorScale(
scale):void
Defined in: renderer/MoleculeRenderer.ts:357
Set arrow scale multiplier.
Parameters
scale
number
Returns
void
setViewInsets()
setViewInsets(
left,right):void
Defined in: renderer/MoleculeRenderer.ts:832
Set pixel insets for overlay panels that occlude viewport edges.
Parameters
left
number
right
number
Returns
void
startAxesDrag()
startAxesDrag(
cssX,cssY):void
Defined in: renderer/MoleculeRenderer.ts:536
Begin an axes-inset drag at the given CSS coordinates.
Parameters
cssX
number
cssY
number
Returns
void
toggleAtomSelection()
toggleAtomSelection(
atomIndex):SelectionState
Defined in: renderer/MoleculeRenderer.ts:1022
Toggle atom selection (right-click). Returns new selection state.
Parameters
atomIndex
number
Returns
updateBonds()
updateBonds(
bonds,bondOrders):void
Defined in: renderer/MoleculeRenderer.ts:297
Replace bond data and re-render bonds without resetting the camera. Used for per-frame bond recalculation (e.g. distance-based bonds).
Parameters
bonds
Uint32Array
bondOrders
Uint8Array<ArrayBufferLike> | null
Returns
void
updateBondsExt()
updateBondsExt(
bonds,bondOrders,positions,elements,nAtoms):void
Defined in: renderer/MoleculeRenderer.ts:321
Replace bond data with optional extended positions/elements (PBC ghost atoms). When positions/elements are provided, they include ghost atoms appended to the original arrays, and bond indices may reference those ghost atoms.
Parameters
bonds
Uint32Array
bondOrders
Uint8Array<ArrayBufferLike> | null
positions
Float32Array<ArrayBufferLike> | null
elements
Uint8Array<ArrayBufferLike> | null
nAtoms
number
Returns
void
updateFrame()
updateFrame(
frame):void
Defined in: renderer/MoleculeRenderer.ts:278
Update positions from a trajectory frame.
Parameters
frame
Returns
void