angular-three-soba 4.1.1 → 4.2.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/fesm2022/angular-three-soba-misc.mjs +15 -6
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +107 -3
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/package.json +2 -2
- package/performances/README.md +47 -0
- package/types/angular-three-soba-abstractions.d.ts +33 -45
- package/types/angular-three-soba-gizmos.d.ts +1 -1
- package/types/angular-three-soba-materials.d.ts +2 -2
- package/types/angular-three-soba-misc.d.ts +6 -0
- package/types/angular-three-soba-performances.d.ts +49 -3
- package/types/angular-three-soba-staging.d.ts +4 -8
package/performances/README.md
CHANGED
|
@@ -16,6 +16,7 @@ npm install three-mesh-bvh
|
|
|
16
16
|
- [NgtsAdaptiveEvents](#ngtsadaptiveevents)
|
|
17
17
|
- [NgtsBVH](#ngtsbvh)
|
|
18
18
|
- [NgtsDetailed](#ngtsdetailed)
|
|
19
|
+
- [NgtsLOD](#ngtslod)
|
|
19
20
|
- [NgtsInstances](#ngtsinstances)
|
|
20
21
|
- [NgtsSegments](#ngtssegments)
|
|
21
22
|
- [NgtsPoints](#ngtspoints)
|
|
@@ -94,6 +95,52 @@ Implements Level of Detail (LOD) rendering. Automatically switches between diffe
|
|
|
94
95
|
</ngts-detailed>
|
|
95
96
|
```
|
|
96
97
|
|
|
98
|
+
## NgtsLOD
|
|
99
|
+
|
|
100
|
+
Implements Level of Detail (LOD) rendering. Automatically switches between different detail levels of child objects based on camera distance.
|
|
101
|
+
|
|
102
|
+
Unlike `NgtsDetailed`, this is an implementation based on Angular and angular-three APIs rather than Three's LOD class.
|
|
103
|
+
The component adds and remove objects from the scene graph rather than hiding them with `visible = false`.
|
|
104
|
+
This solves a number of issues such as avoid raycasting over hidden objects.
|
|
105
|
+
|
|
106
|
+
Usage:
|
|
107
|
+
|
|
108
|
+
```html
|
|
109
|
+
<ngt-group lod [maxDistance]="10000">
|
|
110
|
+
<ngt-mesh *lodLevel />
|
|
111
|
+
<ngt-mesh *lodLevel="{distance: 100, hysteresis: 0.1}" />
|
|
112
|
+
<ngt-mesh *lodLevel="{distance: 1000}" />
|
|
113
|
+
</ngt-group>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The `[lod]` directive (`NgtsLODImpl`) supports the following optional input:
|
|
117
|
+
|
|
118
|
+
| Property | Description | Default Value |
|
|
119
|
+
| ------------- | ----------------------------------------------------------------------------- | ------------- |
|
|
120
|
+
| `maxDistance` | Distance beyond which nothing is displayed (equivalent to a last empty level) | `undefined` |
|
|
121
|
+
|
|
122
|
+
The `[lodLevel]` directive (`NgtsLODLevel`) supports the following object inputs:
|
|
123
|
+
|
|
124
|
+
| Property | Description | Default Value |
|
|
125
|
+
| ------------ | ---------------------------------------------------- | ------------- |
|
|
126
|
+
| `distance` | Distance threshold above which to display the object | `0` |
|
|
127
|
+
| `hysteresis` | Prevents rapid switching near distance thresholds | `0` |
|
|
128
|
+
|
|
129
|
+
This directive may also be used with the following shorthand syntax:
|
|
130
|
+
|
|
131
|
+
```html
|
|
132
|
+
<ngt-group lod>
|
|
133
|
+
<ng-template lodLevel>
|
|
134
|
+
<ngt-mesh />
|
|
135
|
+
<ngt-mesh />
|
|
136
|
+
</ng-template>
|
|
137
|
+
<ng-template [lodLevel]="{distance: 100}">
|
|
138
|
+
<ngt-mesh />
|
|
139
|
+
<ngt-mesh />
|
|
140
|
+
</ng-template>
|
|
141
|
+
</ngt-group>
|
|
142
|
+
```
|
|
143
|
+
|
|
97
144
|
## NgtsInstances
|
|
98
145
|
|
|
99
146
|
Efficiently renders many instances of the same geometry and material using a single draw call via `THREE.InstancedMesh`.
|
|
@@ -238,11 +238,9 @@ declare class NgtsCatmullRomLine {
|
|
|
238
238
|
frustumCulled?: Readonly<boolean | undefined>;
|
|
239
239
|
renderOrder?: Readonly<number | undefined>;
|
|
240
240
|
animations?: THREE.AnimationClip[] | Readonly<THREE.AnimationClip[] | undefined>;
|
|
241
|
+
userData?: Record<string, any> | (Record<string, any> & Readonly<Record<string, any>>) | undefined;
|
|
241
242
|
customDepthMaterial?: THREE.Material | Readonly<THREE.Material | undefined>;
|
|
242
243
|
customDistanceMaterial?: THREE.Material | Readonly<THREE.Material | undefined>;
|
|
243
|
-
static?: Readonly<boolean | undefined>;
|
|
244
|
-
userData?: Record<string, any> | (Record<string, any> & Readonly<Record<string, any>>) | undefined;
|
|
245
|
-
pivot?: THREE.Vector3 | Readonly<THREE.Vector3 | null | undefined>;
|
|
246
244
|
onBeforeShadow?: ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | Readonly<((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | undefined>;
|
|
247
245
|
onAfterShadow?: ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | Readonly<((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | undefined>;
|
|
248
246
|
onBeforeRender?: ((((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void>) & (((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, object: THREE.Object3D, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, object: THREE.Object3D, group: THREE.Group) => void>)) | undefined;
|
|
@@ -293,8 +291,6 @@ declare class NgtsCatmullRomLine {
|
|
|
293
291
|
toJSON?: ((((meta?: THREE.JSONMeta) => THREE.MeshJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.MeshJSON>) & (((meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON>)) | undefined;
|
|
294
292
|
clone?: ((((recursive?: boolean) => three_stdlib.Line2) | Readonly<(recursive?: boolean) => three_stdlib.Line2>) & ((() => three_stdlib.LineMaterial) | Readonly<() => three_stdlib.LineMaterial>)) | undefined;
|
|
295
293
|
copy?: ((((object: THREE.Object3D, recursive?: boolean) => three_stdlib.Line2) | Readonly<(object: THREE.Object3D, recursive?: boolean) => three_stdlib.Line2>) & (((source: THREE.Material) => three_stdlib.LineMaterial) | Readonly<(source: THREE.Material) => three_stdlib.LineMaterial>)) | undefined;
|
|
296
|
-
count?: Readonly<number | undefined>;
|
|
297
|
-
occlusionTest?: Readonly<boolean | undefined>;
|
|
298
294
|
addEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, three_stdlib.Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, three_stdlib.Line2>) => void) | undefined>) & (<TEventKey extends keyof angular_three.NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof angular_three.NgtNodeEventMap<three_stdlib.Line2>>(type: TEventKey, listener: (this: angular_three.NgtNodeElement<typeof three_stdlib.Line2, three_stdlib.Line2>, ev: angular_three.NgtAllObject3DEventsMap<three_stdlib.Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
|
|
299
295
|
dispose: {};
|
|
300
296
|
}[T], T, three_stdlib.LineMaterial>) => void) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
|
|
@@ -318,7 +314,7 @@ declare class NgtsCatmullRomLine {
|
|
|
318
314
|
dispose?: (((() => void) | Readonly<() => void> | null) & (((() => void) & (() => void)) | Readonly<(() => void) & (() => void)>)) | undefined;
|
|
319
315
|
parameters?: ((Partial<three_stdlib.Line2> | Readonly<Partial<three_stdlib.Line2>>) & (Partial<three_stdlib.LineMaterial> | Readonly<Partial<three_stdlib.LineMaterial>>)) | undefined;
|
|
320
316
|
color?: THREE.ColorRepresentation | undefined;
|
|
321
|
-
blending?: 0 | 1 | 2 | 3 | 4 | 5 |
|
|
317
|
+
blending?: 0 | 1 | 2 | 3 | 4 | 5 | undefined;
|
|
322
318
|
side?: 0 | 1 | 2 | undefined;
|
|
323
319
|
opacity?: number | undefined;
|
|
324
320
|
transparent?: boolean | undefined;
|
|
@@ -379,6 +375,7 @@ declare class NgtsCatmullRomLine {
|
|
|
379
375
|
} | Readonly<{
|
|
380
376
|
[key: string]: number;
|
|
381
377
|
} | undefined>;
|
|
378
|
+
count?: Readonly<number | undefined>;
|
|
382
379
|
updateMorphTargets?: (() => void) | Readonly<(() => void) | undefined>;
|
|
383
380
|
getVertexPosition?: ((index: number, target: THREE.Vector3) => THREE.Vector3) | Readonly<((index: number, target: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
384
381
|
isLineMaterial?: true | undefined;
|
|
@@ -537,21 +534,19 @@ declare class NgtsEdges {
|
|
|
537
534
|
frustumCulled?: Readonly<boolean | undefined>;
|
|
538
535
|
renderOrder?: Readonly<number | undefined>;
|
|
539
536
|
animations?: THREE.AnimationClip[] | Readonly<THREE.AnimationClip[] | undefined>;
|
|
537
|
+
userData?: Record<string, any> | (Readonly<Record<string, any>> & Record<string, any>) | undefined;
|
|
540
538
|
customDepthMaterial?: THREE.Material | Readonly<THREE.Material | undefined>;
|
|
541
539
|
customDistanceMaterial?: THREE.Material | Readonly<THREE.Material | undefined>;
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
onBeforeRender?: ((((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void>) & ((((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void>) & (((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, object: THREE.Object3D, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, object: THREE.Object3D, group: THREE.Group) => void>))) | undefined;
|
|
548
|
-
onAfterRender?: ((((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void>) & (((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void>)) | undefined;
|
|
549
|
-
applyMatrix4?: ((((matrix: THREE.Matrix4) => void) | Readonly<(matrix: THREE.Matrix4) => void>) & (((matrix: THREE.Matrix4) => void) | Readonly<(matrix: THREE.Matrix4) => void>)) | undefined;
|
|
540
|
+
onBeforeShadow?: ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | Readonly<((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | undefined>;
|
|
541
|
+
onAfterShadow?: ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | Readonly<((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, shadowCamera: THREE.Camera, geometry: THREE.BufferGeometry, depthMaterial: THREE.Material, group: THREE.Group) => void) | undefined>;
|
|
542
|
+
onBeforeRender?: ((((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void>) & (((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, object: THREE.Object3D, group: THREE.Group) => void) | Readonly<(renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, object: THREE.Object3D, group: THREE.Group) => void>)) | undefined;
|
|
543
|
+
onAfterRender?: ((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | Readonly<((renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera, geometry: THREE.BufferGeometry, material: THREE.Material, group: THREE.Group) => void) | undefined>;
|
|
544
|
+
applyMatrix4?: ((matrix: THREE.Matrix4) => void) | Readonly<((matrix: THREE.Matrix4) => void) | undefined>;
|
|
550
545
|
applyQuaternion?: ((((quaternion: THREE.Quaternion) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(quaternion: THREE.Quaternion) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((quaternion: THREE.Quaternion) => three_stdlib.Line2) | Readonly<(quaternion: THREE.Quaternion) => three_stdlib.Line2>)) | undefined;
|
|
551
|
-
setRotationFromAxisAngle?: ((
|
|
552
|
-
setRotationFromEuler?: ((
|
|
553
|
-
setRotationFromMatrix?: ((
|
|
554
|
-
setRotationFromQuaternion?: ((
|
|
546
|
+
setRotationFromAxisAngle?: ((axis: THREE.Vector3, angle: number) => void) | Readonly<((axis: THREE.Vector3, angle: number) => void) | undefined>;
|
|
547
|
+
setRotationFromEuler?: ((euler: THREE.Euler) => void) | Readonly<((euler: THREE.Euler) => void) | undefined>;
|
|
548
|
+
setRotationFromMatrix?: ((m: THREE.Matrix4) => void) | Readonly<((m: THREE.Matrix4) => void) | undefined>;
|
|
549
|
+
setRotationFromQuaternion?: ((q: THREE.Quaternion) => void) | Readonly<((q: THREE.Quaternion) => void) | undefined>;
|
|
555
550
|
rotateOnAxis?: ((((axis: THREE.Vector3, angle: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(axis: THREE.Vector3, angle: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((axis: THREE.Vector3, angle: number) => three_stdlib.Line2) | Readonly<(axis: THREE.Vector3, angle: number) => three_stdlib.Line2>)) | undefined;
|
|
556
551
|
rotateOnWorldAxis?: ((((axis: THREE.Vector3, angle: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(axis: THREE.Vector3, angle: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((axis: THREE.Vector3, angle: number) => three_stdlib.Line2) | Readonly<(axis: THREE.Vector3, angle: number) => three_stdlib.Line2>)) | undefined;
|
|
557
552
|
rotateX?: ((((angle: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(angle: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((angle: number) => three_stdlib.Line2) | Readonly<(angle: number) => three_stdlib.Line2>)) | undefined;
|
|
@@ -561,45 +556,37 @@ declare class NgtsEdges {
|
|
|
561
556
|
translateX?: ((((distance: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(distance: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((distance: number) => three_stdlib.Line2) | Readonly<(distance: number) => three_stdlib.Line2>)) | undefined;
|
|
562
557
|
translateY?: ((((distance: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(distance: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((distance: number) => three_stdlib.Line2) | Readonly<(distance: number) => three_stdlib.Line2>)) | undefined;
|
|
563
558
|
translateZ?: ((((distance: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(distance: number) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((distance: number) => three_stdlib.Line2) | Readonly<(distance: number) => three_stdlib.Line2>)) | undefined;
|
|
564
|
-
localToWorld?: ((
|
|
565
|
-
worldToLocal?: ((
|
|
566
|
-
lookAt?:
|
|
567
|
-
(vector: THREE.Vector3): void;
|
|
568
|
-
(x: number, y: number, z: number): void;
|
|
569
|
-
} | Readonly<{
|
|
570
|
-
(vector: THREE.Vector3): void;
|
|
571
|
-
(x: number, y: number, z: number): void;
|
|
572
|
-
}>) & ({
|
|
559
|
+
localToWorld?: ((vector: THREE.Vector3) => THREE.Vector3) | Readonly<((vector: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
560
|
+
worldToLocal?: ((vector: THREE.Vector3) => THREE.Vector3) | Readonly<((vector: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
561
|
+
lookAt?: {
|
|
573
562
|
(vector: THREE.Vector3): void;
|
|
574
563
|
(x: number, y: number, z: number): void;
|
|
575
564
|
} | Readonly<{
|
|
576
565
|
(vector: THREE.Vector3): void;
|
|
577
566
|
(x: number, y: number, z: number): void;
|
|
578
|
-
}
|
|
567
|
+
} | undefined>;
|
|
579
568
|
add?: ((((...object: THREE.Object3D[]) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(...object: THREE.Object3D[]) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((...object: THREE.Object3D[]) => three_stdlib.Line2) | Readonly<(...object: THREE.Object3D[]) => three_stdlib.Line2>)) | undefined;
|
|
580
569
|
remove?: ((((...object: THREE.Object3D[]) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(...object: THREE.Object3D[]) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & (((...object: THREE.Object3D[]) => three_stdlib.Line2) | Readonly<(...object: THREE.Object3D[]) => three_stdlib.Line2>)) | undefined;
|
|
581
570
|
removeFromParent?: (((() => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<() => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & ((() => three_stdlib.Line2) | Readonly<() => three_stdlib.Line2>)) | undefined;
|
|
582
571
|
clear?: (((() => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<() => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & ((() => three_stdlib.Line2) | Readonly<() => three_stdlib.Line2>)) | undefined;
|
|
583
572
|
attach?: ((((((object: THREE.Object3D) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | undefined) & (string | string[] | angular_three.NgtAttachFunction<any, any>)) | Readonly<(((object: THREE.Object3D) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | undefined) & (string | string[] | angular_three.NgtAttachFunction<any, any>)>) & ((((((object: THREE.Object3D) => three_stdlib.Line2) | undefined) & (string | string[] | angular_three.NgtAttachFunction<any, any>)) | Readonly<(((object: THREE.Object3D) => three_stdlib.Line2) | undefined) & (string | string[] | angular_three.NgtAttachFunction<any, any>)>) & (string[] | angular_three.NgtAttachFunction<any, any> | Readonly<string | string[] | angular_three.NgtAttachFunction<any, any>>))) | undefined;
|
|
584
|
-
getObjectById?: ((
|
|
585
|
-
getObjectByName?: ((
|
|
586
|
-
getObjectByProperty?: ((
|
|
587
|
-
getObjectsByProperty?: ((
|
|
588
|
-
getWorldPosition?: ((
|
|
589
|
-
getWorldQuaternion?: ((
|
|
590
|
-
getWorldScale?: ((
|
|
591
|
-
getWorldDirection?: ((
|
|
592
|
-
traverse?: ((
|
|
593
|
-
traverseVisible?: ((
|
|
594
|
-
traverseAncestors?: ((
|
|
595
|
-
updateMatrix?: ((
|
|
596
|
-
updateMatrixWorld?: ((
|
|
597
|
-
updateWorldMatrix?: ((
|
|
573
|
+
getObjectById?: ((id: number) => THREE.Object3D | undefined) | Readonly<((id: number) => THREE.Object3D | undefined) | undefined>;
|
|
574
|
+
getObjectByName?: ((name: string) => THREE.Object3D | undefined) | Readonly<((name: string) => THREE.Object3D | undefined) | undefined>;
|
|
575
|
+
getObjectByProperty?: ((name: string, value: any) => THREE.Object3D | undefined) | Readonly<((name: string, value: any) => THREE.Object3D | undefined) | undefined>;
|
|
576
|
+
getObjectsByProperty?: ((name: string, value: any, optionalTarget?: THREE.Object3D[]) => THREE.Object3D[]) | Readonly<((name: string, value: any, optionalTarget?: THREE.Object3D[]) => THREE.Object3D[]) | undefined>;
|
|
577
|
+
getWorldPosition?: ((target: THREE.Vector3) => THREE.Vector3) | Readonly<((target: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
578
|
+
getWorldQuaternion?: ((target: THREE.Quaternion) => THREE.Quaternion) | Readonly<((target: THREE.Quaternion) => THREE.Quaternion) | undefined>;
|
|
579
|
+
getWorldScale?: ((target: THREE.Vector3) => THREE.Vector3) | Readonly<((target: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
580
|
+
getWorldDirection?: ((target: THREE.Vector3) => THREE.Vector3) | Readonly<((target: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
581
|
+
traverse?: ((callback: (object: THREE.Object3D) => any) => void) | Readonly<((callback: (object: THREE.Object3D) => any) => void) | undefined>;
|
|
582
|
+
traverseVisible?: ((callback: (object: THREE.Object3D) => any) => void) | Readonly<((callback: (object: THREE.Object3D) => any) => void) | undefined>;
|
|
583
|
+
traverseAncestors?: ((callback: (object: THREE.Object3D) => any) => void) | Readonly<((callback: (object: THREE.Object3D) => any) => void) | undefined>;
|
|
584
|
+
updateMatrix?: (() => void) | Readonly<(() => void) | undefined>;
|
|
585
|
+
updateMatrixWorld?: ((force?: boolean) => void) | Readonly<((force?: boolean) => void) | undefined>;
|
|
586
|
+
updateWorldMatrix?: ((updateParents: boolean, updateChildren: boolean) => void) | Readonly<((updateParents: boolean, updateChildren: boolean) => void) | undefined>;
|
|
598
587
|
toJSON?: ((((meta?: THREE.JSONMeta) => THREE.MeshJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.MeshJSON>) & (((meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON) | Readonly<(meta?: THREE.JSONMeta) => THREE.ShaderMaterialJSON>)) | undefined;
|
|
599
588
|
clone?: ((((recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & ((((recursive?: boolean) => three_stdlib.Line2) | Readonly<(recursive?: boolean) => three_stdlib.Line2>) & ((() => three_stdlib.LineMaterial) | Readonly<() => three_stdlib.LineMaterial>))) | undefined;
|
|
600
589
|
copy?: ((((object: THREE.Object3D, recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>) | Readonly<(object: THREE.Object3D, recursive?: boolean) => THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) & ((((object: THREE.Object3D, recursive?: boolean) => three_stdlib.Line2) | Readonly<(object: THREE.Object3D, recursive?: boolean) => three_stdlib.Line2>) & (((source: THREE.Material) => three_stdlib.LineMaterial) | Readonly<(source: THREE.Material) => three_stdlib.LineMaterial>))) | undefined;
|
|
601
|
-
count?: Readonly<number | undefined>;
|
|
602
|
-
occlusionTest?: Readonly<boolean | undefined>;
|
|
603
590
|
addEventListener?: ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof angular_three.NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof angular_three.NgtNodeEventMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>(type: TEventKey, listener: (this: angular_three.NgtNodeElement<typeof THREE.Mesh, THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>, ev: angular_three.NgtAllObject3DEventsMap<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>[TEventKey]) => any) => void)) & ((((<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, three_stdlib.Line2>) => void) | Readonly<(<T extends keyof THREE.Object3DEventMap>(type: T, listener: THREE.EventListener<THREE.Object3DEventMap[T], T, three_stdlib.Line2>) => void) | undefined>) & (<TEventKey extends keyof angular_three.NgtEventHandlers | "added" | "removed" | "childadded" | "childremoved" | "change" | keyof angular_three.NgtNodeEventMap<three_stdlib.Line2>>(type: TEventKey, listener: (this: angular_three.NgtNodeElement<typeof three_stdlib.Line2, three_stdlib.Line2>, ev: angular_three.NgtAllObject3DEventsMap<three_stdlib.Line2>[TEventKey]) => any) => void)) & (((<T extends "dispose">(type: T, listener: THREE.EventListener<{
|
|
604
591
|
dispose: {};
|
|
605
592
|
}[T], T, three_stdlib.LineMaterial>) => void) | Readonly<(<T extends "dispose">(type: T, listener: THREE.EventListener<{
|
|
@@ -624,7 +611,7 @@ declare class NgtsEdges {
|
|
|
624
611
|
parameters?: ((Partial<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>> | Readonly<Partial<THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap>>>) & ((Partial<three_stdlib.Line2> | Readonly<Partial<three_stdlib.Line2>>) & (Partial<three_stdlib.LineMaterial> | Readonly<Partial<three_stdlib.LineMaterial>>))) | undefined;
|
|
625
612
|
__ngt_args__?: (([geometry?: THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined, material?: THREE.Material | THREE.Material[] | undefined] | readonly [geometry?: THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap> | undefined, material?: THREE.Material | THREE.Material[] | undefined]) & (([geometry?: three_stdlib.LineGeometry | undefined, material?: three_stdlib.LineMaterial | undefined] | readonly [geometry?: three_stdlib.LineGeometry | undefined, material?: three_stdlib.LineMaterial | undefined]) & ([parameters?: LineMaterialParameters | undefined] | readonly [parameters?: LineMaterialParameters | undefined]))) | undefined;
|
|
626
613
|
color?: THREE.ColorRepresentation | undefined;
|
|
627
|
-
blending?: 0 | 1 | 2 | 3 | 4 | 5 |
|
|
614
|
+
blending?: 0 | 1 | 2 | 3 | 4 | 5 | undefined;
|
|
628
615
|
side?: 0 | 1 | 2 | undefined;
|
|
629
616
|
opacity?: number | undefined;
|
|
630
617
|
transparent?: boolean | undefined;
|
|
@@ -684,6 +671,7 @@ declare class NgtsEdges {
|
|
|
684
671
|
} | Readonly<{
|
|
685
672
|
[key: string]: number;
|
|
686
673
|
} | undefined>;
|
|
674
|
+
count?: Readonly<number | undefined>;
|
|
687
675
|
updateMorphTargets?: (() => void) | Readonly<(() => void) | undefined>;
|
|
688
676
|
getVertexPosition?: ((index: number, target: THREE.Vector3) => THREE.Vector3) | Readonly<((index: number, target: THREE.Vector3) => THREE.Vector3) | undefined>;
|
|
689
677
|
isLineMaterial?: true | undefined;
|
|
@@ -92,7 +92,7 @@ declare class NgtsGizmoHelperImpl {
|
|
|
92
92
|
protected renderPriority: _angular_core.Signal<number>;
|
|
93
93
|
protected margin: _angular_core.Signal<[number, number]>;
|
|
94
94
|
protected alignment: _angular_core.Signal<"top-left" | "top-right" | "bottom-right" | "bottom-left" | "bottom-center" | "center-right" | "center-left" | "center-center" | "top-center">;
|
|
95
|
-
protected scene: THREE.Scene
|
|
95
|
+
protected scene: THREE.Scene<THREE.Object3DEventMap>;
|
|
96
96
|
protected content: _angular_core.Signal<TemplateRef<any>>;
|
|
97
97
|
private gizmoRef;
|
|
98
98
|
private virtualCameraRef;
|
|
@@ -111,7 +111,7 @@ declare class ManagePortalScene {
|
|
|
111
111
|
/** Whether events should be enabled inside the portal. */
|
|
112
112
|
events: _angular_core.InputSignal<boolean | undefined>;
|
|
113
113
|
/** Reference to the root/world scene for blending. */
|
|
114
|
-
rootScene: _angular_core.InputSignal<THREE.Scene
|
|
114
|
+
rootScene: _angular_core.InputSignal<THREE.Scene<THREE.Object3DEventMap>>;
|
|
115
115
|
/** Reference to the portal material for accessing blend values. */
|
|
116
116
|
material: _angular_core.InputSignal<NgtMeshPortalMaterial>;
|
|
117
117
|
/** Render priority for the portal scene. */
|
|
@@ -206,7 +206,7 @@ declare class NgtsMeshPortalMaterial {
|
|
|
206
206
|
/** The content template to render inside the portal. */
|
|
207
207
|
protected content: _angular_core.Signal<TemplateRef<any>>;
|
|
208
208
|
private store;
|
|
209
|
-
protected rootScene: angular_three.DeepSignal<THREE.Scene
|
|
209
|
+
protected rootScene: angular_three.DeepSignal<THREE.Scene<THREE.Object3DEventMap>>;
|
|
210
210
|
protected materialResolution: _angular_core.Signal<number[]>;
|
|
211
211
|
private resolution;
|
|
212
212
|
private parent;
|
|
@@ -540,6 +540,12 @@ interface NgtsHTMLContentOptions {
|
|
|
540
540
|
* Defaults to the canvas container or `events.connected` element.
|
|
541
541
|
*/
|
|
542
542
|
parent?: HTMLElement | ElementRef<HTMLElement>;
|
|
543
|
+
/**
|
|
544
|
+
* Computes z-index with a logarithmic scale, which prevents
|
|
545
|
+
* near objects from all having the same z-index when
|
|
546
|
+
* camera.far is very large.
|
|
547
|
+
*/
|
|
548
|
+
logarithmicDepth?: boolean;
|
|
543
549
|
}
|
|
544
550
|
/**
|
|
545
551
|
* Renders HTML content positioned relative to a `NgtsHTML` anchor in 3D space.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { ElementRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import { NgtThreeElements, NgtThreeElement } from 'angular-three';
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { SplitStrategy } from 'three-mesh-bvh';
|
|
@@ -367,6 +367,52 @@ declare class NgtsInstances {
|
|
|
367
367
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgtsInstances, "ngts-instances", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
+
type NgtsLODLevelOptions = {
|
|
371
|
+
distance: number;
|
|
372
|
+
hysteresis: number;
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* Helper directive to capture a template to attach to
|
|
376
|
+
* an NgtsLOD component.
|
|
377
|
+
*/
|
|
378
|
+
declare class NgtsLODLevel {
|
|
379
|
+
lodLevel: _angular_core.InputSignalWithTransform<NgtsLODLevelOptions, "" | Partial<NgtsLODLevelOptions>>;
|
|
380
|
+
template: TemplateRef<any>;
|
|
381
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgtsLODLevel, never>;
|
|
382
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgtsLODLevel, "ng-template[lodLevel]", never, { "lodLevel": { "alias": "lodLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Angular-native port of THREE.LOD
|
|
386
|
+
*
|
|
387
|
+
* Allows to display an object with several levels of details.
|
|
388
|
+
*
|
|
389
|
+
* The main difference with THREE.LOD is that we use angular-three
|
|
390
|
+
* to add/remove the right object from the scene graph, rather than
|
|
391
|
+
* setting the visible flag on one of the object, but keeping them
|
|
392
|
+
* all in the graph.
|
|
393
|
+
*
|
|
394
|
+
* Usage:
|
|
395
|
+
*
|
|
396
|
+
* ```html
|
|
397
|
+
* <ngt-group lod [maxDistance]="10000">
|
|
398
|
+
* <ngt-mesh *lodLevel />
|
|
399
|
+
* <ngt-mesh *lodLevel="{distance: 100, hysteresis: 0.1}" />
|
|
400
|
+
* <ngt-mesh *lodLevel="{distance: 1000}" />
|
|
401
|
+
* </ngt-group>
|
|
402
|
+
* ```
|
|
403
|
+
*/
|
|
404
|
+
declare class NgtsLODImpl {
|
|
405
|
+
maxDistance: _angular_core.InputSignal<number | undefined>;
|
|
406
|
+
private store;
|
|
407
|
+
private container;
|
|
408
|
+
readonly levels: _angular_core.Signal<readonly NgtsLODLevel[]>;
|
|
409
|
+
readonly level: _angular_core.WritableSignal<NgtsLODLevel | undefined>;
|
|
410
|
+
constructor();
|
|
411
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgtsLODImpl, never>;
|
|
412
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgtsLODImpl, "[lod]", never, { "maxDistance": { "alias": "maxDistance"; "required": false; "isSignal": true; }; }, {}, ["levels"], never, true, never>;
|
|
413
|
+
}
|
|
414
|
+
declare const NgtsLOD: readonly [typeof NgtsLODImpl, typeof NgtsLODLevel];
|
|
415
|
+
|
|
370
416
|
/**
|
|
371
417
|
* Type definition for the PositionPoint element in Angular Three templates.
|
|
372
418
|
*/
|
|
@@ -787,5 +833,5 @@ declare class NgtsSegments {
|
|
|
787
833
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgtsSegments, "ngts-segments", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
788
834
|
}
|
|
789
835
|
|
|
790
|
-
export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsBVH, NgtsDetailed, NgtsInstance, NgtsInstances, NgtsPoint, NgtsPointsBuffer, NgtsPointsInstances, NgtsSegment, NgtsSegments };
|
|
791
|
-
export type { NgtsBVHOptions, NgtsDetailedOptions, NgtsInstancesOptions, NgtsPointsInstancesOptions, NgtsSegmentsOptions };
|
|
836
|
+
export { NgtsAdaptiveDpr, NgtsAdaptiveEvents, NgtsBVH, NgtsDetailed, NgtsInstance, NgtsInstances, NgtsLOD, NgtsLODImpl, NgtsLODLevel, NgtsPoint, NgtsPointsBuffer, NgtsPointsInstances, NgtsSegment, NgtsSegments };
|
|
837
|
+
export type { NgtsBVHOptions, NgtsDetailedOptions, NgtsInstancesOptions, NgtsLODLevelOptions, NgtsPointsInstancesOptions, NgtsSegmentsOptions };
|
|
@@ -1390,7 +1390,7 @@ declare class NgtsEnvironmentPortal {
|
|
|
1390
1390
|
private resolution;
|
|
1391
1391
|
private fbo;
|
|
1392
1392
|
protected cameraArgs: _angular_core.Signal<(number | three.WebGLCubeRenderTarget | undefined)[]>;
|
|
1393
|
-
protected virtualScene: three.Scene
|
|
1393
|
+
protected virtualScene: three.Scene<three.Object3DEventMap>;
|
|
1394
1394
|
private setEnvEffectRef?;
|
|
1395
1395
|
constructor();
|
|
1396
1396
|
onEnvSet(): void;
|
|
@@ -2146,7 +2146,7 @@ declare class NgtsRenderTextureImpl {
|
|
|
2146
2146
|
protected renderPriority: _angular_core.Signal<number>;
|
|
2147
2147
|
protected frames: _angular_core.Signal<number>;
|
|
2148
2148
|
protected fbo: three.WebGLRenderTarget<three.Texture<unknown>>;
|
|
2149
|
-
protected virtualScene: three.Scene
|
|
2149
|
+
protected virtualScene: three.Scene<three.Object3DEventMap>;
|
|
2150
2150
|
protected eventPriority: _angular_core.Signal<number>;
|
|
2151
2151
|
protected compute: _angular_core.Signal<NgtComputeFunction>;
|
|
2152
2152
|
private uvCompute;
|
|
@@ -2328,7 +2328,7 @@ type NgtsSparklesOptions = Partial<NgtThreeElements['ngt-points']> & SparklesPro
|
|
|
2328
2328
|
declare class NgtsSparkles {
|
|
2329
2329
|
/** Configuration options for the sparkles effect. */
|
|
2330
2330
|
options: _angular_core.InputSignalWithTransform<NgtsSparklesOptions, "" | Partial<NgtsSparklesOptions>>;
|
|
2331
|
-
protected parameters: _angular_core.Signal<Omit<NgtsSparklesOptions, "scale" | "
|
|
2331
|
+
protected parameters: _angular_core.Signal<Omit<NgtsSparklesOptions, "scale" | "opacity" | "color" | "size" | "speed" | "count" | "noise">>;
|
|
2332
2332
|
private sparklesOptions;
|
|
2333
2333
|
private store;
|
|
2334
2334
|
/**
|
|
@@ -2666,11 +2666,9 @@ declare class NgtsStage {
|
|
|
2666
2666
|
frustumCulled?: Readonly<boolean | undefined>;
|
|
2667
2667
|
renderOrder?: Readonly<number | undefined>;
|
|
2668
2668
|
animations?: three.AnimationClip[] | Readonly<three.AnimationClip[] | undefined>;
|
|
2669
|
+
userData?: Record<string, any> | Readonly<Record<string, any> | undefined>;
|
|
2669
2670
|
customDepthMaterial?: three.Material | Readonly<three.Material | undefined>;
|
|
2670
2671
|
customDistanceMaterial?: three.Material | Readonly<three.Material | undefined>;
|
|
2671
|
-
static?: Readonly<boolean | undefined>;
|
|
2672
|
-
userData?: Record<string, any> | Readonly<Record<string, any> | undefined>;
|
|
2673
|
-
pivot?: three.Vector3 | Readonly<three.Vector3 | null | undefined>;
|
|
2674
2672
|
onBeforeShadow?: ((renderer: three.WebGLRenderer, scene: three.Scene, camera: three.Camera, shadowCamera: three.Camera, geometry: three.BufferGeometry, depthMaterial: three.Material, group: Group) => void) | Readonly<((renderer: three.WebGLRenderer, scene: three.Scene, camera: three.Camera, shadowCamera: three.Camera, geometry: three.BufferGeometry, depthMaterial: three.Material, group: Group) => void) | undefined>;
|
|
2675
2673
|
onAfterShadow?: ((renderer: three.WebGLRenderer, scene: three.Scene, camera: three.Camera, shadowCamera: three.Camera, geometry: three.BufferGeometry, depthMaterial: three.Material, group: Group) => void) | Readonly<((renderer: three.WebGLRenderer, scene: three.Scene, camera: three.Camera, shadowCamera: three.Camera, geometry: three.BufferGeometry, depthMaterial: three.Material, group: Group) => void) | undefined>;
|
|
2676
2674
|
onBeforeRender?: ((renderer: three.WebGLRenderer, scene: three.Scene, camera: three.Camera, geometry: three.BufferGeometry, material: three.Material, group: Group) => void) | Readonly<((renderer: three.WebGLRenderer, scene: three.Scene, camera: three.Camera, geometry: three.BufferGeometry, material: three.Material, group: Group) => void) | undefined>;
|
|
@@ -2721,8 +2719,6 @@ declare class NgtsStage {
|
|
|
2721
2719
|
toJSON?: ((meta?: three.JSONMeta) => three.Object3DJSON) | Readonly<((meta?: three.JSONMeta) => three.Object3DJSON) | undefined>;
|
|
2722
2720
|
clone?: ((recursive?: boolean) => Group<three.Object3DEventMap>) | Readonly<((recursive?: boolean) => Group<three.Object3DEventMap>) | undefined>;
|
|
2723
2721
|
copy?: ((object: three.Object3D, recursive?: boolean) => Group<three.Object3DEventMap>) | Readonly<((object: three.Object3D, recursive?: boolean) => Group<three.Object3DEventMap>) | undefined>;
|
|
2724
|
-
count?: Readonly<number | undefined>;
|
|
2725
|
-
occlusionTest?: Readonly<boolean | undefined>;
|
|
2726
2722
|
addEventListener?: (((<T extends keyof three.Object3DEventMap>(type: T, listener: three.EventListener<three.Object3DEventMap[T], T, Group<three.Object3DEventMap>>) => void) | Readonly<(<T extends keyof three.Object3DEventMap>(type: T, listener: three.EventListener<three.Object3DEventMap[T], T, Group<three.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof angular_three.NgtEventHandlers | "change" | "added" | "removed" | "childadded" | "childremoved" | keyof angular_three.NgtNodeEventMap<Group<three.Object3DEventMap>>>(type: TEventKey, listener: (this: angular_three.NgtNodeElement<typeof Group, Group<three.Object3DEventMap>>, ev: angular_three.NgtAllObject3DEventsMap<Group<three.Object3DEventMap>>[TEventKey]) => any) => void)) | undefined;
|
|
2727
2723
|
hasEventListener?: (<T extends keyof three.Object3DEventMap>(type: T, listener: three.EventListener<three.Object3DEventMap[T], T, Group<three.Object3DEventMap>>) => boolean) | Readonly<(<T extends keyof three.Object3DEventMap>(type: T, listener: three.EventListener<three.Object3DEventMap[T], T, Group<three.Object3DEventMap>>) => boolean) | undefined>;
|
|
2728
2724
|
removeEventListener?: (((<T extends keyof three.Object3DEventMap>(type: T, listener: three.EventListener<three.Object3DEventMap[T], T, Group<three.Object3DEventMap>>) => void) | Readonly<(<T extends keyof three.Object3DEventMap>(type: T, listener: three.EventListener<three.Object3DEventMap[T], T, Group<three.Object3DEventMap>>) => void) | undefined>) & (<TEventKey extends keyof angular_three.NgtEventHandlers | "change" | "added" | "removed" | "childadded" | "childremoved" | keyof angular_three.NgtNodeEventMap<Group<three.Object3DEventMap>>>(type: TEventKey, listener: (this: angular_three.NgtNodeElement<typeof Group, Group<three.Object3DEventMap>>, ev: angular_three.NgtAllObject3DEventsMap<Group<three.Object3DEventMap>>[TEventKey]) => any) => void)) | undefined;
|