UNPKG

polygonjs-engine

Version:

node-based webgl 3D engine https://polygonjs.com

41 lines (40 loc) 2.38 kB
import { BaseParamType } from '../_Base'; import { ExpressionManager } from '../../expressions/ExpressionManager'; import { CorePoint } from '../../../core/geometry/Point'; import { CoreEntity } from '../../../core/geometry/Entity'; import { ParamType } from '../../poly/ParamType'; import { ParamValuesTypeMap } from '../types/ParamValuesTypeMap'; import { CoreObject } from '../../../core/geometry/Object'; import { MethodDependency } from '../../expressions/MethodDependency'; import { CoreGraphNodeId } from '../../../core/graph/CoreGraph'; declare type EntityCallback<T extends ParamType> = (entity: CoreEntity, value: ParamValuesTypeMap[T] | any) => void; declare type PointEntityCallback<T extends ParamType> = (entity: CorePoint, value: ParamValuesTypeMap[T] | any) => void; declare type ObjectEntityCallback<T extends ParamType> = (entity: CoreObject, value: ParamValuesTypeMap[T] | any) => void; export declare class ExpressionController<T extends ParamType> { protected param: BaseParamType; protected _expression: string | undefined; protected _entities: CoreEntity[] | undefined; protected _entity_callback: EntityCallback<T> | undefined; protected _manager: ExpressionManager | undefined; protected _method_dependencies_by_graph_node_id: Map<CoreGraphNodeId, MethodDependency> | undefined; constructor(param: BaseParamType); dispose(): void; private _resetMethodDependencies; registerMethodDependency(method_dependency: MethodDependency): void; active(): boolean; expression(): string | undefined; is_errored(): boolean; error_message(): string | null | undefined; requires_entities(): boolean; set_expression(expression: string | undefined, set_dirty?: boolean): void; update_from_method_dependency_name_change(): void; compute_expression(): Promise<any>; compute_expression_for_entities(entities: CoreEntity[], callback: EntityCallback<T>): Promise<void>; compute_expression_for_points(entities: CorePoint[], callback: PointEntityCallback<T>): Promise<void>; compute_expression_for_objects(entities: CoreObject[], callback: ObjectEntityCallback<T>): Promise<void>; entities(): CoreEntity[] | undefined; entity_callback(): EntityCallback<T> | undefined; set_entities(entities: CoreEntity[], callback: EntityCallback<T>): void; reset_entities(): void; } export {};