@types/three
Version:
TypeScript definitions for three
39 lines (30 loc) • 1.13 kB
TypeScript
import Node from "../core/Node.js";
import NodeBuilder from "../core/NodeBuilder.js";
import { ShaderNodeObject } from "../tsl/TSLCore.js";
interface LoopNodeObjectParameter {
// TODO Expand to other types and update loop function types appropriately
type?: "int" | "uint" | "float";
// TODO The variable name should affect the type of the loop function
// name?: string;
start: number | Node;
end: number | Node;
condition?: string;
}
type LoopNodeParameter = Node | number | LoopNodeObjectParameter;
declare class LoopNode extends Node {
params: unknown[];
constructor(params?: unknown[]);
getProperties(builder: NodeBuilder): unknown;
}
export default LoopNode;
interface Loop {
(i: LoopNodeParameter, func: (inputs: { readonly i: number }) => void): ShaderNodeObject<Node>;
(
i: LoopNodeParameter,
j: LoopNodeParameter,
func: (inputs: { readonly i: number; readonly j: number }) => void,
): ShaderNodeObject<Node>;
}
export const Loop: Loop;
export const Continue: () => ShaderNodeObject<Node>;
export const Break: () => ShaderNodeObject<Node>;