@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
50 lines (49 loc) • 1.85 kB
TypeScript
import { Box3 } from 'three';
import { GeometryType } from '../batching/Batch.js';
import { GeometryAttributes, type GeometryData } from '../converter/Geometry.js';
import { MinimalMaterial, type DisplayStyle, type RenderMaterial } from '../materials/Materials.js';
import { SpeckleType } from '../loaders/GeometryConverter.js';
export interface NodeRenderData {
id: string;
subtreeId: number;
speckleType: SpeckleType;
geometry: GeometryData;
renderMaterial: RenderMaterial | null;
displayStyle: DisplayStyle | null;
colorMaterial: MinimalMaterial | null;
}
export declare class NodeRenderView {
private _batchId;
private _batchIndexStart;
private _batchIndexCount;
private _batchVertexStart;
private _batchVertexEnd;
private readonly _renderData;
private _materialHash;
private _geometryType;
private _guid;
private _aabb;
/** TO DO: Not sure if we should store it */
get guid(): string;
get renderData(): NodeRenderData;
get renderMaterialHash(): number;
get hasGeometry(): (Record<GeometryAttributes.POSITION, number[]> & Partial<Record<GeometryAttributes, number[]>>) | null;
get hasMetadata(): import("../../IViewer.js").SpeckleObject | undefined;
get speckleType(): SpeckleType;
get geometryType(): GeometryType;
get batchStart(): number;
get batchEnd(): number;
get batchCount(): number;
get batchId(): string;
get aabb(): Box3;
get transparent(): boolean;
get vertStart(): number;
get vertEnd(): number;
get needsSegmentConversion(): boolean;
get validGeometry(): boolean;
constructor(data: NodeRenderData);
setBatchData(id: string, start: number, count: number, vertStart?: number, vertEnd?: number): void;
computeAABB(): void;
private getGeometryType;
disposeGeometry(): void;
}