vdw.ts 781 B

12345678910111213141516171819202122
  1. /**
  2. * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
  3. *
  4. * @author Alexander Rose <alexander.rose@weirdbyte.de>
  5. */
  6. import { OrderedSet } from 'mol-data/int';
  7. import { VdwRadius } from 'mol-model/structure/model/properties/atomic';
  8. import { StructureSizeDataProps } from '.';
  9. import { createAttributeSize } from '../data';
  10. export function vdwSizeData(props: StructureSizeDataProps) {
  11. const { units, elementGroup, offsetData } = props
  12. const { type_symbol } = units[0].model.hierarchy.atoms
  13. return createAttributeSize({
  14. sizeFn: (elementIdx: number) => {
  15. const e = OrderedSet.getAt(elementGroup.elements, elementIdx)
  16. return VdwRadius(type_symbol.value(e))
  17. },
  18. offsetData
  19. })
  20. }