@speckle/viewer
Version:
A 3d viewer for Speckle, based on threejs.
51 lines (50 loc) • 1.71 kB
TypeScript
import { type TreeNode, WorldTree } from '../tree/WorldTree.js';
import { type IViewer } from '../../IViewer.js';
import { Extension } from './Extension.js';
export declare enum VisualDiffMode {
PLAIN = 0,
COLORED = 1
}
export interface DiffResult {
unchanged: Array<TreeNode>;
added: Array<TreeNode>;
removed: Array<TreeNode>;
modified: Array<Array<TreeNode>>;
}
export declare class DiffExtension extends Extension {
get enabled(): boolean;
set enabled(value: boolean);
protected tree: WorldTree;
private addedMaterialMesh;
private changedNewMaterialMesh;
private changedOldMaterialMesh;
private removedMaterialMesh;
private addedMaterialPoint;
private changedNewMaterialPoint;
private changedOldMaterialPoint;
private removedMaterialPoint;
private addedMaterials;
private changedOldMaterials;
private changedNewMaterials;
private removedMaterials;
private _materialGroups;
private _visualDiff;
private _diffTime;
private _diffMode;
constructor(viewer: IViewer);
private dynamicallyLoadedDiffResources;
diff(urlA: string, urlB: string, mode: VisualDiffMode, authToken?: string): Promise<DiffResult>;
/** Currently, the diff does not store the existing materials. We can do that if we need to */
undiff(): Promise<void>;
private buildIdMaps;
private getDiff;
private diffIterative;
updateVisualDiff(time?: number, mode?: VisualDiffMode): void;
private setDiffTime;
private buildMaterialGroups;
private resetMaterialGroups;
private getVisualDiffResult;
private getColoredMaterialGroups;
private getPlainMaterialGroups;
private getBatchesSubgroups;
}