@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
66 lines (65 loc) • 2.79 kB
TypeScript
import { type IUniform, Material, MeshBasicMaterial, MeshDepthMaterial, MeshNormalMaterial, MeshStandardMaterial, PointsMaterial, type Shader, MeshMatcapMaterial } from 'three';
import { LineMaterial } from 'three/examples/jsm/lines/LineMaterial.js';
import { StencilOutlineType } from '../../IViewer.js';
import { type MaterialOptions } from './MaterialOptions.js';
declare class SpeckleUserData {
[k: string]: unknown;
toJSON(): {};
}
export type Uniforms = Record<string, any>;
export declare class SpeckleMaterial {
protected _internalUniforms: Shader;
protected _stencilOutline: StencilOutlineType;
needsCopy: boolean;
protected get speckleUserData(): SpeckleUserData;
protected set speckleUserData(value: SpeckleUserData);
protected get speckleDefines(): Record<string, unknown> | undefined;
protected set speckleDefines(value: Record<string, unknown> | undefined);
protected get vertexProgram(): string;
protected get fragmentProgram(): string;
protected get uniformsDef(): Uniforms;
protected get baseUniforms(): {
[uniform: string]: IUniform;
};
protected set stencilOutline(value: StencilOutlineType);
protected set pointSize(value: number);
protected init(defines?: Array<string>): void;
protected setUniforms(def: Uniforms): void;
protected setDefines(defines?: Array<string>): void;
protected copyUniforms(material: Material): void;
protected bindUniforms(): void;
protected copyFrom(source: Material): void;
protected onCompile(shader: Shader): void;
fastCopy(from: Material, to: Material): void;
setMaterialOptions(options: MaterialOptions): void;
}
export declare class ExtendedMeshStandardMaterial extends MeshStandardMaterial {
}
export declare class ExtendedMeshBasicMaterial extends MeshBasicMaterial {
}
export declare class ExtendedMeshDepthMaterial extends MeshDepthMaterial {
}
export declare class ExtendedMeshNormalMaterial extends MeshNormalMaterial {
}
export declare class ExtendedMatcapMaterial extends MeshMatcapMaterial {
}
export declare class ExtendedLineMaterial extends LineMaterial {
}
export declare class ExtendedPointsMaterial extends PointsMaterial {
}
export interface ExtendedMeshStandardMaterial extends SpeckleMaterial {
}
export interface ExtendedMeshBasicMaterial extends SpeckleMaterial {
}
export interface ExtendedMeshDepthMaterial extends SpeckleMaterial {
}
export interface ExtendedMeshNormalMaterial extends SpeckleMaterial {
}
export interface ExtendedMatcapMaterial extends SpeckleMaterial {
}
export interface ExtendedLineMaterial extends SpeckleMaterial {
}
export interface ExtendedPointsMaterial extends SpeckleMaterial {
}
export declare function applyMixins(derivedCtor: any, constructors: any[]): void;
export {};