angular-three-soba 4.2.0 → 4.2.2
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/fesm2022/angular-three-soba-abstractions.mjs +98 -98
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +26 -26
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +32 -32
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +119 -119
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +6 -6
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +75 -75
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +85 -76
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +164 -60
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +257 -257
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +5 -5
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/package.json +141 -140
- package/performances/README.md +47 -0
- package/types/angular-three-soba-abstractions.d.ts +57 -57
- package/types/angular-three-soba-cameras.d.ts +3 -3
- package/types/angular-three-soba-controls.d.ts +4 -4
- package/types/angular-three-soba-gizmos.d.ts +4 -4
- package/types/angular-three-soba-materials.d.ts +4 -4
- package/types/angular-three-soba-misc.d.ts +16 -5
- package/types/angular-three-soba-performances.d.ts +55 -9
- package/types/angular-three-soba-staging.d.ts +13 -13
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, booleanAttribute, effect, untracked, inject, DestroyRef, Directive, viewChild, signal, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, Component, computed } from '@angular/core';
|
|
2
|
+
import { input, booleanAttribute, effect, untracked, inject, DestroyRef, Directive, viewChild, signal, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, Component, computed, TemplateRef, ElementRef, contentChildren } from '@angular/core';
|
|
3
3
|
import { injectStore, omit, pick, extend, is, getInstanceState, beforeRender, resolveRef, checkUpdate, vector3, NgtArgs } from 'angular-three';
|
|
4
4
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
5
5
|
import * as THREE from 'three';
|
|
6
|
-
import { Group, LOD, InstancedBufferAttribute, InstancedMesh, BufferGeometry, BufferAttribute, Points } from 'three';
|
|
6
|
+
import { Group, LOD, InstancedBufferAttribute, InstancedMesh, Vector3, BufferGeometry, BufferAttribute, Points } from 'three';
|
|
7
7
|
import { SAH, acceleratedRaycast, computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh';
|
|
8
8
|
import { setUpdateRange } from 'angular-three-soba/misc';
|
|
9
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
9
10
|
import { Line2, LineMaterial, LineSegmentsGeometry } from 'three-stdlib';
|
|
10
11
|
|
|
11
12
|
/**
|
|
@@ -29,7 +30,7 @@ class NgtsAdaptiveDpr {
|
|
|
29
30
|
* This can provide a retro aesthetic or indicate to users that performance mode is active.
|
|
30
31
|
* @default false
|
|
31
32
|
*/
|
|
32
|
-
this.pixelated = input(false, { ...(ngDevMode ? { debugName: "pixelated" } : {}), transform: booleanAttribute });
|
|
33
|
+
this.pixelated = input(false, { ...(ngDevMode ? { debugName: "pixelated" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
33
34
|
const store = injectStore();
|
|
34
35
|
effect(() => {
|
|
35
36
|
const [current, pixelated, domElement, setDpr, initialDpr] = [
|
|
@@ -57,10 +58,10 @@ class NgtsAdaptiveDpr {
|
|
|
57
58
|
domElement.style.imageRendering = 'auto';
|
|
58
59
|
});
|
|
59
60
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
61
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsAdaptiveDpr, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
62
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { pixelated: { classPropertyName: "pixelated", publicName: "pixelated", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
62
63
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
|
|
64
65
|
type: Directive,
|
|
65
66
|
args: [{ selector: 'ngts-adaptive-dpr' }]
|
|
66
67
|
}], ctorParameters: () => [], propDecorators: { pixelated: [{ type: i0.Input, args: [{ isSignal: true, alias: "pixelated", required: false }] }] } });
|
|
@@ -92,10 +93,10 @@ class NgtsAdaptiveEvents {
|
|
|
92
93
|
store.snapshot.setEvents({ enabled: currentEnabled });
|
|
93
94
|
});
|
|
94
95
|
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
96
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsAdaptiveEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
97
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", ngImport: i0 }); }
|
|
97
98
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
|
|
99
100
|
type: Directive,
|
|
100
101
|
args: [{ selector: 'ngts-adaptive-events' }]
|
|
101
102
|
}], ctorParameters: () => [] });
|
|
@@ -133,7 +134,7 @@ class NgtsBVH {
|
|
|
133
134
|
/**
|
|
134
135
|
* Configuration options for BVH construction and raycasting behavior.
|
|
135
136
|
*/
|
|
136
|
-
this.options = input(defaultOptions$2, { ...(ngDevMode ? { debugName: "options" } : {}), transform: mergeInputs(defaultOptions$2) });
|
|
137
|
+
this.options = input(defaultOptions$2, { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), transform: mergeInputs(defaultOptions$2) });
|
|
137
138
|
/** @internal */
|
|
138
139
|
this.parameters = omit(this.options, [
|
|
139
140
|
'enabled',
|
|
@@ -158,7 +159,7 @@ class NgtsBVH {
|
|
|
158
159
|
this.maxDepth = pick(this.options, 'maxDepth');
|
|
159
160
|
this.maxLeafTris = pick(this.options, 'maxLeafTris');
|
|
160
161
|
this.indirect = pick(this.options, 'indirect');
|
|
161
|
-
this.reset = signal(Math.random(), ...(ngDevMode ? [{ debugName: "reset" }] : []));
|
|
162
|
+
this.reset = signal(Math.random(), ...(ngDevMode ? [{ debugName: "reset" }] : /* istanbul ignore next */ []));
|
|
162
163
|
this.retryMap = new Map();
|
|
163
164
|
this.MAX_RETRIES = 3;
|
|
164
165
|
extend({ Group });
|
|
@@ -225,14 +226,14 @@ class NgtsBVH {
|
|
|
225
226
|
this.retryMap.clear();
|
|
226
227
|
});
|
|
227
228
|
}
|
|
228
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
229
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
229
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsBVH, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsBVH, isStandalone: true, selector: "ngts-bvh", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
230
231
|
<ngt-group #group [parameters]="parameters()">
|
|
231
232
|
<ng-content />
|
|
232
233
|
</ngt-group>
|
|
233
234
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
234
235
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsBVH, decorators: [{
|
|
236
237
|
type: Component,
|
|
237
238
|
args: [{
|
|
238
239
|
selector: 'ngts-bvh',
|
|
@@ -272,11 +273,11 @@ class NgtsDetailed {
|
|
|
272
273
|
* The first distance corresponds to the first child (highest detail),
|
|
273
274
|
* and subsequent distances correspond to lower detail children.
|
|
274
275
|
*/
|
|
275
|
-
this.distances = input.required(...(ngDevMode ? [{ debugName: "distances" }] : []));
|
|
276
|
+
this.distances = input.required(...(ngDevMode ? [{ debugName: "distances" }] : /* istanbul ignore next */ []));
|
|
276
277
|
/**
|
|
277
278
|
* Configuration options for the LOD behavior.
|
|
278
279
|
*/
|
|
279
|
-
this.options = input(defaultOptions$1, { ...(ngDevMode ? { debugName: "options" } : {}), transform: mergeInputs(defaultOptions$1) });
|
|
280
|
+
this.options = input(defaultOptions$1, { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), transform: mergeInputs(defaultOptions$1) });
|
|
280
281
|
/** @internal */
|
|
281
282
|
this.parameters = omit(this.options, ['hysteresis']);
|
|
282
283
|
/**
|
|
@@ -300,14 +301,14 @@ class NgtsDetailed {
|
|
|
300
301
|
this.lodRef().nativeElement.update(camera);
|
|
301
302
|
});
|
|
302
303
|
}
|
|
303
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
304
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
304
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsDetailed, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsDetailed, isStandalone: true, selector: "ngts-detailed", inputs: { distances: { classPropertyName: "distances", publicName: "distances", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lodRef", first: true, predicate: ["lod"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
305
306
|
<ngt-lOD #lod [parameters]="parameters()">
|
|
306
307
|
<ng-content />
|
|
307
308
|
</ngt-lOD>
|
|
308
309
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
309
310
|
}
|
|
310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsDetailed, decorators: [{
|
|
311
312
|
type: Component,
|
|
312
313
|
args: [{
|
|
313
314
|
selector: 'ngts-detailed',
|
|
@@ -418,7 +419,7 @@ class NgtsInstance {
|
|
|
418
419
|
/**
|
|
419
420
|
* Options passed to the underlying PositionMesh, including position, rotation, scale, and color.
|
|
420
421
|
*/
|
|
421
|
-
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
422
|
+
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
422
423
|
/** @internal */
|
|
423
424
|
this.instances = inject(NgtsInstances);
|
|
424
425
|
/**
|
|
@@ -431,14 +432,14 @@ class NgtsInstance {
|
|
|
431
432
|
onCleanup(() => cleanup());
|
|
432
433
|
});
|
|
433
434
|
}
|
|
434
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
435
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
435
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsInstance, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
436
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsInstance, isStandalone: true, selector: "ngts-instance", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "positionMeshRef", first: true, predicate: ["positionMesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
436
437
|
<ngt-position-mesh #positionMesh [instance]="instances.instancedMeshRef()" [parameters]="options()">
|
|
437
438
|
<ng-content />
|
|
438
439
|
</ngt-position-mesh>
|
|
439
440
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
440
441
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
442
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsInstance, decorators: [{
|
|
442
443
|
type: Component,
|
|
443
444
|
args: [{
|
|
444
445
|
selector: 'ngts-instance',
|
|
@@ -483,7 +484,7 @@ class NgtsInstances {
|
|
|
483
484
|
/**
|
|
484
485
|
* Configuration options for the instanced rendering.
|
|
485
486
|
*/
|
|
486
|
-
this.options = input(defaultOptions, { ...(ngDevMode ? { debugName: "options" } : {}), transform: mergeInputs(defaultOptions) });
|
|
487
|
+
this.options = input(defaultOptions, { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), transform: mergeInputs(defaultOptions) });
|
|
487
488
|
/** @internal */
|
|
488
489
|
this.parameters = omit(this.options, ['limit', 'frames', 'range']);
|
|
489
490
|
/**
|
|
@@ -500,7 +501,7 @@ class NgtsInstances {
|
|
|
500
501
|
}
|
|
501
502
|
const colors = new Float32Array([...Array.from({ length: limit * 3 }, () => 1)]);
|
|
502
503
|
return { matrices, colors };
|
|
503
|
-
}, ...(ngDevMode ? [{ debugName: "buffers" }] : []));
|
|
504
|
+
}, ...(ngDevMode ? [{ debugName: "buffers" }] : /* istanbul ignore next */ []));
|
|
504
505
|
/**
|
|
505
506
|
* Array of registered instance references. Used internally to track all instances.
|
|
506
507
|
*/
|
|
@@ -559,8 +560,8 @@ class NgtsInstances {
|
|
|
559
560
|
this.instances = this.instances.filter((i) => i !== ref);
|
|
560
561
|
};
|
|
561
562
|
}
|
|
562
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
563
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
563
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
564
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsInstances, isStandalone: true, selector: "ngts-instances", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "instancedMeshRef", first: true, predicate: ["instancedMesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
564
565
|
<ngt-instanced-mesh
|
|
565
566
|
#instancedMesh
|
|
566
567
|
[userData]="{ instances }"
|
|
@@ -586,7 +587,7 @@ class NgtsInstances {
|
|
|
586
587
|
</ngt-instanced-mesh>
|
|
587
588
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
588
589
|
}
|
|
589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
590
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsInstances, decorators: [{
|
|
590
591
|
type: Component,
|
|
591
592
|
args: [{
|
|
592
593
|
selector: 'ngts-instances',
|
|
@@ -620,6 +621,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
620
621
|
}]
|
|
621
622
|
}], ctorParameters: () => [], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], instancedMeshRef: [{ type: i0.ViewChild, args: ['instancedMesh', { isSignal: true }] }] } });
|
|
622
623
|
|
|
624
|
+
const defaultLodLevelOptions = {
|
|
625
|
+
distance: 0,
|
|
626
|
+
hysteresis: 0,
|
|
627
|
+
};
|
|
628
|
+
const _v1 = new Vector3();
|
|
629
|
+
const _v2 = new Vector3();
|
|
630
|
+
/**
|
|
631
|
+
* Helper directive to capture a template to attach to
|
|
632
|
+
* an NgtsLOD component.
|
|
633
|
+
*/
|
|
634
|
+
class NgtsLODLevel {
|
|
635
|
+
constructor() {
|
|
636
|
+
this.lodLevel = input(defaultLodLevelOptions, { ...(ngDevMode ? { debugName: "lodLevel" } : /* istanbul ignore next */ {}), transform: mergeInputs(defaultLodLevelOptions) });
|
|
637
|
+
this.template = inject(TemplateRef);
|
|
638
|
+
}
|
|
639
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsLODLevel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
640
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.9", type: NgtsLODLevel, isStandalone: true, selector: "ng-template[lodLevel]", inputs: { lodLevel: { classPropertyName: "lodLevel", publicName: "lodLevel", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
641
|
+
}
|
|
642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsLODLevel, decorators: [{
|
|
643
|
+
type: Directive,
|
|
644
|
+
args: [{
|
|
645
|
+
selector: 'ng-template[lodLevel]',
|
|
646
|
+
}]
|
|
647
|
+
}], propDecorators: { lodLevel: [{ type: i0.Input, args: [{ isSignal: true, alias: "lodLevel", required: false }] }] } });
|
|
648
|
+
/**
|
|
649
|
+
* Angular-native port of THREE.LOD
|
|
650
|
+
*
|
|
651
|
+
* Allows to display an object with several levels of details.
|
|
652
|
+
*
|
|
653
|
+
* The main difference with THREE.LOD is that we use angular-three
|
|
654
|
+
* to add/remove the right object from the scene graph, rather than
|
|
655
|
+
* setting the visible flag on one of the object, but keeping them
|
|
656
|
+
* all in the graph.
|
|
657
|
+
*
|
|
658
|
+
* Usage:
|
|
659
|
+
*
|
|
660
|
+
* ```html
|
|
661
|
+
* <ngt-group lod [maxDistance]="10000">
|
|
662
|
+
* <ngt-mesh *lodLevel />
|
|
663
|
+
* <ngt-mesh *lodLevel="{distance: 100, hysteresis: 0.1}" />
|
|
664
|
+
* <ngt-mesh *lodLevel="{distance: 1000}" />
|
|
665
|
+
* </ngt-group>
|
|
666
|
+
* ```
|
|
667
|
+
*/
|
|
668
|
+
class NgtsLODImpl {
|
|
669
|
+
constructor() {
|
|
670
|
+
this.maxDistance = input(...(ngDevMode ? [undefined, { debugName: "maxDistance" }] : /* istanbul ignore next */ []));
|
|
671
|
+
this.store = injectStore();
|
|
672
|
+
this.container = inject(ElementRef);
|
|
673
|
+
this.levels = contentChildren(NgtsLODLevel, ...(ngDevMode ? [{ debugName: "levels" }] : /* istanbul ignore next */ []));
|
|
674
|
+
this.level = signal(undefined, ...(ngDevMode ? [{ debugName: "level" }] : /* istanbul ignore next */ []));
|
|
675
|
+
beforeRender(() => {
|
|
676
|
+
const levels = this.levels();
|
|
677
|
+
const currentLevel = this.level();
|
|
678
|
+
const maxDistance = this.maxDistance();
|
|
679
|
+
let level = levels[0];
|
|
680
|
+
if (level && (levels.length > 1 || maxDistance)) {
|
|
681
|
+
const container = this.container.nativeElement;
|
|
682
|
+
const { matrixWorld, zoom } = this.store.snapshot.camera;
|
|
683
|
+
_v1.setFromMatrixPosition(matrixWorld);
|
|
684
|
+
_v2.setFromMatrixPosition(container.matrixWorld);
|
|
685
|
+
const distance = _v1.distanceTo(_v2) / zoom;
|
|
686
|
+
if (maxDistance && distance > maxDistance) {
|
|
687
|
+
level = undefined;
|
|
688
|
+
}
|
|
689
|
+
else {
|
|
690
|
+
for (let i = 1, l = levels.length; i < l; i++) {
|
|
691
|
+
const _level = levels[i];
|
|
692
|
+
let { distance: levelDistance, hysteresis } = _level.lodLevel();
|
|
693
|
+
if (hysteresis && currentLevel === _level) {
|
|
694
|
+
levelDistance -= levelDistance * hysteresis;
|
|
695
|
+
}
|
|
696
|
+
if (distance >= levelDistance) {
|
|
697
|
+
level = _level;
|
|
698
|
+
}
|
|
699
|
+
else {
|
|
700
|
+
break;
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
if (level !== currentLevel) {
|
|
706
|
+
this.level.set(level);
|
|
707
|
+
}
|
|
708
|
+
});
|
|
709
|
+
}
|
|
710
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsLODImpl, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
711
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsLODImpl, isStandalone: true, selector: "[lod]", inputs: { maxDistance: { classPropertyName: "maxDistance", publicName: "maxDistance", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "levels", predicate: NgtsLODLevel, isSignal: true }], ngImport: i0, template: `
|
|
712
|
+
<ng-container [ngTemplateOutlet]="level()?.template" />
|
|
713
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
714
|
+
}
|
|
715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsLODImpl, decorators: [{
|
|
716
|
+
type: Component,
|
|
717
|
+
args: [{
|
|
718
|
+
selector: '[lod]',
|
|
719
|
+
template: `
|
|
720
|
+
<ng-container [ngTemplateOutlet]="level()?.template" />
|
|
721
|
+
`,
|
|
722
|
+
imports: [NgTemplateOutlet],
|
|
723
|
+
}]
|
|
724
|
+
}], ctorParameters: () => [], propDecorators: { maxDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDistance", required: false }] }], levels: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NgtsLODLevel), { isSignal: true }] }] } });
|
|
725
|
+
const NgtsLOD = [NgtsLODImpl, NgtsLODLevel];
|
|
726
|
+
|
|
623
727
|
const _inverseMatrix = new THREE.Matrix4();
|
|
624
728
|
const _ray = new THREE.Ray();
|
|
625
729
|
const _sphere = new THREE.Sphere();
|
|
@@ -713,7 +817,7 @@ class NgtsPoint {
|
|
|
713
817
|
/**
|
|
714
818
|
* Options passed to the underlying PositionPoint, including position, color, and size.
|
|
715
819
|
*/
|
|
716
|
-
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
820
|
+
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
717
821
|
/**
|
|
718
822
|
* Reference to the underlying PositionPoint element.
|
|
719
823
|
*/
|
|
@@ -726,14 +830,14 @@ class NgtsPoint {
|
|
|
726
830
|
onCleanup(() => cleanUp());
|
|
727
831
|
});
|
|
728
832
|
}
|
|
729
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
730
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
833
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsPoint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
834
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsPoint, isStandalone: true, selector: "ngts-point", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "positionPointRef", first: true, predicate: ["positionPoint"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
731
835
|
<ngt-position-point #positionPoint [parameters]="options()" [instance]="points.pointsRef()">
|
|
732
836
|
<ng-content />
|
|
733
837
|
</ngt-position-point>
|
|
734
838
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
735
839
|
}
|
|
736
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
840
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsPoint, decorators: [{
|
|
737
841
|
type: Component,
|
|
738
842
|
args: [{
|
|
739
843
|
selector: 'ngts-point',
|
|
@@ -767,26 +871,26 @@ class NgtsPointsBuffer {
|
|
|
767
871
|
* Float32Array containing point positions. Length should be divisible by stride.
|
|
768
872
|
* For 3D points (stride=3): [x1, y1, z1, x2, y2, z2, ...]
|
|
769
873
|
*/
|
|
770
|
-
this.positions = input.required(...(ngDevMode ? [{ debugName: "positions" }] : []));
|
|
874
|
+
this.positions = input.required(...(ngDevMode ? [{ debugName: "positions" }] : /* istanbul ignore next */ []));
|
|
771
875
|
/**
|
|
772
876
|
* Optional Float32Array containing RGB color values for each point.
|
|
773
877
|
* Length should be (positions.length / stride) * 3.
|
|
774
878
|
*/
|
|
775
|
-
this.colors = input(...(ngDevMode ? [undefined, { debugName: "colors" }] : []));
|
|
879
|
+
this.colors = input(...(ngDevMode ? [undefined, { debugName: "colors" }] : /* istanbul ignore next */ []));
|
|
776
880
|
/**
|
|
777
881
|
* Optional Float32Array containing size values for each point.
|
|
778
882
|
* Length should be positions.length / stride.
|
|
779
883
|
*/
|
|
780
|
-
this.sizes = input(...(ngDevMode ? [undefined, { debugName: "sizes" }] : []));
|
|
884
|
+
this.sizes = input(...(ngDevMode ? [undefined, { debugName: "sizes" }] : /* istanbul ignore next */ []));
|
|
781
885
|
/**
|
|
782
886
|
* The number of components per position (2 for 2D, 3 for 3D).
|
|
783
887
|
* @default 3
|
|
784
888
|
*/
|
|
785
|
-
this.stride = input(3, ...(ngDevMode ? [{ debugName: "stride" }] : []));
|
|
889
|
+
this.stride = input(3, ...(ngDevMode ? [{ debugName: "stride" }] : /* istanbul ignore next */ []));
|
|
786
890
|
/**
|
|
787
891
|
* Additional options passed to the Points object.
|
|
788
892
|
*/
|
|
789
|
-
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : []));
|
|
893
|
+
this.options = input({}, ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
|
|
790
894
|
/**
|
|
791
895
|
* Reference to the underlying THREE.Points element.
|
|
792
896
|
*/
|
|
@@ -806,8 +910,8 @@ class NgtsPointsBuffer {
|
|
|
806
910
|
checkUpdate(attributes['size']);
|
|
807
911
|
});
|
|
808
912
|
}
|
|
809
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
810
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.
|
|
913
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsPointsBuffer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
914
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NgtsPointsBuffer, isStandalone: true, selector: "ngts-points-buffer", inputs: { positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: true, transformFunction: null }, colors: { classPropertyName: "colors", publicName: "colors", isSignal: true, isRequired: false, transformFunction: null }, sizes: { classPropertyName: "sizes", publicName: "sizes", isSignal: true, isRequired: false, transformFunction: null }, stride: { classPropertyName: "stride", publicName: "stride", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "pointsRef", first: true, predicate: ["points"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
811
915
|
<ngt-points #points [parameters]="options()">
|
|
812
916
|
<ngt-buffer-geometry>
|
|
813
917
|
<ngt-buffer-attribute
|
|
@@ -840,7 +944,7 @@ class NgtsPointsBuffer {
|
|
|
840
944
|
</ngt-points>
|
|
841
945
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
842
946
|
}
|
|
843
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsPointsBuffer, decorators: [{
|
|
844
948
|
type: Component,
|
|
845
949
|
args: [{
|
|
846
950
|
selector: 'ngts-points-buffer',
|
|
@@ -905,7 +1009,7 @@ class NgtsPointsInstances {
|
|
|
905
1009
|
/**
|
|
906
1010
|
* Configuration options for the points rendering.
|
|
907
1011
|
*/
|
|
908
|
-
this.options = input(defaultInstancesOptions, { ...(ngDevMode ? { debugName: "options" } : {}), transform: mergeInputs(defaultInstancesOptions) });
|
|
1012
|
+
this.options = input(defaultInstancesOptions, { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), transform: mergeInputs(defaultInstancesOptions) });
|
|
909
1013
|
/**
|
|
910
1014
|
* Computed parameters passed to the underlying Points object.
|
|
911
1015
|
*/
|
|
@@ -925,7 +1029,7 @@ class NgtsPointsInstances {
|
|
|
925
1029
|
colors: Float32Array.from({ length: limit * 3 }, () => 1),
|
|
926
1030
|
sizes: Float32Array.from({ length: limit }, () => 1),
|
|
927
1031
|
};
|
|
928
|
-
}, ...(ngDevMode ? [{ debugName: "buffers" }] : []));
|
|
1032
|
+
}, ...(ngDevMode ? [{ debugName: "buffers" }] : /* istanbul ignore next */ []));
|
|
929
1033
|
/**
|
|
930
1034
|
* Array of registered point references. Used internally to track all points.
|
|
931
1035
|
*/
|
|
@@ -976,8 +1080,8 @@ class NgtsPointsInstances {
|
|
|
976
1080
|
this.positionPoints = this.positionPoints.filter((p) => p !== ref);
|
|
977
1081
|
};
|
|
978
1082
|
}
|
|
979
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
980
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
1083
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsPointsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1084
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsPointsInstances, isStandalone: true, selector: "ngts-points-instances", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "pointsRef", first: true, predicate: ["points"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
981
1085
|
<ngt-points
|
|
982
1086
|
#points
|
|
983
1087
|
[userData]="{ instances: positionPoints }"
|
|
@@ -1012,7 +1116,7 @@ class NgtsPointsInstances {
|
|
|
1012
1116
|
</ngt-points>
|
|
1013
1117
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1014
1118
|
}
|
|
1015
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsPointsInstances, decorators: [{
|
|
1016
1120
|
type: Component,
|
|
1017
1121
|
args: [{
|
|
1018
1122
|
selector: 'ngts-points-instances',
|
|
@@ -1090,17 +1194,17 @@ class NgtsSegment {
|
|
|
1090
1194
|
* The starting point of the line segment.
|
|
1091
1195
|
* Accepts a Vector3-like value: [x, y, z], {x, y, z}, or THREE.Vector3.
|
|
1092
1196
|
*/
|
|
1093
|
-
this.start = input.required(...(ngDevMode ? [{ debugName: "start" }] : []));
|
|
1197
|
+
this.start = input.required(...(ngDevMode ? [{ debugName: "start" }] : /* istanbul ignore next */ []));
|
|
1094
1198
|
/**
|
|
1095
1199
|
* The ending point of the line segment.
|
|
1096
1200
|
* Accepts a Vector3-like value: [x, y, z], {x, y, z}, or THREE.Vector3.
|
|
1097
1201
|
*/
|
|
1098
|
-
this.end = input.required(...(ngDevMode ? [{ debugName: "end" }] : []));
|
|
1202
|
+
this.end = input.required(...(ngDevMode ? [{ debugName: "end" }] : /* istanbul ignore next */ []));
|
|
1099
1203
|
/**
|
|
1100
1204
|
* The color of the line segment.
|
|
1101
1205
|
* If not specified, inherits from the parent or defaults to white.
|
|
1102
1206
|
*/
|
|
1103
|
-
this.color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
|
|
1207
|
+
this.color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
|
|
1104
1208
|
/** @internal */
|
|
1105
1209
|
this.normalizedStart = vector3(this.start);
|
|
1106
1210
|
/** @internal */
|
|
@@ -1116,12 +1220,12 @@ class NgtsSegment {
|
|
|
1116
1220
|
onCleanup(() => cleanUp());
|
|
1117
1221
|
});
|
|
1118
1222
|
}
|
|
1119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
1223
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsSegment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1224
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsSegment, isStandalone: true, selector: "ngts-segment", inputs: { start: { classPropertyName: "start", publicName: "start", isSignal: true, isRequired: true, transformFunction: null }, end: { classPropertyName: "end", publicName: "end", isSignal: true, isRequired: true, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "segmentRef", first: true, predicate: ["segment"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1121
1225
|
<ngt-segment-object #segment [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
|
|
1122
1226
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1123
1227
|
}
|
|
1124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsSegment, decorators: [{
|
|
1125
1229
|
type: Component,
|
|
1126
1230
|
args: [{
|
|
1127
1231
|
selector: 'ngts-segment',
|
|
@@ -1158,14 +1262,14 @@ class NgtsSegments {
|
|
|
1158
1262
|
/**
|
|
1159
1263
|
* Configuration options for the segments rendering.
|
|
1160
1264
|
*/
|
|
1161
|
-
this.options = input(defaultSegmentsOptions, { ...(ngDevMode ? { debugName: "options" } : {}), transform: mergeInputs(defaultSegmentsOptions) });
|
|
1265
|
+
this.options = input(defaultSegmentsOptions, { ...(ngDevMode ? { debugName: "options" } : /* istanbul ignore next */ {}), transform: mergeInputs(defaultSegmentsOptions) });
|
|
1162
1266
|
this.parameters = omit(this.options, ['limit', 'lineWidth']);
|
|
1163
1267
|
this.lineWidth = pick(this.options, 'lineWidth');
|
|
1164
1268
|
this.limit = pick(this.options, 'limit');
|
|
1165
1269
|
/**
|
|
1166
1270
|
* Reference to the underlying Line2 element.
|
|
1167
1271
|
*/
|
|
1168
|
-
this.lineRef = viewChild('line', ...(ngDevMode ? [{ debugName: "lineRef" }] : []));
|
|
1272
|
+
this.lineRef = viewChild('line', ...(ngDevMode ? [{ debugName: "lineRef" }] : /* istanbul ignore next */ []));
|
|
1169
1273
|
/**
|
|
1170
1274
|
* Array of registered segment references. Used internally to track all segments.
|
|
1171
1275
|
*/
|
|
@@ -1183,17 +1287,17 @@ class NgtsSegments {
|
|
|
1183
1287
|
resolution: this.resolution,
|
|
1184
1288
|
linewidth: this.lineWidth(),
|
|
1185
1289
|
...this.parameters(),
|
|
1186
|
-
}), ...(ngDevMode ? [{ debugName: "materialParameters" }] : []));
|
|
1290
|
+
}), ...(ngDevMode ? [{ debugName: "materialParameters" }] : /* istanbul ignore next */ []));
|
|
1187
1291
|
/** @internal */
|
|
1188
1292
|
this.positions = computed(() => {
|
|
1189
1293
|
const limit = this.limit();
|
|
1190
1294
|
return Array.from({ length: limit * 6 }, () => 0);
|
|
1191
|
-
}, ...(ngDevMode ? [{ debugName: "positions" }] : []));
|
|
1295
|
+
}, ...(ngDevMode ? [{ debugName: "positions" }] : /* istanbul ignore next */ []));
|
|
1192
1296
|
/** @internal */
|
|
1193
1297
|
this.colors = computed(() => {
|
|
1194
1298
|
const limit = this.limit();
|
|
1195
1299
|
return Array.from({ length: limit * 6 }, () => 0);
|
|
1196
|
-
}, ...(ngDevMode ? [{ debugName: "colors" }] : []));
|
|
1300
|
+
}, ...(ngDevMode ? [{ debugName: "colors" }] : /* istanbul ignore next */ []));
|
|
1197
1301
|
beforeRender(() => {
|
|
1198
1302
|
const [limit, positions, colors] = [this.limit(), this.positions(), this.colors()];
|
|
1199
1303
|
for (let i = 0; i < limit; i++) {
|
|
@@ -1230,8 +1334,8 @@ class NgtsSegments {
|
|
|
1230
1334
|
this.segments = this.segments.filter((i) => i !== ref);
|
|
1231
1335
|
};
|
|
1232
1336
|
}
|
|
1233
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
1234
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.
|
|
1337
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsSegments, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1338
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.9", type: NgtsSegments, isStandalone: true, selector: "ngts-segments", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "lineRef", first: true, predicate: ["line"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1235
1339
|
<ngt-primitive #line *args="[line]">
|
|
1236
1340
|
<ngt-primitive *args="[geometry]" attach="geometry" />
|
|
1237
1341
|
<ngt-primitive *args="[material]" attach="material" [parameters]="materialParameters()" />
|
|
@@ -1239,7 +1343,7 @@ class NgtsSegments {
|
|
|
1239
1343
|
</ngt-primitive>
|
|
1240
1344
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1241
1345
|
}
|
|
1242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
1346
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NgtsSegments, decorators: [{
|
|
1243
1347
|
type: Component,
|
|
1244
1348
|
args: [{
|
|
1245
1349
|
selector: 'ngts-segments',
|
|
@@ -1260,5 +1364,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
1260
1364
|
* Generated bundle index. Do not edit.
|
|
1261
1365
|
*/
|
|
1262
1366
|
|
|
1263
|
-
export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsBVH, NgtsDetailed, NgtsInstance, NgtsInstances, NgtsPoint, NgtsPointsBuffer, NgtsPointsInstances, NgtsSegment, NgtsSegments };
|
|
1367
|
+
export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsBVH, NgtsDetailed, NgtsInstance, NgtsInstances, NgtsLOD, NgtsLODImpl, NgtsLODLevel, NgtsPoint, NgtsPointsBuffer, NgtsPointsInstances, NgtsSegment, NgtsSegments };
|
|
1264
1368
|
//# sourceMappingURL=angular-three-soba-performances.mjs.map
|