@openbraininstitute/morphoviewer 0.30.1 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +13 -8
- package/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +10 -0
- package/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts +2 -0
- package/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/camera.js +9 -1
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +34 -5
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/manager.js +267 -8
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/material-diffuse-alpha.d.ts +26 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/material-diffuse-alpha.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/material-diffuse-alpha.js +105 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +3 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.js +19 -4
- package/dist/components/morpho-viewer-small-circuit/painter/painter-synapses/painter-synapses.d.ts +6 -8
- package/dist/components/morpho-viewer-small-circuit/painter/painter-synapses/painter-synapses.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-synapses/painter-synapses.js +2 -1
- package/dist/components/morpho-viewer-small-circuit/types.d.ts +6 -2
- package/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/manager.d.ts +29 -1
- package/dist/components/morpho-viewer-somas-only/manager/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/manager.js +245 -5
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.d.ts +5 -0
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.d.ts.map +1 -1
- package/dist/components/morpho-viewer-somas-only/manager/painter-cell-infos.js +43 -6
- package/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.js +13 -8
- package/dist/components/morpho-viewer-somas-only/morpho-viewer-somas-only.module.css +10 -0
- package/dist/components/morpho-viewer-somas-only/types.d.ts +6 -2
- package/dist/components/morpho-viewer-somas-only/types.d.ts.map +1 -1
- package/dist/components/types.d.ts +32 -0
- package/dist/components/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/package.json +2 -2
- package/dist/painters/overlay-interaction.d.ts +49 -0
- package/dist/painters/overlay-interaction.d.ts.map +1 -0
- package/dist/painters/overlay-interaction.js +432 -0
- package/dist/painters/overlay-surface.d.ts +18 -0
- package/dist/painters/overlay-surface.d.ts.map +1 -0
- package/dist/painters/overlay-surface.js +83 -0
- package/dist/painters/world-overlays.d.ts +25 -0
- package/dist/painters/world-overlays.d.ts.map +1 -0
- package/dist/painters/world-overlays.js +185 -0
- package/package.json +2 -2
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { TgdColor, TgdPainterGroup, TgdPainterPointsCloud, TgdTexture2D, tgdCanvasCreatePalette, } from "@tolokoban/tgd";
|
|
2
|
+
export class PainterWorldOverlays extends TgdPainterGroup {
|
|
3
|
+
constructor(context) {
|
|
4
|
+
super({ name: "PainterWorldOverlays" });
|
|
5
|
+
this.context = context;
|
|
6
|
+
this._overlays = [];
|
|
7
|
+
this.painter = null;
|
|
8
|
+
this.dataPoint = null;
|
|
9
|
+
this._radius = 5;
|
|
10
|
+
this._minRadiusInPixels = 4;
|
|
11
|
+
this._highlightedId = null;
|
|
12
|
+
this.texture = new TgdTexture2D(context, {
|
|
13
|
+
params: {
|
|
14
|
+
magFilter: "NEAREST",
|
|
15
|
+
minFilter: "NEAREST",
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
get radius() {
|
|
20
|
+
return this._radius;
|
|
21
|
+
}
|
|
22
|
+
set radius(radius) {
|
|
23
|
+
if (this._radius === radius)
|
|
24
|
+
return;
|
|
25
|
+
this._radius = radius;
|
|
26
|
+
const { painter } = this;
|
|
27
|
+
if (painter) {
|
|
28
|
+
painter.radiusMultiplier = radius;
|
|
29
|
+
this.context.paint();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get minRadiusInPixels() {
|
|
33
|
+
return this._minRadiusInPixels;
|
|
34
|
+
}
|
|
35
|
+
set minRadiusInPixels(minRadiusInPixels) {
|
|
36
|
+
if (this._minRadiusInPixels === minRadiusInPixels)
|
|
37
|
+
return;
|
|
38
|
+
this._minRadiusInPixels = minRadiusInPixels;
|
|
39
|
+
const { painter } = this;
|
|
40
|
+
if (painter) {
|
|
41
|
+
painter.minSizeInPixels = minRadiusInPixels;
|
|
42
|
+
this.context.paint();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
get highlightedId() {
|
|
46
|
+
return this._highlightedId;
|
|
47
|
+
}
|
|
48
|
+
set highlightedId(highlightedId) {
|
|
49
|
+
if (this._highlightedId === highlightedId)
|
|
50
|
+
return;
|
|
51
|
+
this._highlightedId = highlightedId;
|
|
52
|
+
this.rebuild();
|
|
53
|
+
}
|
|
54
|
+
get overlays() {
|
|
55
|
+
return this._overlays;
|
|
56
|
+
}
|
|
57
|
+
set overlays(overlays) {
|
|
58
|
+
if (sameOverlayTopology(this._overlays, overlays) && this.painter && this.dataPoint) {
|
|
59
|
+
this._overlays = overlays;
|
|
60
|
+
this.syncPositions();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this._overlays = overlays;
|
|
64
|
+
this.rebuild();
|
|
65
|
+
}
|
|
66
|
+
syncPositions() {
|
|
67
|
+
const { dataPoint, painter } = this;
|
|
68
|
+
if (!dataPoint || !painter)
|
|
69
|
+
return;
|
|
70
|
+
writePositions(dataPoint, this._overlays, this._highlightedId);
|
|
71
|
+
this.uploadPositions();
|
|
72
|
+
}
|
|
73
|
+
uploadPositions() {
|
|
74
|
+
var _a, _b, _c, _d;
|
|
75
|
+
const { painter, dataPoint, context } = this;
|
|
76
|
+
if (!painter || !dataPoint)
|
|
77
|
+
return;
|
|
78
|
+
const internals = painter;
|
|
79
|
+
const dataset = (_b = (_a = internals.vao) === null || _a === void 0 ? void 0 : _a.datasets) === null || _b === void 0 ? void 0 : _b[0];
|
|
80
|
+
if (!dataset) {
|
|
81
|
+
this.rebuild();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const shared = new Float32Array(dataset.data);
|
|
85
|
+
const count = dataPoint.length >> 2;
|
|
86
|
+
const expectedFloats = count * 6;
|
|
87
|
+
if (shared.length !== expectedFloats) {
|
|
88
|
+
this.rebuild();
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
for (let i = 0; i < count; i++) {
|
|
92
|
+
const src = i * 4;
|
|
93
|
+
const dst = i * 6;
|
|
94
|
+
shared[dst] = dataPoint[src];
|
|
95
|
+
shared[dst + 1] = dataPoint[src + 1];
|
|
96
|
+
shared[dst + 2] = dataPoint[src + 2];
|
|
97
|
+
shared[dst + 3] = dataPoint[src + 3];
|
|
98
|
+
}
|
|
99
|
+
const buffer = (_d = (_c = internals.vao).getBuffer) === null || _d === void 0 ? void 0 : _d.call(_c, 0);
|
|
100
|
+
if (buffer) {
|
|
101
|
+
const { gl } = context;
|
|
102
|
+
buffer.bind();
|
|
103
|
+
gl.bufferSubData(gl.ARRAY_BUFFER, 0, shared);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
dataset.set("attPoint", dataPoint);
|
|
107
|
+
internals.vao.updateDataset(dataset);
|
|
108
|
+
}
|
|
109
|
+
context.paint();
|
|
110
|
+
}
|
|
111
|
+
rebuild() {
|
|
112
|
+
const { overlays } = this;
|
|
113
|
+
this.removeAll();
|
|
114
|
+
this.painter = null;
|
|
115
|
+
this.dataPoint = null;
|
|
116
|
+
if (overlays.length > 0) {
|
|
117
|
+
const palette = overlays.map((overlay) => forceOpaque(overlay.id && overlay.id === this._highlightedId
|
|
118
|
+
? highlightColor(overlay.color)
|
|
119
|
+
: overlay.color));
|
|
120
|
+
this.texture.loadBitmap(tgdCanvasCreatePalette(palette));
|
|
121
|
+
const attXYZR = [];
|
|
122
|
+
const attUV = [];
|
|
123
|
+
for (let indexGroup = 0; indexGroup < overlays.length; indexGroup++) {
|
|
124
|
+
const group = overlays[indexGroup];
|
|
125
|
+
const highlighted = Boolean(group.id && group.id === this._highlightedId);
|
|
126
|
+
const scale = highlighted ? 1.55 : 1;
|
|
127
|
+
const u = (indexGroup + 0.5) / overlays.length;
|
|
128
|
+
for (let indexCoords = 0; indexCoords < group.coordinates.length; indexCoords += 3) {
|
|
129
|
+
const x = group.coordinates[indexCoords + 0];
|
|
130
|
+
const y = group.coordinates[indexCoords + 1];
|
|
131
|
+
const z = group.coordinates[indexCoords + 2];
|
|
132
|
+
attXYZR.push(x, y, z, scale);
|
|
133
|
+
attUV.push(u, 0.5);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const dataPoint = new Float32Array(attXYZR);
|
|
137
|
+
this.dataPoint = dataPoint;
|
|
138
|
+
const painter = new TgdPainterPointsCloud(this.context, {
|
|
139
|
+
dataPoint,
|
|
140
|
+
dataUV: new Float32Array(attUV),
|
|
141
|
+
texture: this.texture,
|
|
142
|
+
radiusMultiplier: this.radius,
|
|
143
|
+
minSizeInPixels: this.minRadiusInPixels,
|
|
144
|
+
fragCode: TgdPainterPointsCloud.fragCodeFlat(),
|
|
145
|
+
});
|
|
146
|
+
this.painter = painter;
|
|
147
|
+
this.add(painter);
|
|
148
|
+
}
|
|
149
|
+
this.context.paint();
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function highlightColor(color) {
|
|
153
|
+
return TgdColor.fromMix(0.55, color, "#ffffff").alphaSet(1).toString();
|
|
154
|
+
}
|
|
155
|
+
function forceOpaque(color) {
|
|
156
|
+
return TgdColor.fromString(color).alphaSet(1).toString();
|
|
157
|
+
}
|
|
158
|
+
function sameOverlayTopology(a, b) {
|
|
159
|
+
if (a.length !== b.length)
|
|
160
|
+
return false;
|
|
161
|
+
for (let i = 0; i < a.length; i++) {
|
|
162
|
+
if (a[i].color !== b[i].color)
|
|
163
|
+
return false;
|
|
164
|
+
if (a[i].id !== b[i].id)
|
|
165
|
+
return false;
|
|
166
|
+
if (a[i].coordinates.length !== b[i].coordinates.length)
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
return true;
|
|
170
|
+
}
|
|
171
|
+
function writePositions(dataPoint, overlays, highlightedId) {
|
|
172
|
+
let offset = 0;
|
|
173
|
+
for (const group of overlays) {
|
|
174
|
+
const scale = group.id && group.id === highlightedId ? 1.55 : 1;
|
|
175
|
+
const coords = group.coordinates;
|
|
176
|
+
for (let i = 0; i < coords.length; i += 3) {
|
|
177
|
+
dataPoint[offset] = coords[i];
|
|
178
|
+
dataPoint[offset + 1] = coords[i + 1];
|
|
179
|
+
dataPoint[offset + 2] = coords[i + 2];
|
|
180
|
+
dataPoint[offset + 3] = scale;
|
|
181
|
+
offset += 4;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGQtb3ZlcmxheXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGFpbnRlcnMvd29ybGQtb3ZlcmxheXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFFBQVEsRUFDUixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixzQkFBc0IsR0FDdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQWtDeEIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFTdkQsWUFBNEIsT0FBbUI7UUFDN0MsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztRQURkLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFQdkMsY0FBUyxHQUErQixFQUFFLENBQUM7UUFDM0MsWUFBTyxHQUFpQyxJQUFJLENBQUM7UUFDN0MsY0FBUyxHQUF3QixJQUFJLENBQUM7UUFDdEMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2QixtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFJM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsTUFBTSxFQUFFO2dCQUNOLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixTQUFTLEVBQUUsU0FBUzthQUNyQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQWM7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLE1BQU07WUFBRSxPQUFPO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxnQkFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openbraininstitute/morphoviewer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.0",
|
|
4
4
|
"description": "Class to display SWC files in 3D on a canvas",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"url": "https://github.com/openbraininstitute/morphoviewer/issues"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@tolokoban/tgd": "
|
|
45
|
+
"@tolokoban/tgd": "2.4.0",
|
|
46
46
|
"fflate": "^0.8.3",
|
|
47
47
|
"tslib": "^2.8.1"
|
|
48
48
|
},
|