@openbraininstitute/morphoviewer 0.32.4 → 0.34.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/behaviors/index.d.ts +1 -0
- package/dist/behaviors/index.d.ts.map +1 -1
- package/dist/behaviors/index.js +2 -1
- package/dist/behaviors/space-per-pixel.d.ts.map +1 -1
- package/dist/behaviors/space-per-pixel.js +2 -2
- package/dist/behaviors/zoom.d.ts +3 -0
- package/dist/behaviors/zoom.d.ts.map +1 -0
- package/dist/behaviors/zoom.js +13 -0
- 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/morpho-viewer-small-circuit.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.js +20 -2
- package/dist/components/morpho-viewer-small-circuit/morpho-viewer-small-circuit.module.css +70 -62
- package/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts +11 -2
- package/dist/components/morpho-viewer-small-circuit/painter/camera.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/camera.js +42 -6
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts +24 -8
- package/dist/components/morpho-viewer-small-circuit/painter/manager.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/manager.js +209 -72
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts +3 -3
- 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 +9 -2
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.d.ts +2 -0
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.js +8 -2
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.d.ts +4 -2
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.js +15 -6
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts +1 -0
- 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 +219 -16
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell-flat.js +2 -2
- package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/painter-cell-id.js +2 -2
- 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 +16 -4
- package/dist/components/morpho-viewer-small-circuit/painter/painter-synapses/index.d.ts.map +1 -1
- package/dist/components/morpho-viewer-small-circuit/painter/painter-synapses/index.js +1 -1
- package/dist/components/morpho-viewer-small-circuit/types.d.ts +3 -1
- package/dist/components/morpho-viewer-small-circuit/types.d.ts.map +1 -1
- package/dist/components/signals.d.ts +1 -0
- package/dist/components/signals.d.ts.map +1 -1
- package/dist/components/signals.js +2 -1
- package/dist/package.json +1 -1
- package/dist/painters/gizmo.d.ts +1 -0
- package/dist/painters/gizmo.d.ts.map +1 -1
- package/dist/painters/gizmo.js +27 -5
- package/package.json +1 -1
package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { TgdContext } from "@tolokoban/tgd";
|
|
2
|
-
import type { CacheLRU } from "../../../../tools/cache-lru";
|
|
3
2
|
import type { MorphoViewerSmallCircuitCell, MorphoViewerSmallCircuitCellData } from "../../types";
|
|
4
3
|
export interface OffscreenPainterOptions {
|
|
5
4
|
circuit: MorphoViewerSmallCircuitCell[];
|
|
6
5
|
loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
7
|
-
|
|
6
|
+
dendrogramMix?: number;
|
|
8
7
|
}
|
|
9
8
|
export declare class OffscreenPainter {
|
|
10
9
|
private readonly onscreenContext;
|
|
11
|
-
mix: number;
|
|
12
10
|
readonly context: TgdContext;
|
|
13
11
|
resolutionDivider: number;
|
|
14
12
|
private readonly offscreenCanvas;
|
|
15
13
|
private readonly offscreenContext;
|
|
16
14
|
private readonly group;
|
|
15
|
+
private readonly meshes;
|
|
17
16
|
private readonly circuit;
|
|
18
17
|
private isDeleted;
|
|
19
18
|
constructor(onscreenContext: TgdContext, options: OffscreenPainterOptions);
|
|
19
|
+
set dendrogramMix(mix: number);
|
|
20
20
|
getItemAt(xScreen: number, yScreen: number): MorphoViewerSmallCircuitCell | undefined;
|
|
21
21
|
getItemNear(xScreen: number, yScreen: number, radiusInPixels: number): MorphoViewerSmallCircuitCell | undefined;
|
|
22
22
|
private readonly paint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAElG,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAE3E,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAUD,qBAAa,gBAAgB;IAoBzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAnBlC,SAAgB,OAAO,EAAE,UAAU,CAAC;IAS7B,iBAAiB,SAA8B;IAEtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,SAAS,CAAS;gBAGP,eAAe,EAAE,UAAU,EAC5C,OAAO,EAAE,uBAAuB;IA2ClC,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAE5B;IAED,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,4BAA4B,GAAG,SAAS;IAiBrF,WAAW,CACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,4BAA4B,GAAG,SAAS;IAc3C,OAAO,CAAC,QAAQ,CAAC,KAAK,CASpB;IAEF,MAAM;CAKP"}
|
package/dist/components/morpho-viewer-small-circuit/painter/offscreen-painter/offscreen-painter.js
CHANGED
|
@@ -6,11 +6,12 @@ const FIRST_INDEX = 1;
|
|
|
6
6
|
const DEFAULT_RESOLUTION_DIVIDER = 4;
|
|
7
7
|
export class OffscreenPainter {
|
|
8
8
|
constructor(onscreenContext, options) {
|
|
9
|
+
var _a;
|
|
9
10
|
this.onscreenContext = onscreenContext;
|
|
10
|
-
this.mix = 0;
|
|
11
11
|
this.resolutionDivider = DEFAULT_RESOLUTION_DIVIDER;
|
|
12
12
|
this.offscreenCanvas = new OffscreenCanvas(1, 1);
|
|
13
13
|
this.group = new TgdPainterGroup();
|
|
14
|
+
this.meshes = [];
|
|
14
15
|
this.isDeleted = false;
|
|
15
16
|
this.paint = () => {
|
|
16
17
|
if (this.isDeleted)
|
|
@@ -45,11 +46,17 @@ export class OffscreenPainter {
|
|
|
45
46
|
loadCell: options.loadCell,
|
|
46
47
|
id: index,
|
|
47
48
|
});
|
|
49
|
+
mesh.dendrogramMix = (_a = options.dendrogramMix) !== null && _a !== void 0 ? _a : 0;
|
|
48
50
|
this.group.add(mesh);
|
|
51
|
+
this.meshes.push(mesh);
|
|
49
52
|
index++;
|
|
50
53
|
}
|
|
51
54
|
this.paint();
|
|
52
55
|
}
|
|
56
|
+
set dendrogramMix(mix) {
|
|
57
|
+
for (const mesh of this.meshes)
|
|
58
|
+
mesh.dendrogramMix = mix;
|
|
59
|
+
}
|
|
53
60
|
getItemAt(xScreen, yScreen) {
|
|
54
61
|
var _a;
|
|
55
62
|
if (this.isDeleted)
|
|
@@ -79,4 +86,4 @@ export class OffscreenPainter {
|
|
|
79
86
|
this.isDeleted = true;
|
|
80
87
|
}
|
|
81
88
|
}
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2Zmc2NyZWVuLXBhaW50ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb3JwaG8tdmlld2VyLXNtYWxsLWNpcmN1aXQvcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci9vZmZzY3JlZW4tcGFpbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGVBQWUsRUFDZixlQUFlLEVBQ2YsZUFBZSxFQUNmLGdCQUFnQixHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBV2hELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQU10QixNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQUVyQyxNQUFNLE9BQU8sZ0JBQWdCO0lBbUIzQixZQUNtQixlQUEyQixFQUM1QyxPQUFnQzs7UUFEZixvQkFBZSxHQUFmLGVBQWUsQ0FBWTtRQVZ2QyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQztRQUVyQyxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU1QyxVQUFLLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM5QixXQUFNLEdBQW9CLEVBQUUsQ0FBQztRQUV0QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBc0ZULFVBQUssR0FBRyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsU0FBUztnQkFBRSxPQUFPO1lBRTNCLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3BFLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMs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
|
|
@@ -5,6 +5,7 @@ export interface SegmentOffscreenPainterOptions {
|
|
|
5
5
|
circuit: MorphoViewerSmallCircuitCell[];
|
|
6
6
|
loadCell: (id: string) => Promise<MorphoViewerSmallCircuitCellData | null>;
|
|
7
7
|
onCellLoaded?: () => void;
|
|
8
|
+
dendrogramMix?: number;
|
|
8
9
|
}
|
|
9
10
|
export declare class SegmentOffscreenPainter {
|
|
10
11
|
private readonly onscreenContext;
|
|
@@ -15,6 +16,7 @@ export declare class SegmentOffscreenPainter {
|
|
|
15
16
|
private readonly cellPainters;
|
|
16
17
|
private isDeleted;
|
|
17
18
|
constructor(onscreenContext: TgdContext, options: SegmentOffscreenPainterOptions);
|
|
19
|
+
set dendrogramMix(mix: number);
|
|
18
20
|
getSections(cell: MorphoViewerSmallCircuitCell): CellSectionIndex | null;
|
|
19
21
|
getSegmentNear(cell: MorphoViewerSmallCircuitCell, xScreen: number, yScreen: number, radiusInPixels: number): CellSegment | undefined;
|
|
20
22
|
private getSegmentAt;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment-offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAa3F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAO3E,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"segment-offscreen-painter.d.ts","sourceRoot":"","sources":["../../../../../src/components/morpho-viewer-small-circuit/painter/offscreen-painter/segment-offscreen-painter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAKX,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAa3F,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,4BAA4B,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,gCAAgC,GAAG,IAAI,CAAC,CAAC;IAO3E,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,uBAAuB;IAWhC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAVlC,SAAgB,OAAO,EAAE,UAAU,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAE/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,SAAS,CAAS;gBAGP,eAAe,EAAE,UAAU,EAC5C,OAAO,EAAE,8BAA8B;IA0CzC,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,EAE5B;IAGD,WAAW,CAAC,IAAI,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,IAAI;IAWxE,cAAc,CACZ,IAAI,EAAE,4BAA4B,EAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,WAAW,GAAG,SAAS;IAa1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CASpB;IAEF,MAAM;CAUP"}
|
|
@@ -4,6 +4,7 @@ import { PainterCell } from "../painter-cell";
|
|
|
4
4
|
const RESOLUTION_DIVIDER = 2;
|
|
5
5
|
export class SegmentOffscreenPainter {
|
|
6
6
|
constructor(onscreenContext, options) {
|
|
7
|
+
var _a;
|
|
7
8
|
this.onscreenContext = onscreenContext;
|
|
8
9
|
this.offscreenCanvas = new OffscreenCanvas(1, 1);
|
|
9
10
|
this.group = new TgdPainterGroup();
|
|
@@ -38,14 +39,19 @@ export class SegmentOffscreenPainter {
|
|
|
38
39
|
const painter = new PainterCell(context, {
|
|
39
40
|
cell,
|
|
40
41
|
loadCell: options.loadCell,
|
|
41
|
-
|
|
42
|
+
material: "segment",
|
|
42
43
|
onCellLoaded: () => { var _a; return (_a = options.onCellLoaded) === null || _a === void 0 ? void 0 : _a.call(options); },
|
|
43
44
|
});
|
|
45
|
+
painter.dendrogramMix = (_a = options.dendrogramMix) !== null && _a !== void 0 ? _a : 0;
|
|
44
46
|
this.cellPainters.set(cell.id, painter);
|
|
45
47
|
this.group.add(painter);
|
|
46
48
|
}
|
|
47
49
|
this.paint();
|
|
48
50
|
}
|
|
51
|
+
set dendrogramMix(mix) {
|
|
52
|
+
for (const painter of this.cellPainters.values())
|
|
53
|
+
painter.dendrogramMix = mix;
|
|
54
|
+
}
|
|
49
55
|
getSections(cell) {
|
|
50
56
|
var _a, _b;
|
|
51
57
|
return (_b = (_a = this.cellPainters.get(cell.id)) === null || _a === void 0 ? void 0 : _a.sections) !== null && _b !== void 0 ? _b : null;
|
|
@@ -83,4 +89,4 @@ export class SegmentOffscreenPainter {
|
|
|
83
89
|
this.isDeleted = true;
|
|
84
90
|
}
|
|
85
91
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC1vZmZzY3JlZW4tcGFpbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL29mZnNjcmVlbi1wYWludGVyL3NlZ21lbnQtb2Zmc2NyZWVuLXBhaW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixlQUFlLEVBQ2YsZUFBZSxFQUNmLGVBQWUsRUFDZixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFjOUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFnQjdCLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEMsWUFDbUIsZUFBMkIsRUFDNUMsT0FBdUM7O1FBRHRCLG9CQUFlLEdBQWYsZUFBZSxDQUFZO1FBUjdCLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVDLFVBQUssR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBRTlCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7UUFDdkQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWdHVCxVQUFLLEdBQUcsR0FBRyxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLFNBQVM7Z0JBQUUsT0FBTztZQUUzQixNQUFNLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQztZQUNwRSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUNqRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsZUFBZSxDQUFDO1lBQ25DLGVBQWUs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
|
package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.d.ts
CHANGED
|
@@ -6,15 +6,17 @@ export interface CellSegment extends PickableSegment {
|
|
|
6
6
|
sonataSectionId?: number;
|
|
7
7
|
sectionType: MorphoViewerTreeItemType;
|
|
8
8
|
isSomaStub: boolean;
|
|
9
|
+
chartStart: ArrayNumber3;
|
|
10
|
+
chartEnd: ArrayNumber3;
|
|
9
11
|
}
|
|
10
12
|
export declare class CellSectionIndex implements SectionSegmentIndex {
|
|
11
13
|
private readonly segments;
|
|
12
14
|
private readonly bySection;
|
|
13
|
-
add(item: MorphoViewerTreeItem, start: ArrayNumber3, end: ArrayNumber3, isSomaStub?: boolean): CellSegment;
|
|
15
|
+
add(item: MorphoViewerTreeItem, start: ArrayNumber3, end: ArrayNumber3, isSomaStub?: boolean, chartStart?: ArrayNumber3, chartEnd?: ArrayNumber3): CellSegment;
|
|
14
16
|
get length(): number;
|
|
15
17
|
get(index: number): CellSegment | undefined;
|
|
16
18
|
getSegmentsOfSection(sectionName: string): CellSegment[];
|
|
17
19
|
getSectionType(sectionName: string): MorphoViewerTreeItemType | undefined;
|
|
18
|
-
getPointAtOffset(sectionName: string, offset: number): ArrayNumber3 | null;
|
|
20
|
+
getPointAtOffset(sectionName: string, offset: number, mix?: number): ArrayNumber3 | null;
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=section-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"section-index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,MAAM,WAAW,WAAY,SAAQ,eAAe;IAElD,KAAK,EAAE,MAAM,CAAC;IAEd,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW,EAAE,wBAAwB,CAAC;IAEtC,UAAU,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"section-index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,MAAM,WAAW,WAAY,SAAQ,eAAe;IAElD,KAAK,EAAE,MAAM,CAAC;IAEd,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,WAAW,EAAE,wBAAwB,CAAC;IAEtC,UAAU,EAAE,OAAO,CAAC;IAEpB,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AASD,qBAAa,gBAAiB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAQ9D,GAAG,CACD,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,YAAY,EACjB,UAAU,UAAQ,EAClB,UAAU,GAAE,YAAoB,EAChC,QAAQ,GAAE,YAAkB,GAC3B,WAAW;IA0Bd,IAAI,MAAM,IAAI,MAAM,CAEnB;IAGD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAK3C,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE;IAWxD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAWzE,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,YAAY,GAAG,IAAI;CAkBpF"}
|
package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/section-index.js
CHANGED
|
@@ -3,7 +3,7 @@ export class CellSectionIndex {
|
|
|
3
3
|
this.segments = [];
|
|
4
4
|
this.bySection = new Map();
|
|
5
5
|
}
|
|
6
|
-
add(item, start, end, isSomaStub = false) {
|
|
6
|
+
add(item, start, end, isSomaStub = false, chartStart = start, chartEnd = end) {
|
|
7
7
|
var _a;
|
|
8
8
|
const sectionName = item.sectionId;
|
|
9
9
|
const siblings = (_a = this.bySection.get(sectionName)) !== null && _a !== void 0 ? _a : [];
|
|
@@ -15,6 +15,8 @@ export class CellSectionIndex {
|
|
|
15
15
|
segmentLength: distance(start, end),
|
|
16
16
|
start,
|
|
17
17
|
end,
|
|
18
|
+
chartStart,
|
|
19
|
+
chartEnd,
|
|
18
20
|
sonataSectionId: item.sonataSectionId,
|
|
19
21
|
sectionType: item.type,
|
|
20
22
|
isSomaStub,
|
|
@@ -40,23 +42,23 @@ export class CellSectionIndex {
|
|
|
40
42
|
var _a, _b;
|
|
41
43
|
return (_b = (_a = this.bySection.get(sectionName)) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.sectionType;
|
|
42
44
|
}
|
|
43
|
-
getPointAtOffset(sectionName, offset) {
|
|
45
|
+
getPointAtOffset(sectionName, offset, mix = 0) {
|
|
44
46
|
const segments = this.getSegmentsOfSection(sectionName);
|
|
45
47
|
if (segments.length === 0)
|
|
46
48
|
return null;
|
|
47
49
|
const total = segments.reduce((sum, segment) => sum + segment.segmentLength, 0);
|
|
48
50
|
if (total <= 0)
|
|
49
|
-
return segments[0]
|
|
51
|
+
return at(segments[0], 0, mix);
|
|
50
52
|
const target = Math.min(Math.max(offset, 0), 1) * total;
|
|
51
53
|
let walked = 0;
|
|
52
54
|
for (const segment of segments) {
|
|
53
55
|
if (walked + segment.segmentLength >= target) {
|
|
54
56
|
const within = segment.segmentLength > 0 ? (target - walked) / segment.segmentLength : 0;
|
|
55
|
-
return
|
|
57
|
+
return at(segment, within, mix);
|
|
56
58
|
}
|
|
57
59
|
walked += segment.segmentLength;
|
|
58
60
|
}
|
|
59
|
-
return segments[segments.length - 1]
|
|
61
|
+
return at(segments[segments.length - 1], 1, mix);
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
function lerp(from, to, alpha) {
|
|
@@ -69,4 +71,11 @@ function lerp(from, to, alpha) {
|
|
|
69
71
|
function distance([x1, y1, z1], [x2, y2, z2]) {
|
|
70
72
|
return Math.sqrt(Math.pow((x1 - x2), 2) + Math.pow((y1 - y2), 2) + Math.pow((z1 - z2), 2));
|
|
71
73
|
}
|
|
72
|
-
|
|
74
|
+
function at(segment, within, mix) {
|
|
75
|
+
const solid = lerp(segment.start, segment.end, within);
|
|
76
|
+
if (mix <= 0)
|
|
77
|
+
return solid;
|
|
78
|
+
const chart = lerp(segment.chartStart, segment.chartEnd, within);
|
|
79
|
+
return lerp(solid, chart, mix);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vcnBoby12aWV3ZXItc21hbGwtY2lyY3VpdC9wYWludGVyL3BhaW50ZXItY2VsbC9mYWN0b3J5L3NlY3Rpb24taW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkJBLE1BQU0sT0FBTyxnQkFBZ0I7SUFBN0I7UUFDbUIsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsY0FBUyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBMkZoRSxDQUFDO0lBbkZDLEdBQUcsQ0FDRCxJQUEwQixFQUMxQixLQUFtQixFQUNuQixHQUFpQixFQUNqQixVQUFVLEdBQUcsS0FBSyxFQUNsQixhQUEyQixLQUFLLEVBQ2hDLFdBQXlCLEdBQUc7O1FBRTVCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsTUFBQSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsbUNBQUksRUFBRSxDQUFDO1FBQ3ZELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxNQUFNLE9BQU8sR0FBZ0I7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUMzQixXQUFXO1lBR1gsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDN0QsYUFBYSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO1lBQ25DLEtBQUs7WUFDTCxHQUFHO1lBQ0gsVUFBVTtZQUNWLFFBQVE7WUFDUixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsV0FB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
|
package/dist/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../../../src/components/morpho-viewer-small-circuit/painter/painter-cell/factory/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,cAAc,EAGf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAuBnD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,OAAO,EACrB,YAAY,UAAQ,GACnB;IACD,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAkKA"}
|