UNPKG

@polygonjs/polygonjs

Version:

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

52 lines (51 loc) 2.98 kB
import { JsFunctionName } from '../../../utils/shaders/ShaderName'; import { BaseJsDefinition, TriggerableJsDefinitionOptions } from '../../utils/JsDefinition'; import { JsLinesController, DefinitionTraverseCallback, AddBodyLinesOptions } from './LinesController'; import { BaseJsNodeType } from '../../_Base'; import { BaseJsShaderAssembler } from '../assemblers/_Base'; import { RegisterableVariable } from '../assemblers/_BaseJsPersistedConfigUtils'; import { JsConnectionPointType } from '../../../utils/io/connections/Js'; import { BaseNamedFunction } from '../../../../functions/_Base'; import { EvaluatorMethodName } from '../assemblers/actor/ActorEvaluator'; export interface ComputedValueJsDefinitionData { dataType: JsConnectionPointType; varName: string; value: string; } interface TriggeringJsDefinitionOptionsExtended { gatherable: boolean; triggeringMethodName?: EvaluatorMethodName; nodeMethodName?: string; } interface TriggerableJsDefinitionOptionsExtended extends TriggerableJsDefinitionOptions { addTriggeredLines?: boolean; } interface AddBodyOrComputedOptions { constPrefix?: boolean; } export declare class JsLinesCollectionController { private _shaderNames; private _currentShaderName; private _assembler; private _linesControllerByShaderName; constructor(_shaderNames: JsFunctionName[], _currentShaderName: JsFunctionName, _assembler: BaseJsShaderAssembler); assembler(): BaseJsShaderAssembler; linesController(shaderName: JsFunctionName): JsLinesController | undefined; shaderNames(): JsFunctionName[]; setCurrentShaderName(shaderName: JsFunctionName): void; currentShaderName(): JsFunctionName; addVariable(node: BaseJsNodeType, variable: RegisterableVariable, varName?: string): string; addFunction(node: BaseJsNodeType, namedFunction: BaseNamedFunction): void; addTriggeringLines(node: BaseJsNodeType, triggeringLines: string[], options: TriggeringJsDefinitionOptionsExtended): void; addTriggerableLines(node: BaseJsNodeType, triggerableLines: string[], options?: TriggerableJsDefinitionOptionsExtended): void; addComputedVarName(varName: string): void; registeredAsComputed(varName: string): boolean; addBodyOrComputed(node: BaseJsNodeType, linesData: ComputedValueJsDefinitionData[], options?: AddBodyOrComputedOptions): void; addComputed(node: BaseJsNodeType, linesData: ComputedValueJsDefinitionData[]): void; addDefinitions(node: BaseJsNodeType, definitions: BaseJsDefinition[], shaderName?: JsFunctionName): void; definitions(shaderName: JsFunctionName, node: BaseJsNodeType): BaseJsDefinition[] | undefined; traverseDefinitions(shaderName: JsFunctionName, callback: DefinitionTraverseCallback): void; _addBodyLines(node: BaseJsNodeType, lines: string[], shaderName?: JsFunctionName, options?: AddBodyLinesOptions): void; bodyLines(shaderName: JsFunctionName, node: BaseJsNodeType): string[] | undefined; } export {};