UNPKG

@polygonjs/polygonjs

Version:

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

49 lines (48 loc) 3.22 kB
import { CoreGroup } from './../../../core/geometry/Group'; import { BaseParamType } from '../_Base'; import { ExpressionManager } from '../../expressions/ExpressionManager'; import type { CorePoint } from '../../../core/geometry/entities/point/CorePoint'; import type { CoreVertex } from '../../../core/geometry/entities/vertex/CoreVertex'; import type { CorePrimitive } from '../../../core/geometry/entities/primitive/CorePrimitive'; import { CoreEntity } from '../../../core/geometry/CoreEntity'; import { ParamType } from '../../poly/ParamType'; import { ParamValuesTypeMap } from '../types/ParamValuesTypeMap'; import { BaseCoreObject } from '../../../core/geometry/entities/object/BaseCoreObject'; import { MethodDependency } from '../../expressions/MethodDependency'; import { CoreGraphNodeId } from '../../../core/graph/CoreGraph'; import { CoreObjectType } from '../../../core/geometry/ObjectContent'; type EntityCallback<T extends ParamType> = (entity: CoreEntity, value: ParamValuesTypeMap[T] | any) => void; type PointEntityCallback<T extends ParamType> = (entity: CorePoint<CoreObjectType>, value: ParamValuesTypeMap[T] | any) => void; type ObjectEntityCallback<T extends ParamType> = (entity: BaseCoreObject<CoreObjectType>, value: ParamValuesTypeMap[T] | any) => void; type CoreGroupEntityCallback<T extends ParamType> = (entity: CoreGroup, value: ParamValuesTypeMap[T] | any) => void; export declare class ExpressionController<T extends ParamType> { protected param: BaseParamType; protected _expression: string | undefined; protected _entities: CoreEntity[] | undefined; protected _entityCallback: EntityCallback<T> | undefined; protected _manager: ExpressionManager | undefined; protected _methodDependenciesByGraphNodeId: Map<CoreGraphNodeId, MethodDependency> | undefined; constructor(param: BaseParamType); dispose(): void; private _resetMethodDependencies; registerMethodDependency(methodDependency: MethodDependency): void; active(): boolean; expression(): string | undefined; isErrored(): boolean; errorMessage(): string | null | undefined; entitiesDependent(): boolean; setExpression(expression: string | undefined, setDirty?: boolean): void; updateFromMethodDependencyNameChange(): void; computeExpression(): Promise<any> | undefined; computeExpressionForEntities(entities: CoreEntity[], callback: EntityCallback<T>): Promise<void>; computeExpressionForPoints(entities: CorePoint<CoreObjectType>[], callback: PointEntityCallback<T>): Promise<void>; computeExpressionForVertices(entities: CoreVertex<CoreObjectType>[], callback: PointEntityCallback<T>): Promise<void>; computeExpressionForPrimitives(entities: CorePrimitive<CoreObjectType>[], callback: PointEntityCallback<T>): Promise<void>; computeExpressionForObjects<OT extends CoreObjectType>(entities: BaseCoreObject<OT>[], callback: ObjectEntityCallback<T>): Promise<void>; computeExpressionForCoreGroup(entity: CoreGroup, callback: CoreGroupEntityCallback<T>): Promise<void>; entities(): CoreEntity[] | undefined; entityCallback(): EntityCallback<T> | undefined; private _setEntities; private _resetEntities; } export {};