@itwin/core-frontend
Version:
iTwin.js frontend components
55 lines • 2.87 kB
TypeScript
/** @packageDocumentation
* @module Views
*/
import { SpatialClassifier, SpatialClassifierFlags, SpatialClassifiers, SpatialClassifiersContainer } from "@itwin/core-common";
import { TileTreeReference } from "./tile/internal";
/** A [SpatialClassifier]($common) that uses geoemtry produced at run-time to classify a reality model.
* The geometry is supplied by a [[TileTreeReference]].
* A simple example of creating and applying a dynamic classifier:
* ```ts
* [[include:TileTreeReference_DynamicClassifier]]
* ```
* @see [[SpatialClassifiersState]] to configure a reality model's classifiers.
* @public
*/
export interface DynamicSpatialClassifier {
/** A reference to the [[TileTree]] that supplies the graphics used to classify the reality model.
* @see [[TileTreeReference.createFromRenderGraphic]] for one way to produce a tile tree reference.
*/
tileTreeReference: TileTreeReference;
/** Flags controlling how to apply the classifier. */
flags: SpatialClassifierFlags;
/** A user-friendly name appropriate for use in a user interface. */
name: string;
}
/** A [SpatialClassifier]($common) that uses geometry from a persistent [[GeometricModelState]] to classify a reality model.
* @see [[SpatialClassifiersState]] to configure a reality model's classifiers.
* @public
*/
export type PersistentSpatialClassifier = SpatialClassifier & {
tileTreeReference?: never;
};
/** Describes the source of geometry being used to classify a reality model.
* @see [[SpatialClassifiersState.activeClassifier]] to change the active classifier for a reality model.
* @public
*/
export type ActiveSpatialClassifier = DynamicSpatialClassifier | PersistentSpatialClassifier;
/** The front-end representation of [SpatialClassifiers]($common) that adds support for classifying a reality model using non-persistent
* geometry via [[DynamicSpatialClassifier]].
*
* @see [[ContextRealityModelState.classifiers]] or [[SpatialModelState.classifiers]] to access the classifiers for a particular reality model.
* @public
*/
export declare class SpatialClassifiersState extends SpatialClassifiers {
private _dynamicClassifier?;
private constructor();
/** The classifier currently being used to classify the reality model.
* This may be either a [SpatialClassifier]($common) already defined in the set of available [SpatialClassifiers]($common), or a [[DynamicSpatialClassifier]].
* @note Unlike [[PersistentSpatialClassifier]]s, [[DynamicSpatialClassifier]]s are not preserved when saving and recalling a view.
*/
get activeClassifier(): ActiveSpatialClassifier | undefined;
set activeClassifier(active: ActiveSpatialClassifier | undefined);
/** @internal */
static create(container: SpatialClassifiersContainer): SpatialClassifiersState;
}
//# sourceMappingURL=SpatialClassifiersState.d.ts.map