import { SceneContext } from "../Context/SceneContext"; import { Category } from "../Model/Category"; import { Element } from "../Model/Element"; import { Instance } from "../Model/Instance"; import { FilterType, IFilter } from "./Filters/IFilter"; /** * 或过滤 */ export declare class OrFilter implements IFilter { type: FilterType; constructor(filters: IFilter[], include?: boolean); } /** * 与过滤 */ export declare class AndFilter implements IFilter { type: FilterType; constructor(filters: IFilter[], include?: boolean); } /** * 通过Category过滤 */ export declare class CategoryFilter implements IFilter { type: FilterType; constructor(category: Category, include?: boolean); } /** * 通过TypeId 过滤 */ export declare class TypeFilter implements IFilter { type: FilterType; constructor(typeId: number, include?: boolean); } /** * 通过可见性过滤 */ export declare class VisibleFilter implements IFilter { type: FilterType; constructor(include: boolean); } /** * 通过楼层过滤 */ export declare class StoreyFilter implements IFilter { type: FilterType; constructor(storeyIndex: number, include?: boolean); } /** * 通过发光过滤 */ export declare class BloomFilter implements IFilter { type: FilterType; constructor(include: boolean); } /** * 过滤锁定 */ export declare class LockedFilter implements IFilter { type: FilterType; constructor(include: boolean); } /** * box 包含 */ export declare class BoxInsideFilter implements IFilter { type: FilterType; constructor(box: Float32Array, include?: boolean); } /** * box 包含和相交 */ export declare class BoxIntersectsFilter implements IFilter { type: FilterType; constructor(box: Float32Array, include?: boolean); } /** * 材质过滤 */ export declare class MaterialFilter implements IFilter { type: FilterType; constructor(material_id: number); } /** * 过滤上下文 */ export declare class SceneContextFilter { get elements(): Element[]; get instances(): Instance[]; constructor(sc: SceneContext); where_pass(filter: IFilter): SceneContextFilter; }