NodeLink.setNodeData¶
This page documents these node-data APIs:
NodeLink.setNodePositionsNodeLink.updateNodePositionsNodeLink.setNodePositionsBufferNodeLink.setNodeScalarsNodeLink.updateNodeScalarsNodeLink.setNodeScalarsBufferNodeLink.setNodeColorsNodeLink.updateNodeColorsNodeLink.setNodeColorsBufferNodeLink.setNodeRadiiNodeLink.updateNodeRadiiNodeLink.setNodeRadiiBuffer
Summary¶
These methods update node-side data on a nodelink. Positions, scalars, colors, and radii can come from CPU arrays or from external GPU buffers.
- Positions and radii accept stride
3or4on the CPU-array path. - Colors are RGBA float data with four components per node.
- Scalar data length must match
NodeLink.nodeCount. - GPU-buffer setters replace CPU-backed data for that category.
- Update methods patch subranges and validate bounds before writing.
Syntax¶
NodeLink.setNodePositions(data: Float32Array, opts?: { stride?: 3 | 4; keepCPUData?: boolean }): void
NodeLink.updateNodePositions(data: Float32Array, startNode?: number, stride?: 3 | 4): void
NodeLink.setNodePositionsBuffer(buffer: GPUBuffer, nodeCount: number): void
NodeLink.setNodeScalars(data: Float32Array, opts?: { keepCPUData?: boolean }): void
NodeLink.updateNodeScalars(data: Float32Array, startNode?: number): void
NodeLink.setNodeScalarsBuffer(buffer: GPUBuffer | null): void
NodeLink.setNodeColors(data: Float32Array, opts?: { keepCPUData?: boolean }): void
NodeLink.updateNodeColors(data: Float32Array, startNode?: number): void
NodeLink.setNodeColorsBuffer(buffer: GPUBuffer | null): void
NodeLink.setNodeRadii(data: Float32Array, opts?: { stride?: 3 | 4; keepCPUData?: boolean }): void
NodeLink.updateNodeRadii(data: Float32Array, startNode?: number, stride?: 3 | 4): void
NodeLink.setNodeRadiiBuffer(buffer: GPUBuffer | null): void
Parameters¶
| Name | Type | Required | Description |
|---|---|---|---|
data |
Float32Array |
Yes | CPU-array payload for node positions, node scalars, node colors, or node radii. |
opts |
Object | No | Optional stride and keepCPUData controls for CPU-array uploads. |
startNode |
number |
No | First node index to patch when using an update method. |
stride |
3 \| 4 |
No | CPU tuple width for position or radii data. |
buffer |
GPUBuffer \| null |
Yes | External GPU buffer to use for the matching node data category. |
nodeCount |
number |
Yes | Required node count for NodeLink.setNodePositionsBuffer. |
Returns¶
void - No return value. The call updates node-side runtime state and may queue later GPU uploads.
Example¶
nodeLink.setNodePositions(new Float32Array([
0, 0, 0,
1, 0, 0,
0, 1, 0
]), { stride: 3, keepCPUData: true });
nodeLink.setNodeScalars(new Float32Array([0.1, 0.5, 0.9]));
nodeLink.setNodeColors(new Float32Array([
1, 0, 0, 1,
0, 1, 0, 1,
0, 0, 1, 1
]));
nodeLink.updateNodePositions(new Float32Array([1.2, 0.1, 0.0]), 1, 3);