@vrame/xeokit-sdk
Version:
3D BIM IFC Viewer SDK for AEC engineering applications. Open Source JavaScript Toolkit based on pure WebGL for top performance, real-world coordinates and full double precision
45 lines (43 loc) • 2.29 kB
TypeScript
import { Scene } from "../scene/Scene";
import { MetaModel } from '../../metadata/MetaModel';
/**
* Saves and restores a snapshot of the visual state of the {@link Entity}'s of a model within a {@link Scene}.
*/
export declare class ModelMemento {
/**
* Saves a snapshot of the visual state of the {@link Entity}'s that represent objects within a model.
*
* @param {Scene} scene The scene.
* @param {MetaModel} metaModel Represents the model. Corresponds with an {@link Entity} that represents the model in the scene.
* @param {Object} [mask] Masks what state gets saved. Saves all state when not supplied.
* @param {boolean} [mask.visible] Saves {@link Entity#visible} values when ````true````.
* @param {boolean} [mask.edges] Saves {@link Entity#edges} values when ````true````.
* @param {boolean} [mask.xrayed] Saves {@link Entity#xrayed} values when ````true````.
* @param {boolean} [mask.highlighted] Saves {@link Entity#highlighted} values when ````true````.
* @param {boolean} [mask.selected] Saves {@link Entity#selected} values when ````true````.
* @param {boolean} [mask.clippable] Saves {@link Entity#clippable} values when ````true````.
* @param {boolean} [mask.pickable] Saves {@link Entity#pickable} values when ````true````.
* @param {boolean} [mask.colorize] Saves {@link Entity#colorize} values when ````true````.
* @param {boolean} [mask.opacity] Saves {@link Entity#opacity} values when ````true````.
*/
saveObjects(scene: Scene, metaModel: MetaModel, mask?: {
visible?: boolean;
edges?: boolean;
xrayed?: boolean;
highlighted?: boolean;
selected?: boolean;
clippable?: boolean;
pickable?: boolean;
colorize?: boolean;
opacity?: boolean;
}): void;
/**
* Restores a {@link Scene}'s {@link Entity}'s to their state previously captured with {@link ModelMemento#saveObjects}.
*
* Assumes that the model has not been destroyed or modified since saving.
*
* @param {Scene} scene The scene that was given to {@link ModelMemento#saveObjects}.
* @param {MetaModel} metaModel The metamodel that was given to {@link ModelMemento#saveObjects}.
*/
restoreObjects(scene: Scene, metaModel: MetaModel): void;
}