@itwin/core-frontend
Version:
iTwin.js frontend components
43 lines • 2.03 kB
TypeScript
/** @packageDocumentation
* @module Views
*/
import { Id64Arg, Id64String, ObservableSet } from "@itwin/core-bentley";
import { ModelSelectorProps } from "@itwin/core-common";
import { ElementState } from "./EntityState";
import { IModelConnection } from "./IModelConnection";
/** The state of a [ModelSelector]($backend). It holds a set of ids of GeometricModels for a [[SpatialViewState]].
* It defines the set of [[ModelState]]s drawn within the view as a set of IDs.
* @public
* @extensions
*/
export declare class ModelSelectorState extends ElementState {
static get className(): string;
private readonly _models;
/** The set of ModelIds of this ModelSelectorState */
get models(): Set<string>;
set models(models: Set<string>);
/** @internal */
get observableModels(): ObservableSet<string>;
constructor(props: ModelSelectorProps, iModel: IModelConnection);
/** The name of this ModelSelector */
get name(): string;
toJSON(): ModelSelectorProps;
/** Determine if this model selector is logically equivalent to the specified model selector. Two model selectors are logically equivalent is
* they have the same name and Id and contain the same set of models.
* @param other The model selector to which to compare.
* @returns true if the model selectors are logically equivalent.
* @public
*/
equalState(other: ModelSelectorState): boolean;
/** Add one or more models to this ModelSelectorState */
addModels(arg: Id64Arg): void;
/** Drop one or more models from this ModelSelectorState */
dropModels(arg: Id64Arg): void;
/** Determine whether this ModelSelectorState includes the specified modelId value */
has(id: string): boolean;
/** Determine whether this ModelSelectorState includes the specified modelId */
containsModel(modelId: Id64String): boolean;
/** Make sure all models referenced by this ModelSelectorState are loaded. */
load(): Promise<void>;
}
//# sourceMappingURL=ModelSelectorState.d.ts.map