polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
41 lines (40 loc) • 2.38 kB
TypeScript
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 {};