@chemistry/mol3dview
Version:
Crystal Structure Viewer
97 lines (96 loc) • 2.24 kB
TypeScript
import { Element } from "@chemistry/elements";
import { Matrix3x4, Vec3 } from "@chemistry/math";
import { Atom } from "./Atom";
import { Link } from "./Link";
import { UnitCell } from "./UnitCell";
export declare class CellAtom {
/**
* Atom ID within molecule
*/
id: number;
/**
* label
* @type {string}
*/
label: string;
/**
* Element
* @type {Element}
*/
element: Element;
/**
* Cartezian position of Atom
*/
position: Vec3;
/**
* Unit Cell
*/
unitCell: UnitCell;
/**
* Fractional position of Atom
*/
fractional: Vec3;
/**
* Occupancy
*/
occupancy: number;
/**
* Isotropic U
*/
uiso: number;
/**
* Disorder Assembly
*/
assembly: string;
/**
* Disorder Group
*/
group: string;
/**
* List of Atoms Created From this Cell Atom
*/
children: Atom[];
/**
* List of connected atoms
*/
links: Link[];
constructor(data: {
id: number;
unitCell: UnitCell;
type: string;
label: string;
x: number;
y: number;
z: number;
occupancy: number;
uiso: number;
assembly: string;
group: string;
});
/**
* Add link to another element
*/
addLink(otherAtom: CellAtom, symetry: Matrix3x4): void;
getLinks(): Link[];
/**
* Returns true if Cell Atom has Chield with Specific position
*/
hasChild(position: Vec3): boolean;
/**
* Return Chield Atom with Specifified Position or null if not found
*/
getChild(position: Vec3): Atom;
/**
* Return true if has Atom with Specified symetry position
*/
hasChieldWithSymetry(symetry: Matrix3x4): boolean;
/**
* Return Chield Atom with Specifified symetry or similar atom liing on the same spot
*/
getChieldWithSymetry(symetry: Matrix3x4): Atom;
/**
* Create Atom & return it based on this Cell Atom
* and set correct settings
*/
createAtom(symetry: Matrix3x4, addToChields: boolean): Atom;
}