@openbraininstitute/morphoviewer 0.31.1 → 0.32.1
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-simul/painter/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-simul/painter/manager.js +2 -2
- package/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -1
- package/dist/components/morpho-viewer-simul/painter/offscreen-painter/offscreen-painter.js +2 -2
- package/dist/components/morpho-viewer-simul/types/public.d.ts +2 -1
- package/dist/components/morpho-viewer-simul/types/public.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/index.d.ts +1 -0
- package/dist/components/morpho-viewer-small-circuit/index.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/index.js +2 -1
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +34 -2
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/manager.js +359 -6
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/index.js +2 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +2 -0
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js +19 -5
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.d.ts +24 -0
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.js +86 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.d.ts +19 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.js +69 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +3 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.js +67 -19
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell.d.ts +5 -1
- 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 -2
- package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/index.d.ts +2 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/index.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/index.js +2 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/painter-location-markers.d.ts +27 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/painter-location-markers.d.ts.map +1 -0
- package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/painter-location-markers.js +83 -0
- package/dist/components/morpho-viewer-small-circuit/types.d.ts +41 -1
- package/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -1
- package/dist/morphology-picking/index.d.ts +6 -0
- package/dist/morphology-picking/index.d.ts.map +1 -0
- package/dist/morphology-picking/index.js +5 -0
- package/dist/morphology-picking/material-index.d.ts.map +1 -0
- package/dist/morphology-picking/material-index.js +14 -0
- package/dist/morphology-picking/material-segment-index.d.ts +5 -0
- package/dist/morphology-picking/material-segment-index.d.ts.map +1 -0
- package/dist/morphology-picking/material-segment-index.js +14 -0
- package/dist/morphology-picking/section-offset.d.ts +4 -0
- package/dist/morphology-picking/section-offset.d.ts.map +1 -0
- package/dist/morphology-picking/section-offset.js +33 -0
- package/dist/morphology-picking/segment-index-codec.d.ts +4 -0
- package/dist/morphology-picking/segment-index-codec.d.ts.map +1 -0
- package/dist/morphology-picking/segment-index-codec.js +22 -0
- package/dist/morphology-picking/types.d.ts +12 -0
- package/dist/morphology-picking/types.d.ts.map +1 -0
- package/dist/morphology-picking/types.js +2 -0
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/components/morpho-viewer-simul/painter/math.d.ts +0 -4
- package/dist/components/morpho-viewer-simul/painter/math.d.ts.map +0 -1
- package/dist/components/morpho-viewer-simul/painter/math.js +0 -33
- package/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.d.ts.map +0 -1
- package/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.js +0 -14
- /package/dist/{components/morpho-viewer-simul/painter/offscreen-painter → morphology-picking}/material-index.d.ts +0 -0
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { TgdBoundingBox, TgdColor, TgdGeometrySphereIco, TgdLight, TgdMaterialFlat, TgdMaterialFlatTexture, TgdPainterGroup, TgdPainterMesh, TgdQuat, TgdTexture2D, TgdVec4, tgdCanvasCreatePalette, } from "@tolokoban/tgd";
|
|
3
3
|
import { MorphoViewerTreeItemType } from "./../../../morpho-viewer-simul";
|
|
4
|
+
import { MaterialSegmentIndex } from "./../../../../morphology-picking";
|
|
4
5
|
import { int16ToVec3 } from "./../../../../utils";
|
|
5
6
|
import { createCellFromTree } from "./factory/tree";
|
|
6
7
|
import { MaterialDiffuseAlpha } from "./material-diffuse-alpha";
|
|
8
|
+
function isSelectionMaterial(material) {
|
|
9
|
+
return typeof material === "number" || material === "segment";
|
|
10
|
+
}
|
|
7
11
|
export class PainterCell extends TgdPainterGroup {
|
|
8
12
|
constructor(context, options) {
|
|
9
13
|
var _a, _b, _c;
|
|
@@ -15,6 +19,7 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
15
19
|
this._black = false;
|
|
16
20
|
this._isDeleted = false;
|
|
17
21
|
this._bbox = new TgdBoundingBox();
|
|
22
|
+
this._sections = null;
|
|
18
23
|
const { cell } = options;
|
|
19
24
|
const [x, y, z] = options.cell.center;
|
|
20
25
|
this.bbox.addSphere(x, y, z, cell.somaRadius * 5);
|
|
@@ -36,6 +41,9 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
36
41
|
case "flat":
|
|
37
42
|
this.material = new TgdMaterialFlatTexture({ texture });
|
|
38
43
|
break;
|
|
44
|
+
case "segment":
|
|
45
|
+
this.material = new MaterialSegmentIndex();
|
|
46
|
+
break;
|
|
39
47
|
default:
|
|
40
48
|
this.material = new TgdMaterialFlat({
|
|
41
49
|
color: [...int16ToVec3(materialType), 1],
|
|
@@ -58,6 +66,9 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
58
66
|
get bbox() {
|
|
59
67
|
return this._bbox;
|
|
60
68
|
}
|
|
69
|
+
get sections() {
|
|
70
|
+
return this._sections;
|
|
71
|
+
}
|
|
61
72
|
get isDeleted() {
|
|
62
73
|
return this._isDeleted || this.context.isDeleted;
|
|
63
74
|
}
|
|
@@ -98,13 +109,17 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
98
109
|
}
|
|
99
110
|
loadCell() {
|
|
100
111
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
var _a, _b;
|
|
101
113
|
const { context, material } = this;
|
|
102
114
|
const { cell, loadCell, onCellLoaded } = this.options;
|
|
103
115
|
try {
|
|
104
116
|
const [path] = cell.id.split("?");
|
|
105
117
|
const data = yield loadCell(path);
|
|
118
|
+
if (this.isDeleted)
|
|
119
|
+
return;
|
|
106
120
|
if (isCellAsTree(data)) {
|
|
107
|
-
const { node, bbox } = createCellFromTree(context, material, data.data,
|
|
121
|
+
const { node, bbox, sections } = createCellFromTree(context, material, data.data, isSelectionMaterial((_a = this.options.matrerial) !== null && _a !== void 0 ? _a : "full"), (_b = this.options.somaAsSphere) !== null && _b !== void 0 ? _b : false);
|
|
122
|
+
this._sections = sections;
|
|
108
123
|
const [x, y, z] = cell.center;
|
|
109
124
|
const quat = new TgdQuat(cell.orientation);
|
|
110
125
|
node.transfo.setPosition(x, y, z);
|
|
@@ -123,6 +138,8 @@ export class PainterCell extends TgdPainterGroup {
|
|
|
123
138
|
}
|
|
124
139
|
}
|
|
125
140
|
catch (error) {
|
|
141
|
+
if (this.isDeleted || this.context.isDeleted)
|
|
142
|
+
return;
|
|
126
143
|
console.error(`Error loading cell "${cell.id}":`, error);
|
|
127
144
|
onCellLoaded === null || onCellLoaded === void 0 ? void 0 : onCellLoaded(null);
|
|
128
145
|
}
|
|
@@ -240,4 +257,4 @@ function computeSomaCenter(data, transfo) {
|
|
|
240
257
|
}
|
|
241
258
|
return center;
|
|
242
259
|
}
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci1jZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvcGFpbnRlci1jZWxsL3BhaW50ZXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxRQUFRLEVBRVIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFFUixlQUFlLEVBQ2Ysc0JBQXNCLEVBR3RCLGVBQWUsRUFDZixjQUFjLEVBQ2QsT0FBTyxFQUNQLFlBQVksRUFFWixPQUFPLEVBQ1Asc0JBQXNCLEdBQ3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUF5Qix3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUF3QmhFLE1BQU0sT0FBTyxXQUFZLFNBQVEsZUFBZTtJQVU5QyxZQUNrQixPQUFtQixFQUNoQixPQUEyQjs7UUFFOUMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUNGLE1BQUEsT0FBTyxDQUFDLElBQUksbUNBQ1osaUJBQWlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxPQUFPLE9BQU8sQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRztTQUN0SixDQUFDLENBQUM7UUFQYSxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBUnhDLFdBQU0sR0FBRyxLQUFL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
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci1jZWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvcGFpbnRlci1jZWxsL3BhaW50ZXItY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxRQUFRLEVBRVIsb0JBQW9CLEVBQ3BCLFFBQVEsRUFFUixlQUFlLEVBQ2Ysc0JBQXNCLEVBR3RCLGVBQWUsRUFDZixjQUFjLEVBQ2QsT0FBTyxFQUNQLFlBQVksRUFFWixPQUFPLEVBQ1Asc0JBQXNCLEdBQ3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUF5Qix3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFzQ2hFLFNBQVMsbUJBQW1CLENBQUMsUUFBaUM7SUFDNUQsT0FBTyxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxLQUFLLFNBQVMsQ0FBQztBQUNoRSxDQUFDO0FBRUQsTUFBTSxPQUFPLFdBQVksU0FBUSxlQUFlO0lBVzlDLFlBQ2tCLE9BQW1CLEVBQ2hCLE9BQTJCOztRQUU5QyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQ0YsTUFBQSxPQUFPLENBQUMsSUFBSSxtQ0FDWixpQkFBaUIsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsRUFBRSxLQUFLLE9BQU8sT0FBTyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sT0FB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
|
package/dist/components/morpho-viewer-small-circuit/painter/painter-location-markers/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-location-markers/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./painter-location-markers";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9wYWludGVyLWxvY2F0aW9uLW1hcmtlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQyJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type TgdContext, TgdPainterGroup } from "@tolokoban/tgd";
|
|
2
|
+
export interface LocationMarker {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
z: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class PainterLocationMarkers extends TgdPainterGroup {
|
|
8
|
+
readonly context: TgdContext;
|
|
9
|
+
private readonly texture;
|
|
10
|
+
private painter;
|
|
11
|
+
private _markers;
|
|
12
|
+
private _color;
|
|
13
|
+
private _radius;
|
|
14
|
+
private _minRadiusInPixels;
|
|
15
|
+
constructor(context: TgdContext);
|
|
16
|
+
get markers(): LocationMarker[];
|
|
17
|
+
set markers(markers: LocationMarker[]);
|
|
18
|
+
get color(): string;
|
|
19
|
+
set color(color: string);
|
|
20
|
+
get radius(): number;
|
|
21
|
+
set radius(radius: number);
|
|
22
|
+
get minRadiusInPixels(): number;
|
|
23
|
+
set minRadiusInPixels(minRadiusInPixels: number);
|
|
24
|
+
private rebuild;
|
|
25
|
+
delete(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=painter-location-markers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"painter-location-markers.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/painter-location-markers/painter-location-markers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AASD,qBAAa,sBAAuB,SAAQ,eAAe;aAQ7B,OAAO,EAAE,UAAU;IAP/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,kBAAkB,CAAK;gBAEH,OAAO,EAAE,UAAU;IAO/C,IAAI,OAAO,IAAI,cAAc,EAAE,CAE9B;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,EAGpC;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,EAKtB;IAGD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAMxB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IACD,IAAI,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAM9C;IAED,OAAO,CAAC,OAAO;IA2Bf,MAAM,IAAI,IAAI;CAIf"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { TgdPainterGroup, TgdPainterPointsCloud, TgdTexture2D, tgdCanvasCreateFill, } from "@tolokoban/tgd";
|
|
2
|
+
export class PainterLocationMarkers extends TgdPainterGroup {
|
|
3
|
+
constructor(context) {
|
|
4
|
+
super({ name: "PainterLocationMarkers" });
|
|
5
|
+
this.context = context;
|
|
6
|
+
this.painter = null;
|
|
7
|
+
this._markers = [];
|
|
8
|
+
this._color = "#ef9f27";
|
|
9
|
+
this._radius = 3;
|
|
10
|
+
this._minRadiusInPixels = 6;
|
|
11
|
+
this.texture = new TgdTexture2D(context, {
|
|
12
|
+
params: { magFilter: "NEAREST", minFilter: "NEAREST" },
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
get markers() {
|
|
16
|
+
return this._markers;
|
|
17
|
+
}
|
|
18
|
+
set markers(markers) {
|
|
19
|
+
this._markers = markers;
|
|
20
|
+
this.rebuild();
|
|
21
|
+
}
|
|
22
|
+
get color() {
|
|
23
|
+
return this._color;
|
|
24
|
+
}
|
|
25
|
+
set color(color) {
|
|
26
|
+
if (this._color === color)
|
|
27
|
+
return;
|
|
28
|
+
this._color = color;
|
|
29
|
+
this.rebuild();
|
|
30
|
+
}
|
|
31
|
+
get radius() {
|
|
32
|
+
return this._radius;
|
|
33
|
+
}
|
|
34
|
+
set radius(radius) {
|
|
35
|
+
if (this._radius === radius)
|
|
36
|
+
return;
|
|
37
|
+
this._radius = radius;
|
|
38
|
+
if (this.painter)
|
|
39
|
+
this.painter.radiusMultiplier = radius;
|
|
40
|
+
this.context.paint();
|
|
41
|
+
}
|
|
42
|
+
get minRadiusInPixels() {
|
|
43
|
+
return this._minRadiusInPixels;
|
|
44
|
+
}
|
|
45
|
+
set minRadiusInPixels(minRadiusInPixels) {
|
|
46
|
+
if (this._minRadiusInPixels === minRadiusInPixels)
|
|
47
|
+
return;
|
|
48
|
+
this._minRadiusInPixels = minRadiusInPixels;
|
|
49
|
+
if (this.painter)
|
|
50
|
+
this.painter.minSizeInPixels = minRadiusInPixels;
|
|
51
|
+
this.context.paint();
|
|
52
|
+
}
|
|
53
|
+
rebuild() {
|
|
54
|
+
this.removeAll();
|
|
55
|
+
this.painter = null;
|
|
56
|
+
const { _markers: markers } = this;
|
|
57
|
+
if (markers.length > 0) {
|
|
58
|
+
this.texture.loadBitmap(tgdCanvasCreateFill(1, 1, this._color));
|
|
59
|
+
const attXYZR = [];
|
|
60
|
+
const attUV = [];
|
|
61
|
+
for (const { x, y, z } of markers) {
|
|
62
|
+
attXYZR.push(x, y, z, 1);
|
|
63
|
+
attUV.push(0.5, 0.5);
|
|
64
|
+
}
|
|
65
|
+
const painter = new TgdPainterPointsCloud(this.context, {
|
|
66
|
+
dataPoint: new Float32Array(attXYZR),
|
|
67
|
+
dataUV: new Float32Array(attUV),
|
|
68
|
+
texture: this.texture,
|
|
69
|
+
radiusMultiplier: this._radius,
|
|
70
|
+
minSizeInPixels: this._minRadiusInPixels,
|
|
71
|
+
fragCode: TgdPainterPointsCloud.fragCodeSphere({ depthPrecision: "none" }),
|
|
72
|
+
});
|
|
73
|
+
this.painter = painter;
|
|
74
|
+
this.add(painter);
|
|
75
|
+
}
|
|
76
|
+
this.context.paint();
|
|
77
|
+
}
|
|
78
|
+
delete() {
|
|
79
|
+
super.delete();
|
|
80
|
+
this.texture.delete();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnRlci1sb2NhdGlvbi1tYXJrZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9ycGhvLXZpZXdlci1zbWFsbC1jaXJjdWl0L3BhaW50ZXIvcGFpbnRlci1sb2NhdGlvbi1tYXJrZXJzL3BhaW50ZXItbG9jYXRpb24tbWFya2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFnQnhCLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxlQUFlO0lBUXpELFlBQTRCLE9BQW1CO1FBQzdDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7UUFEaEIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQU52QyxZQUFPLEdBQWlDLElBQUksQ0FBQztRQUM3QyxhQUFRLEdBQXFCLEVBQUUsQ0FBQztRQUNoQyxXQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWix1QkFBa0IsR0FBRyxDQUFDLENBQUM7UUFJN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQXlCO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ControlsLayoutProps } from "../controls-layout";
|
|
2
|
-
import type { MorphoViewerTree } from "../morpho-viewer-simul";
|
|
2
|
+
import type { MorphoViewerTree, MorphoViewerTreeItemType } from "../morpho-viewer-simul";
|
|
3
3
|
import type { MorphoViewerSignals } from "../signals";
|
|
4
4
|
import type { MorphoViewerWorldOverlay, PropsForGizmo, PropsForOverlayInteraction, PropsForScalebar } from "../types";
|
|
5
5
|
export interface SectionColors {
|
|
@@ -17,6 +17,44 @@ export interface MorphoViewerSmallCircuitCell {
|
|
|
17
17
|
somaRadius: number;
|
|
18
18
|
color?: string | SectionColors;
|
|
19
19
|
}
|
|
20
|
+
export interface MorphoViewerMorphologyLocationPick {
|
|
21
|
+
cell: MorphoViewerSmallCircuitCell;
|
|
22
|
+
sectionName: string;
|
|
23
|
+
sonataSectionId?: number;
|
|
24
|
+
sectionType?: MorphoViewerTreeItemType;
|
|
25
|
+
offset: number;
|
|
26
|
+
existingMarker?: MorphoViewerMorphologyLocationMarker;
|
|
27
|
+
}
|
|
28
|
+
export interface MorphoViewerMorphologyLocationMarker {
|
|
29
|
+
cellId: string;
|
|
30
|
+
sectionName: string;
|
|
31
|
+
offset: number;
|
|
32
|
+
sonataSectionId?: number;
|
|
33
|
+
sectionType?: MorphoViewerTreeItemType;
|
|
34
|
+
}
|
|
35
|
+
export interface MorphoViewerMorphologyLocationHover extends MorphoViewerMorphologyLocationMarker {
|
|
36
|
+
kind: "selected" | "preview";
|
|
37
|
+
screen: {
|
|
38
|
+
x: number;
|
|
39
|
+
y: number;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export interface MorphoViewerMorphologyLocationLabel {
|
|
43
|
+
marker: MorphoViewerMorphologyLocationMarker;
|
|
44
|
+
screen: {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
};
|
|
48
|
+
visible: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface MorphoViewerMorphologyLocationSelection {
|
|
51
|
+
selected: MorphoViewerMorphologyLocationMarker[];
|
|
52
|
+
onPick(this: void, pick: MorphoViewerMorphologyLocationPick): void;
|
|
53
|
+
onHover?(this: void, hover: MorphoViewerMorphologyLocationHover | null): void;
|
|
54
|
+
onLabelsChange?(this: void, labels: MorphoViewerMorphologyLocationLabel[]): void;
|
|
55
|
+
color?: string;
|
|
56
|
+
radius?: number;
|
|
57
|
+
}
|
|
20
58
|
export type MorphoViewerSmallCircuitCellData = {
|
|
21
59
|
type: "tree";
|
|
22
60
|
data: MorphoViewerTree;
|
|
@@ -35,9 +73,11 @@ export type MorphoViewerSmallCircuitProps = PropsForGizmo & PropsForScalebar & P
|
|
|
35
73
|
synapsesRadius?: number;
|
|
36
74
|
synapsesMinRadiusInPixels?: number;
|
|
37
75
|
neuronOpacity?: number;
|
|
76
|
+
somaAsSphere?: boolean;
|
|
38
77
|
highlightedCellIds?: string[];
|
|
39
78
|
onCellHover?(cell: MorphoViewerSmallCircuitCell | undefined): void;
|
|
40
79
|
onCellClick?(cell: MorphoViewerSmallCircuitCell | undefined): void;
|
|
80
|
+
locationSelection?: MorphoViewerMorphologyLocationSelection;
|
|
41
81
|
onClose?(): void;
|
|
42
82
|
onMinimize?(): void;
|
|
43
83
|
loadCell(id: string): Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/morpho-viewer-small-circuit/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { MaterialIndex } from "./material-index";
|
|
2
|
+
export { MaterialSegmentIndex } from "./material-segment-index";
|
|
3
|
+
export { computeSectionOffset } from "./section-offset";
|
|
4
|
+
export { decodeSegmentIndex, encodeSegmentIndex, spiralPixelOffsets, } from "./segment-index-codec";
|
|
5
|
+
export type { PickableSegment, SectionSegmentIndex } from "./types";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/morphology-picking/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MaterialIndex } from "./material-index";
|
|
2
|
+
export { MaterialSegmentIndex } from "./material-segment-index";
|
|
3
|
+
export { computeSectionOffset } from "./section-offset";
|
|
4
|
+
export { decodeSegmentIndex, encodeSegmentIndex, spiralPixelOffsets, } from "./segment-index-codec";
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ycGhvbG9neS1waWNraW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSx1QkFBdUIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-index.d.ts","sourceRoot":"","sources":["../../src/morphology-picking/material-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiC,MAAM,gBAAgB,CAAC;AAE5E,qBAAa,aAAc,SAAQ,WAAW;;CAa7C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TgdMaterial, tgdCodeFunction_float01ToVec3 } from "@tolokoban/tgd";
|
|
2
|
+
export class MaterialIndex extends TgdMaterial {
|
|
3
|
+
constructor() {
|
|
4
|
+
super({
|
|
5
|
+
varyings: {
|
|
6
|
+
varColor: "vec3",
|
|
7
|
+
},
|
|
8
|
+
extraVertexShaderFunctions: Object.assign({}, tgdCodeFunction_float01ToVec3()),
|
|
9
|
+
vertexShaderCode: ["varColor = float01ToVec3(mix(attUV1_A.y, attUV1_B.y, uniMix));"],
|
|
10
|
+
fragmentShaderCode: ["return vec4(varColor, 1);"],
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ycGhvbG9neS1waWNraW5nL21hdGVyaWFsLWluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxNQUFNLE9BQU8sYUFBYyxTQUFRLFdBQVc7SUFDNUM7UUFDRSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLE1BQU07YUFDakI7WUFDRCwwQkFBMEIsb0JBQ3JCLDZCQUE2QixFQUFFLENBQ25DO1lBQ0QsZ0JBQWdCLEVBQUUsQ0FBQyxnRUFBZ0UsQ0FBQztZQUNwRixrQkFBa0IsRUFBRSxDQUFDLDJCQUEyQixDQUFDO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-segment-index.d.ts","sourceRoot":"","sources":["../../src/morphology-picking/material-segment-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiC,MAAM,gBAAgB,CAAC;AAY5E,qBAAa,oBAAqB,SAAQ,WAAW;;CAapD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TgdMaterial, tgdCodeFunction_float01ToVec3 } from "@tolokoban/tgd";
|
|
2
|
+
export class MaterialSegmentIndex extends TgdMaterial {
|
|
3
|
+
constructor() {
|
|
4
|
+
super({
|
|
5
|
+
varyings: {
|
|
6
|
+
varColor: "vec3",
|
|
7
|
+
},
|
|
8
|
+
extraVertexShaderFunctions: Object.assign({}, tgdCodeFunction_float01ToVec3()),
|
|
9
|
+
vertexShaderCode: ["varColor = float01ToVec3(uv.y);"],
|
|
10
|
+
fragmentShaderCode: ["return vec4(varColor, 1);"],
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtc2VnbWVudC1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb3JwaG9sb2d5LXBpY2tpbmcvbWF0ZXJpYWwtc2VnbWVudC1pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFZNUUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFdBQVc7SUFDbkQ7UUFDRSxLQUFLLENBQUM7WUFDSixRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLE1BQU07YUFDakI7WUFDRCwwQkFBMEIsb0JBQ3JCLDZCQUE2QixFQUFFLENBQ25DO1lBQ0QsZ0JBQWdCLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztZQUNyRCxrQkFBa0IsRUFBRSxDQUFDLDJCQUEyQixDQUFDO1NBQ2xELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type TgdCamera } from "@tolokoban/tgd";
|
|
2
|
+
import type { PickableSegment, SectionSegmentIndex } from "./types";
|
|
3
|
+
export declare function computeSectionOffset(sections: SectionSegmentIndex, item: PickableSegment, camera: TgdCamera, xScreen: number, yScreen: number): number;
|
|
4
|
+
//# sourceMappingURL=section-offset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-offset.d.ts","sourceRoot":"","sources":["../../src/morphology-picking/section-offset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,gBAAgB,CAAC;AAEzF,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AASpE,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,mBAAmB,EAC7B,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,UAehB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TgdMat4, TgdVec2, TgdVec4, tgdCalcClamp } from "@tolokoban/tgd";
|
|
2
|
+
export function computeSectionOffset(sections, item, camera, xScreen, yScreen) {
|
|
3
|
+
const offsetSegment = computeSegmentOffset(item, camera, xScreen, yScreen);
|
|
4
|
+
const segments = sections.getSegmentsOfSection(item.sectionName);
|
|
5
|
+
let distance = 0;
|
|
6
|
+
let totalDistance = 0;
|
|
7
|
+
for (const segment of segments) {
|
|
8
|
+
totalDistance += segment.segmentLength;
|
|
9
|
+
if (segment.segmentIndex === item.segmentIndex) {
|
|
10
|
+
distance += segment.segmentLength * offsetSegment;
|
|
11
|
+
}
|
|
12
|
+
else if (segment.segmentIndex < item.segmentIndex) {
|
|
13
|
+
distance += segment.segmentLength;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return totalDistance > 0 ? distance / totalDistance : 0;
|
|
17
|
+
}
|
|
18
|
+
function computeSegmentOffset(item, camera, xScreen, yScreen) {
|
|
19
|
+
const start = new TgdVec4(...item.start, 1);
|
|
20
|
+
const end = new TgdVec4(...item.end, 1);
|
|
21
|
+
const matrix = new TgdMat4(camera.matrixProjection).multiply(camera.matrixModelView);
|
|
22
|
+
start.applyMatrix(matrix);
|
|
23
|
+
start.scale(1 / start.w);
|
|
24
|
+
end.applyMatrix(matrix);
|
|
25
|
+
end.scale(1 / end.w);
|
|
26
|
+
const vecU = new TgdVec2(end.x - start.x, end.y - start.y);
|
|
27
|
+
const length = vecU.size;
|
|
28
|
+
vecU.normalize();
|
|
29
|
+
const vecV = new TgdVec2(xScreen - start.x, yScreen - start.y);
|
|
30
|
+
const distance = vecU.dot(vecV);
|
|
31
|
+
return tgdCalcClamp(length > 0 ? distance / length : 0, 0, 1);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1vZmZzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ycGhvbG9neS1waWNraW5nL3NlY3Rpb24tb2Zmc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXekYsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxRQUE2QixFQUM3QixJQUFxQixFQUNyQixNQUFpQixFQUNqQixPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN0QixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLGFBQWEsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3BELENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BELFFBQVEsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQVFELFNBQVMsb0JBQW9CLENBQzNCLElBQXFCLEVBQ3JCLE1BQWlCLEVBQ2pCLE9BQWUsRUFDZixPQUFlO0lBRWYsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JGLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsT0FBTyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDIn0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function encodeSegmentIndex(index: number, count: number): number;
|
|
2
|
+
export declare function decodeSegmentIndex(value: number, count: number): number;
|
|
3
|
+
export declare function spiralPixelOffsets(radius: number): ReadonlyArray<readonly [number, number]>;
|
|
4
|
+
//# sourceMappingURL=segment-index-codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-index-codec.d.ts","sourceRoot":"","sources":["../../src/morphology-picking/segment-index-codec.ts"],"names":[],"mappings":"AASA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AASD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAa3F"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function encodeSegmentIndex(index, count) {
|
|
2
|
+
return (index + 1.5) / (count + 2);
|
|
3
|
+
}
|
|
4
|
+
export function decodeSegmentIndex(value, count) {
|
|
5
|
+
return Math.floor((count + 2) * value) - 1;
|
|
6
|
+
}
|
|
7
|
+
const spiralCache = new Map();
|
|
8
|
+
export function spiralPixelOffsets(radius) {
|
|
9
|
+
const cached = spiralCache.get(radius);
|
|
10
|
+
if (cached)
|
|
11
|
+
return cached;
|
|
12
|
+
const offsets = [];
|
|
13
|
+
for (let dy = -radius; dy <= radius; dy++) {
|
|
14
|
+
for (let dx = -radius; dx <= radius; dx++) {
|
|
15
|
+
offsets.push([dx, dy]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
offsets.sort((a, b) => Math.pow(a[0], 2) + Math.pow(a[1], 2) - (Math.pow(b[0], 2) + Math.pow(b[1], 2)));
|
|
19
|
+
spiralCache.set(radius, offsets);
|
|
20
|
+
return offsets;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1pbmRleC1jb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb3JwaG9sb2d5LXBpY2tpbmcvc2VnbWVudC1pbmRleC1jb2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYSxFQUFFLEtBQWE7SUFDN0QsT0FBTyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBR0QsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWEsRUFBRSxLQUFhO0lBQzdELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxFQUFvRCxDQUFDO0FBT2hGLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxNQUFjO0lBQy9DLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsSUFBSSxNQUFNO1FBQUUsT0FBTyxNQUFNLENBQUM7SUFFMUIsTUFBTSxPQUFPLEdBQTRCLEVBQUUsQ0FBQztJQUM1QyxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMxQyxLQUFLLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUksQ0FBQyxDQUFBLEdBQUcsU0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUksQ0FBQyxDQUFBLEdBQUcsQ0FBQyxTQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBSSxDQUFDLENBQUEsR0FBRyxTQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7SUFDeEUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ArrayNumber3 } from "@tolokoban/tgd";
|
|
2
|
+
export interface PickableSegment {
|
|
3
|
+
sectionName: string;
|
|
4
|
+
segmentIndex: number;
|
|
5
|
+
segmentLength: number;
|
|
6
|
+
start: ArrayNumber3;
|
|
7
|
+
end: ArrayNumber3;
|
|
8
|
+
}
|
|
9
|
+
export interface SectionSegmentIndex {
|
|
10
|
+
getSegmentsOfSection(sectionName: string): PickableSegment[];
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/morphology-picking/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQnD,MAAM,WAAW,eAAe;IAE9B,WAAW,EAAE,MAAM,CAAC;IAEpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,GAAG,EAAE,YAAY,CAAC;CACnB;AAGD,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAAC;CAC9D"}
|
package/dist/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type TgdCamera } from "@tolokoban/tgd";
|
|
2
|
-
import type { Structure, StructureItem } from "./structure";
|
|
3
|
-
export declare function computeSectionOffset(structure: Structure, item: StructureItem, camera: TgdCamera, xScreen: number, yScreen: number): number;
|
|
4
|
-
//# sourceMappingURL=math.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../src/components/morpho-viewer-simul/painter/math.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA2C,MAAM,gBAAgB,CAAC;AAEzF,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,UAehB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { TgdMat4, TgdVec2, TgdVec4, tgdCalcClamp } from "@tolokoban/tgd";
|
|
2
|
-
export function computeSectionOffset(structure, item, camera, xScreen, yScreen) {
|
|
3
|
-
const offsetSegment = computeSegmentOffset(item, camera, xScreen, yScreen);
|
|
4
|
-
const segments = structure.getSegmentsOfSection(item.sectionName);
|
|
5
|
-
let distance = 0;
|
|
6
|
-
let totalDistance = 0;
|
|
7
|
-
for (const segment of segments) {
|
|
8
|
-
totalDistance += segment.segmentLength;
|
|
9
|
-
if (segment.segmentIndex === item.segmentIndex) {
|
|
10
|
-
distance += segment.segmentLength * offsetSegment;
|
|
11
|
-
}
|
|
12
|
-
else if (segment.segmentIndex < item.segmentIndex) {
|
|
13
|
-
distance += segment.segmentLength;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return totalDistance > 0 ? distance / totalDistance : 0;
|
|
17
|
-
}
|
|
18
|
-
function computeSegmentOffset(item, camera, xScreen, yScreen) {
|
|
19
|
-
const start = new TgdVec4(...item.start, 1);
|
|
20
|
-
const end = new TgdVec4(...item.end, 1);
|
|
21
|
-
const matrix = new TgdMat4(camera.matrixProjection).multiply(camera.matrixModelView);
|
|
22
|
-
start.applyMatrix(matrix);
|
|
23
|
-
start.scale(1 / start.w);
|
|
24
|
-
end.applyMatrix(matrix);
|
|
25
|
-
end.scale(1 / end.w);
|
|
26
|
-
const vecU = new TgdVec2(end.x - start.x, end.y - start.y);
|
|
27
|
-
const length = vecU.size;
|
|
28
|
-
vecU.normalize();
|
|
29
|
-
const vecV = new TgdVec2(xScreen - start.x, yScreen - start.y);
|
|
30
|
-
const distance = vecU.dot(vecV);
|
|
31
|
-
return tgdCalcClamp(length > 0 ? distance / length : 0, 0, 1);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc2ltdWwvcGFpbnRlci9tYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJekYsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxTQUFvQixFQUNwQixJQUFtQixFQUNuQixNQUFpQixFQUNqQixPQUFlLEVBQ2YsT0FBZTtJQUVmLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN0QixLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQy9CLGFBQWEsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0MsUUFBUSxJQUFJLE9BQU8sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ3BELENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BELFFBQVEsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQzNCLElBQW1CLEVBQ25CLE1BQWlCLEVBQ2pCLE9BQWUsRUFDZixPQUFlO0lBRWYsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3JGLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsT0FBTyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDIn0=
|
package/dist/components/morpho-viewer-simul/painter/offscreen-painter/material-index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"material-index.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-simul/painter/offscreen-painter/material-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5E,qBAAa,aAAc,SAAQ,WAAW;;CAa7C"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { tgdCodeFunction_float01ToVec3, TgdMaterial } from "@tolokoban/tgd";
|
|
2
|
-
export class MaterialIndex extends TgdMaterial {
|
|
3
|
-
constructor() {
|
|
4
|
-
super({
|
|
5
|
-
varyings: {
|
|
6
|
-
varColor: "vec3",
|
|
7
|
-
},
|
|
8
|
-
extraVertexShaderFunctions: Object.assign({}, tgdCodeFunction_float01ToVec3()),
|
|
9
|
-
vertexShaderCode: ["varColor = float01ToVec3(mix(attUV1_A.y, attUV1_B.y, uniMix));"],
|
|
10
|
-
fragmentShaderCode: ["return vec4(varColor, 1);"],
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNpbXVsL3BhaW50ZXIvb2Zmc2NyZWVuLXBhaW50ZXIvbWF0ZXJpYWwtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVFLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FBVztJQUM1QztRQUNFLEtBQUssQ0FBQztZQUNKLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsTUFBTTthQUNqQjtZQUNELDBCQUEwQixvQkFDckIsNkJBQTZCLEVBQUUsQ0FDbkM7WUFDRCxnQkFBZ0IsRUFBRSxDQUFDLGdFQUFnRSxDQUFDO1lBQ3BGLGtCQUFrQixFQUFFLENBQUMsMkJBQTJCLENBQUM7U0FDbEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
|
|
File without changes
|