molstar
Version:
A comprehensive macromolecular library.
53 lines (52 loc) • 1.8 kB
TypeScript
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { Column } from '../../../mol-data/db';
export declare const PlyTypeByteLength: {
char: number;
uchar: number;
short: number;
ushort: number;
int: number;
uint: number;
float: number;
double: number;
int8: number;
uint8: number;
int16: number;
uint16: number;
int32: number;
uint32: number;
float32: number;
float64: number;
};
export declare type PlyType = keyof typeof PlyTypeByteLength;
export declare const PlyTypes: Set<string>;
export declare function PlyType(str: string): "int" | "float" | "ushort" | "float32" | "int32" | "uint32" | "uint16" | "char" | "uchar" | "short" | "uint" | "double" | "int8" | "uint8" | "int16" | "float64";
export interface PlyFile {
readonly comments: ReadonlyArray<string>;
readonly elementNames: ReadonlyArray<string>;
getElement(name: string): PlyElement | undefined;
}
export declare function PlyFile(elements: PlyElement[], elementNames: string[], comments: string[]): PlyFile;
export declare type PlyElement = PlyTable | PlyList;
export interface PlyTable {
readonly kind: 'table';
readonly rowCount: number;
readonly propertyNames: ReadonlyArray<string>;
readonly propertyTypes: ReadonlyArray<PlyType>;
getProperty(name: string): Column<number> | undefined;
}
export interface PlyListValue {
readonly entries: ArrayLike<number>;
readonly count: number;
}
export interface PlyList {
readonly kind: 'list';
readonly rowCount: number;
readonly name: string;
readonly type: PlyType;
value: (row: number) => PlyListValue;
}