diff --git a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts index b247b2b7f..17fab1860 100644 --- a/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +++ b/types/three/src/nodes/gpgpu/AtomicFunctionNode.d.ts @@ -11,73 +11,81 @@ export type AtomicMethod = | typeof AtomicFunctionNode.ATOMIC_OR | typeof AtomicFunctionNode.ATOMIC_XOR; -declare class AtomicFunctionNode extends Node { +interface AtomicFunctionNodeInterface { method: AtomicMethod; pointerNode: Node; - valueNode: Node; + valueNode: Node | null; parents: boolean; - - constructor(method: AtomicMethod, pointerNode: Node, valueNode: Node); - - static ATOMIC_LOAD: "atomicLoad"; - static ATOMIC_STORE: "atomicStore"; - static ATOMIC_ADD: "atomicAdd"; - static ATOMIC_SUB: "atomicSub"; - static ATOMIC_MAX: "atomicMax"; - static ATOMIC_MIN: "atomicMin"; - static ATOMIC_AND: "atomicAnd"; - static ATOMIC_OR: "atomicOr"; - static ATOMIC_XOR: "atomicXor"; } +declare const AtomicFunctionNode: { + new( + method: AtomicMethod, + pointerNode: Node, + valueNode: Node | null, + ): AtomicFunctionNode; + + ATOMIC_LOAD: "atomicLoad"; + ATOMIC_STORE: "atomicStore"; + ATOMIC_ADD: "atomicAdd"; + ATOMIC_SUB: "atomicSub"; + ATOMIC_MAX: "atomicMax"; + ATOMIC_MIN: "atomicMin"; + ATOMIC_AND: "atomicAnd"; + ATOMIC_OR: "atomicOr"; + ATOMIC_XOR: "atomicXor"; +}; + +export type AtomicFunctionNode = Node & AtomicFunctionNodeInterface; + export default AtomicFunctionNode; -export const atomicFunc: ( +export const atomicFunc: ( method: AtomicMethod, - pointerNode: Node, - valueNode: Node, -) => AtomicFunctionNode; + pointerNode: Node, + valueNode: Node | null, +) => AtomicFunctionNode; -export const atomicLoad: ( - pointerNode: Node, -) => AtomicFunctionNode; +export const atomicLoad: ( + pointerNode: Node, +) => AtomicFunctionNode; -export const atomicStore: ( - pointerNode: Node, +export const atomicStore: ( + pointerNode: Node, valueNode: Node | number, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicAdd: ( - pointerNode: Node, +export const atomicAdd: ( + pointerNode: Node, valueNode: Node | number, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicSub: ( - pointerNode: Node, +export const atomicSub: ( + pointerNode: Node, valueNode: Node | number, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicMax: ( - pointerNode: Node, +export const atomicMax: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicMin: ( - pointerNode: Node, +export const atomicMin: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicAnd: ( - pointerNode: Node, +export const atomicAnd: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicOr: ( - pointerNode: Node, +export const atomicOr: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => AtomicFunctionNode; -export const atomicXor: ( - pointerNode: Node, +export const atomicXor: ( + pointerNode: Node, valueNode: Node, -) => AtomicFunctionNode; +) => AtomicFunctionNode;