angular-three-soba 2.2.0 → 2.3.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/abstractions/lib/catmull-rom-line.d.ts +148 -148
- package/abstractions/lib/edges.d.ts +166 -166
- package/abstractions/lib/grid.d.ts +30 -30
- package/abstractions/lib/line.d.ts +10 -9
- package/abstractions/lib/prism-geometry.d.ts +4 -4
- package/abstractions/lib/rounded-box.d.ts +3 -3
- package/abstractions/lib/text-3d.d.ts +38 -38
- package/abstractions/lib/text.d.ts +2 -3
- package/cameras/lib/cube-camera.d.ts +2 -2
- package/cameras/lib/orthographic-camera.d.ts +7 -8
- package/cameras/lib/perspective-camera.d.ts +2 -3
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard.mjs +3 -3
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +3 -3
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/edges.mjs +30 -34
- package/esm2022/abstractions/lib/gradient-texture.mjs +3 -3
- package/esm2022/abstractions/lib/grid.mjs +3 -3
- package/esm2022/abstractions/lib/helper.mjs +18 -20
- package/esm2022/abstractions/lib/line.mjs +25 -28
- package/esm2022/abstractions/lib/prism-geometry.mjs +3 -3
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/rounded-box.mjs +11 -17
- package/esm2022/abstractions/lib/text-3d.mjs +14 -17
- package/esm2022/abstractions/lib/text.mjs +11 -16
- package/esm2022/cameras/lib/camera-content.mjs +3 -3
- package/esm2022/cameras/lib/cube-camera.mjs +18 -27
- package/esm2022/cameras/lib/orthographic-camera.mjs +20 -20
- package/esm2022/cameras/lib/perspective-camera.mjs +21 -21
- package/esm2022/controls/lib/camera-controls.mjs +3 -3
- package/esm2022/controls/lib/orbit-controls.mjs +3 -3
- package/esm2022/controls/lib/scroll-controls.mjs +124 -130
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +6 -6
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +12 -12
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +9 -9
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +6 -4
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +44 -47
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +3 -3
- package/esm2022/gizmos/lib/transform-controls.mjs +3 -3
- package/esm2022/loaders/lib/loader.mjs +3 -3
- package/esm2022/materials/lib/custom-shader-material.mjs +8 -12
- package/esm2022/materials/lib/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-reflector-material.mjs +11 -15
- package/esm2022/materials/lib/mesh-refraction-material.mjs +26 -30
- package/esm2022/materials/lib/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/lib/point-material.mjs +3 -3
- package/esm2022/misc/lib/bake-shadows.mjs +8 -10
- package/esm2022/misc/lib/computed-attribute.mjs +15 -19
- package/esm2022/misc/lib/decal.mjs +56 -53
- package/esm2022/misc/lib/fbo.mjs +10 -10
- package/esm2022/misc/lib/html/html-content.mjs +62 -67
- package/esm2022/misc/lib/html/html.mjs +3 -3
- package/esm2022/misc/lib/intersect.mjs +6 -9
- package/esm2022/misc/lib/sampler.mjs +42 -42
- package/esm2022/performances/lib/adaptive-dpr.mjs +29 -35
- package/esm2022/performances/lib/adaptive-events.mjs +12 -16
- package/esm2022/performances/lib/detailed.mjs +14 -18
- package/esm2022/performances/lib/instances/instances.mjs +16 -22
- package/esm2022/performances/lib/points/points.mjs +19 -25
- package/esm2022/performances/lib/segments/segments.mjs +11 -14
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +1 -1
- package/esm2022/staging/index.mjs +3 -2
- package/esm2022/staging/lib/accumulative-shadows.mjs +19 -21
- package/esm2022/staging/lib/backdrop.mjs +19 -23
- package/esm2022/staging/lib/bb-anchor.mjs +3 -3
- package/esm2022/staging/lib/bounds.mjs +39 -43
- package/esm2022/staging/lib/camera-shake.mjs +14 -18
- package/esm2022/staging/lib/caustics.mjs +24 -28
- package/esm2022/staging/lib/center.mjs +28 -32
- package/esm2022/staging/lib/contact-shadows.mjs +3 -3
- package/esm2022/staging/lib/environment/environment.mjs +338 -0
- package/esm2022/staging/lib/environment/inject-environment.mjs +184 -0
- package/esm2022/staging/lib/float.mjs +3 -3
- package/esm2022/staging/lib/lightformer.mjs +18 -22
- package/esm2022/staging/lib/mask.mjs +8 -12
- package/esm2022/staging/lib/matcap-texture.mjs +9 -11
- package/esm2022/staging/lib/normal-texture.mjs +9 -11
- package/esm2022/staging/lib/randomized-lights.mjs +9 -13
- package/esm2022/staging/lib/render-texture.mjs +19 -20
- package/esm2022/staging/lib/sky.mjs +3 -3
- package/esm2022/staging/lib/spot-light.mjs +32 -40
- package/esm2022/staging/lib/stage.mjs +13 -17
- package/esm2022/stats/lib/stats.mjs +21 -27
- package/fesm2022/angular-three-soba-abstractions.mjs +119 -138
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +57 -64
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +129 -135
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +87 -88
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +52 -62
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +188 -195
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +90 -114
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +427 -430
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +20 -26
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/materials/lib/custom-shader-material.d.ts +3 -3
- package/materials/lib/mesh-refraction-material.d.ts +3 -3
- package/materials/lib/mesh-transmission-material.d.ts +1 -1
- package/misc/lib/computed-attribute.d.ts +5 -5
- package/misc/lib/decal.d.ts +5 -5
- package/misc/lib/html/html-content.d.ts +6 -6
- package/misc/lib/html/html.d.ts +1 -1
- package/misc/lib/sampler.d.ts +2 -4
- package/package.json +12 -12
- package/performances/lib/instances/instances.d.ts +11 -11
- package/performances/lib/points/points.d.ts +20 -20
- package/performances/lib/segments/segments.d.ts +4 -4
- package/shaders/lib/mesh-refraction-material.d.ts +2 -5
- package/staging/index.d.ts +2 -1
- package/staging/lib/camera-shake.d.ts +0 -1
- package/staging/lib/caustics.d.ts +1 -1
- package/staging/lib/center.d.ts +2 -2
- package/staging/lib/contact-shadows.d.ts +1 -1
- package/staging/lib/{environment.d.ts → environment/environment.d.ts} +20 -49
- package/staging/lib/environment/inject-environment.d.ts +33 -0
- package/staging/lib/lightformer.d.ts +1 -1
- package/staging/lib/mask.d.ts +1 -1
- package/staging/lib/matcap-texture.d.ts +0 -1
- package/staging/lib/normal-texture.d.ts +0 -1
- package/staging/lib/render-texture.d.ts +1 -1
- package/staging/lib/sky.d.ts +1 -1
- package/staging/lib/spot-light.d.ts +2 -2
- package/staging/lib/stage.d.ts +7 -6
- package/esm2022/staging/lib/environment.mjs +0 -481
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { NgTemplateOutlet, DOCUMENT } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Directive, input, output, contentChild, TemplateRef, viewChild, computed, effect, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, inject, signal, ElementRef
|
|
3
|
+
import { Directive, input, output, contentChild, TemplateRef, viewChild, computed, effect, Component, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, inject, signal, ElementRef } from '@angular/core';
|
|
4
4
|
import { pick, injectStore, extend, injectBeforeRender, hasListener, NgtPortal, NgtPortalContent, NgtArgs, getEmitter, omit, getLocalState, resolveRef } from 'angular-three';
|
|
5
5
|
import { NgtsOrthographicCamera } from 'angular-three-soba/cameras';
|
|
6
6
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
7
7
|
import { Object3D, Matrix4, Quaternion, Vector3, Scene, Group, CanvasTexture, MeshBasicMaterial, Mesh, BoxGeometry, Sprite, SpriteMaterial, DoubleSide, ConeGeometry, CylinderGeometry, Ray, Plane, PlaneGeometry, SphereGeometry, Box3 } from 'three';
|
|
8
8
|
import { NgtsHTML, NgtsHTMLContent, calculateScaleFactor } from 'angular-three-soba/misc';
|
|
9
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
10
9
|
import { NgtsLine } from 'angular-three-soba/abstractions';
|
|
11
10
|
import { TransformControls } from 'three-stdlib';
|
|
12
11
|
|
|
@@ -20,10 +19,10 @@ class NgtsGizmoHelperContent {
|
|
|
20
19
|
static ngTemplateContextGuard(_, ctx) {
|
|
21
20
|
return true;
|
|
22
21
|
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelperContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NgtsGizmoHelperContent, isStandalone: true, selector: "ng-template[gizmoHelperContent]", ngImport: i0 }); }
|
|
25
24
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelperContent, decorators: [{
|
|
27
26
|
type: Directive,
|
|
28
27
|
args: [{ selector: 'ng-template[gizmoHelperContent]', standalone: true }]
|
|
29
28
|
}] });
|
|
@@ -139,8 +138,8 @@ class NgtsGizmoHelper {
|
|
|
139
138
|
isCameraControls(controls) {
|
|
140
139
|
return 'getTarget' in controls;
|
|
141
140
|
}
|
|
142
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
142
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: NgtsGizmoHelper, isStandalone: true, selector: "ngts-gizmo-helper", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { update: "update" }, queries: [{ propertyName: "content", first: true, predicate: NgtsGizmoHelperContent, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "gizmoRef", first: true, predicate: ["gizmo"], descendants: true, isSignal: true }, { propertyName: "virtualCameraRef", first: true, predicate: NgtsOrthographicCamera, descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
144
143
|
<ngt-portal
|
|
145
144
|
[container]="scene"
|
|
146
145
|
[autoRender]="true"
|
|
@@ -160,7 +159,7 @@ class NgtsGizmoHelper {
|
|
|
160
159
|
</ngt-portal>
|
|
161
160
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[portalContent]" }, { kind: "component", type: NgtsOrthographicCamera, selector: "ngts-orthographic-camera", inputs: ["options"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
162
161
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoHelper, decorators: [{
|
|
164
163
|
type: Component,
|
|
165
164
|
args: [{
|
|
166
165
|
selector: 'ngts-gizmo-helper',
|
|
@@ -245,8 +244,8 @@ class FaceMaterial {
|
|
|
245
244
|
});
|
|
246
245
|
extend({ MeshBasicMaterial });
|
|
247
246
|
}
|
|
248
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
249
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
247
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
248
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: FaceMaterial, isStandalone: true, selector: "viewcube-face-material", inputs: { hover: { classPropertyName: "hover", publicName: "hover", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
250
249
|
<ngt-mesh-basic-material
|
|
251
250
|
[attach]="['material', index()]"
|
|
252
251
|
[map]="texture()"
|
|
@@ -256,7 +255,7 @@ class FaceMaterial {
|
|
|
256
255
|
/>
|
|
257
256
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
258
257
|
}
|
|
259
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceMaterial, decorators: [{
|
|
260
259
|
type: Component,
|
|
261
260
|
args: [{
|
|
262
261
|
selector: 'viewcube-face-material',
|
|
@@ -293,8 +292,8 @@ class FaceCube {
|
|
|
293
292
|
this.gizmoHelper.tweenCamera(event.face.normal);
|
|
294
293
|
}
|
|
295
294
|
}
|
|
296
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
297
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
295
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
296
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: FaceCube, isStandalone: true, selector: "viewcube-face-cube", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, onClick: { classPropertyName: "onClick", publicName: "onClick", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
298
297
|
<ngt-mesh
|
|
299
298
|
(pointerout)="$event.stopPropagation(); hover.set(-1)"
|
|
300
299
|
(pointermove)="$event.stopPropagation(); hover.set(Math.floor($any($event).faceIndex / 2))"
|
|
@@ -307,7 +306,7 @@ class FaceCube {
|
|
|
307
306
|
</ngt-mesh>
|
|
308
307
|
`, isInline: true, dependencies: [{ kind: "component", type: FaceMaterial, selector: "viewcube-face-material", inputs: ["hover", "index", "options"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
309
308
|
}
|
|
310
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
309
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FaceCube, decorators: [{
|
|
311
310
|
type: Component,
|
|
312
311
|
args: [{
|
|
313
312
|
selector: 'viewcube-face-cube',
|
|
@@ -355,8 +354,8 @@ class EdgeCube {
|
|
|
355
354
|
this.gizmoHelper.tweenCamera(this.position());
|
|
356
355
|
}
|
|
357
356
|
}
|
|
358
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
359
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
357
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EdgeCube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
358
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: EdgeCube, isStandalone: true, selector: "viewcube-edge-cube", inputs: { dimensions: { classPropertyName: "dimensions", publicName: "dimensions", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, hoverColor: { classPropertyName: "hoverColor", publicName: "hoverColor", isSignal: true, isRequired: false, transformFunction: null }, onClick: { classPropertyName: "onClick", publicName: "onClick", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
360
359
|
<ngt-mesh
|
|
361
360
|
[scale]="1.01"
|
|
362
361
|
[position]="position()"
|
|
@@ -369,7 +368,7 @@ class EdgeCube {
|
|
|
369
368
|
</ngt-mesh>
|
|
370
369
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
371
370
|
}
|
|
372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: EdgeCube, decorators: [{
|
|
373
372
|
type: Component,
|
|
374
373
|
args: [{
|
|
375
374
|
selector: 'viewcube-edge-cube',
|
|
@@ -432,8 +431,8 @@ class NgtsGizmoViewcube {
|
|
|
432
431
|
makePositionVector(xyz) {
|
|
433
432
|
return new Vector3(...xyz).multiplyScalar(0.38);
|
|
434
433
|
}
|
|
435
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
436
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
434
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewcube, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
435
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsGizmoViewcube, isStandalone: true, selector: "ngts-gizmo-viewcube", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: `
|
|
437
436
|
<ngt-group [scale]="60">
|
|
438
437
|
<viewcube-face-cube [options]="options()" [onClick]="onClick" />
|
|
439
438
|
@for (edge of edges; track $index) {
|
|
@@ -455,7 +454,7 @@ class NgtsGizmoViewcube {
|
|
|
455
454
|
</ngt-group>
|
|
456
455
|
`, isInline: true, dependencies: [{ kind: "component", type: FaceCube, selector: "viewcube-face-cube", inputs: ["options", "onClick"] }, { kind: "component", type: EdgeCube, selector: "viewcube-edge-cube", inputs: ["dimensions", "position", "hoverColor", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
457
456
|
}
|
|
458
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewcube, decorators: [{
|
|
459
458
|
type: Component,
|
|
460
459
|
args: [{
|
|
461
460
|
selector: 'ngts-gizmo-viewcube',
|
|
@@ -500,8 +499,8 @@ class Axis {
|
|
|
500
499
|
this.rotation = input([0, 0, 0]);
|
|
501
500
|
extend({ Group, Mesh, BoxGeometry, MeshBasicMaterial });
|
|
502
501
|
}
|
|
503
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
504
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
502
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: Axis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
503
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: Axis, isStandalone: true, selector: "viewport-axis", inputs: { scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, rotation: { classPropertyName: "rotation", publicName: "rotation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
505
504
|
<ngt-group [rotation]="rotation()">
|
|
506
505
|
<ngt-mesh [position]="[0.4, 0, 0]">
|
|
507
506
|
<ngt-box-geometry *args="scale()" />
|
|
@@ -510,7 +509,7 @@ class Axis {
|
|
|
510
509
|
</ngt-group>
|
|
511
510
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
512
511
|
}
|
|
513
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: Axis, decorators: [{
|
|
514
513
|
type: Component,
|
|
515
514
|
args: [{
|
|
516
515
|
selector: 'viewport-axis',
|
|
@@ -596,8 +595,8 @@ class AxisHead {
|
|
|
596
595
|
event.stopPropagation();
|
|
597
596
|
this.gizmoHelper.tweenCamera(event.object.position);
|
|
598
597
|
}
|
|
599
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
600
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
598
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
599
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: AxisHead, isStandalone: true, selector: "viewport-axis-head", inputs: { arcStyle: { classPropertyName: "arcStyle", publicName: "arcStyle", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelColor: { classPropertyName: "labelColor", publicName: "labelColor", isSignal: true, isRequired: false, transformFunction: null }, axisHeadScale: { classPropertyName: "axisHeadScale", publicName: "axisHeadScale", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, font: { classPropertyName: "font", publicName: "font", isSignal: true, isRequired: false, transformFunction: null }, onClick: { classPropertyName: "onClick", publicName: "onClick", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
601
600
|
<ngt-sprite
|
|
602
601
|
[scale]="scale()"
|
|
603
602
|
[position]="position()"
|
|
@@ -609,7 +608,7 @@ class AxisHead {
|
|
|
609
608
|
</ngt-sprite>
|
|
610
609
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
611
610
|
}
|
|
612
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
611
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AxisHead, decorators: [{
|
|
613
612
|
type: Component,
|
|
614
613
|
args: [{
|
|
615
614
|
selector: 'viewport-axis-head',
|
|
@@ -671,8 +670,8 @@ class NgtsGizmoViewport {
|
|
|
671
670
|
return getEmitter(this.click);
|
|
672
671
|
return undefined;
|
|
673
672
|
}
|
|
674
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
675
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
673
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
674
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: `
|
|
676
675
|
<ngt-group [scale]="40" [parameters]="parameters()">
|
|
677
676
|
<viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
|
|
678
677
|
<viewport-axis [color]="axisColors()[1]" [rotation]="[0, 0, Math.PI / 2]" [scale]="axisScale()" />
|
|
@@ -737,7 +736,7 @@ class NgtsGizmoViewport {
|
|
|
737
736
|
</ngt-group>
|
|
738
737
|
`, isInline: true, dependencies: [{ kind: "component", type: Axis, selector: "viewport-axis", inputs: ["scale", "color", "rotation"] }, { kind: "component", type: AxisHead, selector: "viewport-axis-head", inputs: ["arcStyle", "position", "label", "labelColor", "axisHeadScale", "disabled", "font", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
739
738
|
}
|
|
740
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
739
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
|
|
741
740
|
type: Component,
|
|
742
741
|
args: [{
|
|
743
742
|
selector: 'ngts-gizmo-viewport',
|
|
@@ -931,8 +930,8 @@ class NgtsAxisArrow {
|
|
|
931
930
|
event.stopPropagation();
|
|
932
931
|
this.hovered.set(false);
|
|
933
932
|
}
|
|
934
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
935
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
933
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisArrow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
934
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsAxisArrow, isStandalone: true, selector: "ngts-axis-arrow", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
936
935
|
<ngt-group #group>
|
|
937
936
|
<ngt-group
|
|
938
937
|
[matrix]="matrixL()"
|
|
@@ -952,6 +951,7 @@ class NgtsAxisArrow {
|
|
|
952
951
|
></div>
|
|
953
952
|
</ngts-html>
|
|
954
953
|
}
|
|
954
|
+
|
|
955
955
|
<ngt-mesh
|
|
956
956
|
[visible]="false"
|
|
957
957
|
[position]="[0, (cylinderLength() + coneLength()) / 2.0, 0]"
|
|
@@ -995,7 +995,7 @@ class NgtsAxisArrow {
|
|
|
995
995
|
</ngt-group>
|
|
996
996
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }, { kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
997
997
|
}
|
|
998
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
998
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisArrow, decorators: [{
|
|
999
999
|
type: Component,
|
|
1000
1000
|
args: [{
|
|
1001
1001
|
selector: 'ngts-axis-arrow',
|
|
@@ -1020,6 +1020,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
1020
1020
|
></div>
|
|
1021
1021
|
</ngts-html>
|
|
1022
1022
|
}
|
|
1023
|
+
|
|
1023
1024
|
<ngt-mesh
|
|
1024
1025
|
[visible]="false"
|
|
1025
1026
|
[position]="[0, (cylinderLength() + coneLength()) / 2.0, 0]"
|
|
@@ -1226,8 +1227,8 @@ class NgtsAxisRotator {
|
|
|
1226
1227
|
event.stopPropagation();
|
|
1227
1228
|
this.hovered.set(false);
|
|
1228
1229
|
}
|
|
1229
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1230
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
1230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisRotator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsAxisRotator, isStandalone: true, selector: "ngts-axis-rotator", inputs: { dir1: { classPropertyName: "dir1", publicName: "dir1", isSignal: true, isRequired: true, transformFunction: null }, dir2: { classPropertyName: "dir2", publicName: "dir2", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
1231
1232
|
<ngt-group
|
|
1232
1233
|
#group
|
|
1233
1234
|
[matrix]="matrixL()"
|
|
@@ -1271,7 +1272,7 @@ class NgtsAxisRotator {
|
|
|
1271
1272
|
</ngt-group>
|
|
1272
1273
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }, { kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1273
1274
|
}
|
|
1274
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisRotator, decorators: [{
|
|
1275
1276
|
type: Component,
|
|
1276
1277
|
args: [{
|
|
1277
1278
|
selector: 'ngts-axis-rotator',
|
|
@@ -1469,8 +1470,8 @@ class NgtsPlaneSlider {
|
|
|
1469
1470
|
event.stopPropagation();
|
|
1470
1471
|
this.hovered.set(false);
|
|
1471
1472
|
}
|
|
1472
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1473
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
1473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPlaneSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1474
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsPlaneSlider, isStandalone: true, selector: "ngts-plane-slider", inputs: { dir1: { classPropertyName: "dir1", publicName: "dir1", isSignal: true, isRequired: true, transformFunction: null }, dir2: { classPropertyName: "dir2", publicName: "dir2", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
1474
1475
|
<ngt-group #group [matrix]="matrixL()" [matrixAutoUpdate]="false">
|
|
1475
1476
|
@if (pivotControls.annotations()) {
|
|
1476
1477
|
<ngts-html [options]="{ position: [0, 0, 0] }">
|
|
@@ -1522,7 +1523,7 @@ class NgtsPlaneSlider {
|
|
|
1522
1523
|
</ngt-group>
|
|
1523
1524
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }, { kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1524
1525
|
}
|
|
1525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPlaneSlider, decorators: [{
|
|
1526
1527
|
type: Component,
|
|
1527
1528
|
args: [{
|
|
1528
1529
|
selector: 'ngts-plane-slider',
|
|
@@ -1729,8 +1730,8 @@ class NgtsScalingSphere {
|
|
|
1729
1730
|
event.stopPropagation();
|
|
1730
1731
|
this.hovered.set(false);
|
|
1731
1732
|
}
|
|
1732
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
1733
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
1733
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScalingSphere, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1734
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsScalingSphere, isStandalone: true, selector: "ngts-scaling-sphere", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1734
1735
|
<ngt-group #group>
|
|
1735
1736
|
<ngt-group
|
|
1736
1737
|
[matrix]="matrixL()"
|
|
@@ -1765,7 +1766,7 @@ class NgtsScalingSphere {
|
|
|
1765
1766
|
</ngt-group>
|
|
1766
1767
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }, { kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1767
1768
|
}
|
|
1768
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
1769
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScalingSphere, decorators: [{
|
|
1769
1770
|
type: Component,
|
|
1770
1771
|
args: [{
|
|
1771
1772
|
selector: 'ngts-scaling-sphere',
|
|
@@ -1849,6 +1850,7 @@ const defaultOptions = {
|
|
|
1849
1850
|
opacity: 1,
|
|
1850
1851
|
visible: true,
|
|
1851
1852
|
};
|
|
1853
|
+
// TODO: PivotControls is not working properly with control flow
|
|
1852
1854
|
class NgtsPivotControls {
|
|
1853
1855
|
constructor() {
|
|
1854
1856
|
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
@@ -1920,49 +1922,46 @@ class NgtsPivotControls {
|
|
|
1920
1922
|
this.cameraScale = new Vector3(1, 1, 1);
|
|
1921
1923
|
this.gizmoScale = new Vector3(1, 1, 1);
|
|
1922
1924
|
extend({ Group });
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1925
|
+
effect(() => {
|
|
1926
|
+
const anchor = this.anchor();
|
|
1927
|
+
if (!anchor)
|
|
1928
|
+
return;
|
|
1929
|
+
const childrenContainer = this.childrenRef().nativeElement;
|
|
1930
|
+
const localState = getLocalState(childrenContainer);
|
|
1931
|
+
if (!localState)
|
|
1932
|
+
return;
|
|
1933
|
+
const [gizmo, offset, invalidate] = [
|
|
1934
|
+
this.gizmoRef().nativeElement,
|
|
1935
|
+
this.offset(),
|
|
1936
|
+
this.invalidate(),
|
|
1937
|
+
this.options(),
|
|
1938
|
+
[localState.objects(), localState.nonObjects()],
|
|
1939
|
+
];
|
|
1940
|
+
childrenContainer.updateWorldMatrix(true, true);
|
|
1941
|
+
mPInv.copy(childrenContainer.matrixWorld).invert();
|
|
1942
|
+
bb.makeEmpty();
|
|
1943
|
+
childrenContainer.traverse((obj) => {
|
|
1944
|
+
if (!obj.geometry)
|
|
1932
1945
|
return;
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
bb.makeEmpty();
|
|
1943
|
-
children.traverse((obj) => {
|
|
1944
|
-
if (!obj.geometry)
|
|
1945
|
-
return;
|
|
1946
|
-
if (!obj.geometry.boundingBox)
|
|
1947
|
-
obj.geometry.computeBoundingBox();
|
|
1948
|
-
mL.copy(obj.matrixWorld).premultiply(mPInv);
|
|
1949
|
-
const boundingBox = obj.geometry.boundingBox;
|
|
1950
|
-
if (boundingBox) {
|
|
1951
|
-
bbObj.copy(boundingBox);
|
|
1952
|
-
bbObj.applyMatrix4(mL);
|
|
1953
|
-
bb.union(bbObj);
|
|
1954
|
-
}
|
|
1955
|
-
});
|
|
1956
|
-
vCenter.copy(bb.max).add(bb.min).multiplyScalar(0.5);
|
|
1957
|
-
vSize.copy(bb.max).sub(bb.min).multiplyScalar(0.5);
|
|
1958
|
-
vAnchorOffset
|
|
1959
|
-
.copy(vSize)
|
|
1960
|
-
.multiply(new Vector3(...anchor))
|
|
1961
|
-
.add(vCenter);
|
|
1962
|
-
vPosition.set(...offset).add(vAnchorOffset);
|
|
1963
|
-
gizmo.position.copy(vPosition);
|
|
1964
|
-
invalidate();
|
|
1946
|
+
if (!obj.geometry.boundingBox)
|
|
1947
|
+
obj.geometry.computeBoundingBox();
|
|
1948
|
+
mL.copy(obj.matrixWorld).premultiply(mPInv);
|
|
1949
|
+
const boundingBox = obj.geometry.boundingBox;
|
|
1950
|
+
if (boundingBox) {
|
|
1951
|
+
bbObj.copy(boundingBox);
|
|
1952
|
+
bbObj.applyMatrix4(mL);
|
|
1953
|
+
bb.union(bbObj);
|
|
1954
|
+
}
|
|
1965
1955
|
});
|
|
1956
|
+
vCenter.copy(bb.max).add(bb.min).multiplyScalar(0.5);
|
|
1957
|
+
vSize.copy(bb.max).sub(bb.min).multiplyScalar(0.5);
|
|
1958
|
+
vAnchorOffset
|
|
1959
|
+
.copy(vSize)
|
|
1960
|
+
.multiply(new Vector3(...anchor))
|
|
1961
|
+
.add(vCenter);
|
|
1962
|
+
vPosition.set(...offset).add(vAnchorOffset);
|
|
1963
|
+
gizmo.position.copy(vPosition);
|
|
1964
|
+
invalidate();
|
|
1966
1965
|
});
|
|
1967
1966
|
const vec = new Vector3();
|
|
1968
1967
|
injectBeforeRender(({ camera, size, invalidate }) => {
|
|
@@ -2022,8 +2021,8 @@ class NgtsPivotControls {
|
|
|
2022
2021
|
this.dragEnded.emit();
|
|
2023
2022
|
this.store.snapshot.invalidate();
|
|
2024
2023
|
}
|
|
2025
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2026
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
2024
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPivotControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2025
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsPivotControls, isStandalone: true, selector: "ngts-pivot-controls", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragStarted: "dragStarted", dragEnded: "dragEnded", dragged: "dragged" }, viewQueries: [{ propertyName: "parentRef", first: true, predicate: ["parent"], descendants: true, isSignal: true }, { propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "gizmoRef", first: true, predicate: ["gizmo"], descendants: true, isSignal: true }, { propertyName: "childrenRef", first: true, predicate: ["children"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
2027
2026
|
<ngt-group #parent>
|
|
2028
2027
|
<ngt-group #group [matrix]="matrix()" [matrixAutoUpdate]="false" [parameters]="parameters()">
|
|
2029
2028
|
<ngt-group #gizmo [visible]="visible()" [position]="offset()" [rotation]="rotation()">
|
|
@@ -2076,7 +2075,7 @@ class NgtsPivotControls {
|
|
|
2076
2075
|
</ngt-group>
|
|
2077
2076
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsAxisArrow, selector: "ngts-axis-arrow", inputs: ["direction", "axis"] }, { kind: "component", type: NgtsPlaneSlider, selector: "ngts-plane-slider", inputs: ["dir1", "dir2", "axis"] }, { kind: "component", type: NgtsAxisRotator, selector: "ngts-axis-rotator", inputs: ["dir1", "dir2", "axis"] }, { kind: "component", type: NgtsScalingSphere, selector: "ngts-scaling-sphere", inputs: ["direction", "axis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2078
2077
|
}
|
|
2079
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2078
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPivotControls, decorators: [{
|
|
2080
2079
|
type: Component,
|
|
2081
2080
|
args: [{
|
|
2082
2081
|
selector: 'ngts-pivot-controls',
|
|
@@ -2284,8 +2283,8 @@ class NgtsTransformControls {
|
|
|
2284
2283
|
this.store.update({ controls });
|
|
2285
2284
|
return () => this.store.update(() => ({ controls: oldControls }));
|
|
2286
2285
|
}
|
|
2287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
2288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
2286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsTransformControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: NgtsTransformControls, isStandalone: true, selector: "ngts-transform-controls", inputs: { object: { classPropertyName: "object", publicName: "object", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", mouseDown: "mouseDown", mouseUp: "mouseUp", objectChange: "objectChange" }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
2289
2288
|
<ngt-primitive *args="[controls()]" [parameters]="controlsOptions()" />
|
|
2290
2289
|
|
|
2291
2290
|
<ngt-group #group [parameters]="parameters()">
|
|
@@ -2293,7 +2292,7 @@ class NgtsTransformControls {
|
|
|
2293
2292
|
</ngt-group>
|
|
2294
2293
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2295
2294
|
}
|
|
2296
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
2295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsTransformControls, decorators: [{
|
|
2297
2296
|
type: Component,
|
|
2298
2297
|
args: [{
|
|
2299
2298
|
selector: 'ngts-transform-controls',
|