NodeLink.setEdgeData¶
This page documents these edge-data APIs:
NodeLink.setEdgesNodeLink.updateEdgesNodeLink.setEdgesBufferNodeLink.setEdgeScalarsNodeLink.updateEdgeScalarsNodeLink.setEdgeScalarsBufferNodeLink.setEdgeColorsNodeLink.updateEdgeColorsNodeLink.setEdgeColorsBuffer
Summary¶
These methods update edge-side data on a nodelink.
NodeLink.setEdgesandNodeLink.updateEdgesuse source/destination node-index pairs.- CPU-backed edges can be
Uint16ArrayorUint32Array. - Edge scalar length must match
NodeLink.edgeCount. - Edge colors are RGBA float data with four components per edge.
- GPU-buffer setters replace CPU-backed data for that category.
- Update methods patch subranges and validate bounds before writing.
Syntax¶
NodeLink.setEdges(data: Uint16Array | Uint32Array, opts?: { keepCPUData?: boolean }): void
NodeLink.updateEdges(data: Uint16Array | Uint32Array, startEdge?: number): void
NodeLink.setEdgesBuffer(buffer: GPUBuffer, edgeCount: number): void
NodeLink.setEdgeScalars(data: Float32Array, opts?: { keepCPUData?: boolean }): void
NodeLink.updateEdgeScalars(data: Float32Array, startEdge?: number): void
NodeLink.setEdgeScalarsBuffer(buffer: GPUBuffer | null): void
NodeLink.setEdgeColors(data: Float32Array, opts?: { keepCPUData?: boolean }): void
NodeLink.updateEdgeColors(data: Float32Array, startEdge?: number): void
NodeLink.setEdgeColorsBuffer(buffer: GPUBuffer | null): void
Parameters¶
| Name | Type | Required | Description |
|---|---|---|---|
data |
Uint16Array \| Uint32Array \| Float32Array |
Yes | CPU-array payload for edges, edge scalars, or edge colors. |
opts |
Object | No | Optional keepCPUData control for CPU-array uploads. |
startEdge |
number |
No | First edge index to patch when using an update method. |
buffer |
GPUBuffer \| null |
Yes | External GPU buffer to use for the matching edge data category. |
edgeCount |
number |
Yes | Required edge count for NodeLink.setEdgesBuffer. |
Returns¶
void - No return value. The call updates edge-side runtime state and may queue later GPU uploads.
Example¶
nodeLink.setEdges(new Uint16Array([
0, 1,
1, 2
]), { keepCPUData: true });
nodeLink.setEdgeScalars(new Float32Array([0.2, 0.8]));
nodeLink.setEdgeColors(new Float32Array([
0.2, 0.2, 0.2, 1,
0.8, 0.8, 0.8, 1
]));
nodeLink.updateEdges(new Uint16Array([2, 0]), 1);