@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
36 lines (35 loc) • 1.94 kB
TypeScript
import { BasePersistedConfig } from '../../../../utils/BasePersistedConfig';
import { SingleBodyFunctionData } from '../_Base';
import { SerializedVariable, SerializedVariableType } from '../_BaseJsPersistedConfigUtils';
import { NamedFunctionMap } from '../../../../../poly/registers/functions/All';
import { JsParamConfigJSON } from '../../utils/JsParamConfig';
import { ParamType } from '../../../../../poly/ParamType';
import { SingleBodyPersistedConfigBaseJsData } from '../_BaseJsPersistedConfig';
import { JsConnectionPointType } from '../../../../utils/io/connections/Js';
import type { InstanceBuilderSopNode } from '../../../../sop/InstanceBuilder';
import type { PointBuilderSopNode } from '../../../../sop/PointBuilder';
export interface PointBuilderFunctionDataAttributeDataItem {
attribName: string;
attribType: JsConnectionPointType;
}
export interface PointBuilderFunctionDataAttributeDataReadWrite {
read: PointBuilderFunctionDataAttributeDataItem[];
write: PointBuilderFunctionDataAttributeDataItem[];
}
export interface PointBuilderFunctionData extends SingleBodyFunctionData {
attributesData: PointBuilderFunctionDataAttributeDataReadWrite;
}
export interface PointBuilderPersistedConfigBaseJsData extends SingleBodyPersistedConfigBaseJsData {
functionBody: string;
variableNames: string[];
variables: SerializedVariable<SerializedVariableType>[];
functionNames: Array<keyof NamedFunctionMap>;
serializedParamConfigs: JsParamConfigJSON<ParamType>[];
attributesData: PointBuilderFunctionDataAttributeDataReadWrite;
}
export declare class BasePointBuilderPersistedConfig extends BasePersistedConfig {
protected node: PointBuilderSopNode | InstanceBuilderSopNode;
constructor(node: PointBuilderSopNode | InstanceBuilderSopNode);
toData(): Promise<PointBuilderPersistedConfigBaseJsData | undefined>;
load(data: PointBuilderPersistedConfigBaseJsData): void;
}