@colijnit/homedecorator 259.1.5 → 259.1.7
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/_variables.scss +1 -0
- package/app/core/components/arrow-helper/arrow-helper.d.ts +20 -0
- package/app/core/enum/icon.enum.d.ts +1 -0
- package/app/core/interface/map-change.interface.d.ts +5 -0
- package/app/core/interface/material-dialog-data.interface.d.ts +5 -0
- package/app/core/interface/material-diff.interface.d.ts +6 -0
- package/app/core/service/item-serialization.service.d.ts +10 -0
- package/app/core/utils/clone-utils.d.ts +1 -1
- package/app/core/utils/material-diff.utils.d.ts +13 -0
- package/app/core/utils/material.utils.d.ts +4 -0
- package/app/core/utils/object.utils.d.ts +18 -1
- package/app/development/components/selected-child-material-color.component.d.ts +10 -0
- package/app/development/components/selected-child-material-color.component.scss +3 -0
- package/app/development/components/selected-child-material-texture.component.d.ts +15 -3
- package/app/development/components/selected-child-material-texture.component.scss +18 -1
- package/app/development/components/selected-child-material-textures.component.d.ts +11 -0
- package/app/development/components/selected-child-material-textures.component.scss +5 -0
- package/app/development/components/selected-child-material.component.d.ts +2 -2
- package/app/development/development.module.d.ts +13 -10
- package/app/plugins/core3d/core/utils.d.ts +0 -3
- package/app/plugins/core3d/hud/measurements.d.ts +19 -19
- package/app/plugins/core3d/hud/on-wall-measurements.d.ts +2 -2
- package/app/plugins/core3d/items/base-item.d.ts +14 -1
- package/app/plugins/core3d/items/item.d.ts +12 -1
- package/app/plugins/core3d/items/metadata.d.ts +4 -0
- package/app/plugins/core3d/items/wall-objects.d.ts +1 -0
- package/app/plugins/core3d/service/floor.service.d.ts +1 -1
- package/app/plugins/core3d/service/item.service.d.ts +1 -1
- package/app/plugins/room-planner/components/custome-shape-creator/custom-shape-creator.component.d.ts +4 -0
- package/app/plugins/room-planner/components/floorplanner/const/defaults.d.ts +19 -0
- package/app/plugins/room-planner/components/selected-object-scale/selected-object-scale.component.d.ts +27 -0
- package/app/plugins/room-planner/components/selected-object-scale/selected-object-scale.component.scss +7 -0
- package/app/plugins/room-planner/room-planner/room-planner.component.d.ts +7 -0
- package/app/plugins/room-planner/room-planner.module.d.ts +40 -39
- package/app/shared/color-picker-dialog/color-picker-dialog.component.d.ts +15 -0
- package/app/shared/color-picker-dialog/color-picker-dialog.component.scss +19 -0
- package/app/shared/color-picker-dialog/color-picker-dialog.module.d.ts +9 -0
- package/app/shared/material-dialog/material-dialog.component.d.ts +21 -0
- package/app/shared/material-dialog/material-dialog.component.scss +8 -0
- package/app/shared/material-dialog/material-dialog.module.d.ts +19 -0
- package/app/{plugins/room-planner/components → shared}/rgb-color-picker/rgb-color-picker.component.d.ts +2 -2
- package/app/shared/rgb-color-picker/rgb-color-picker.module.d.ts +8 -0
- package/assets/icons/scale.svg +1 -0
- package/bundles/colijnit-homedecorator.umd.js +6296 -5200
- package/bundles/colijnit-homedecorator.umd.js.map +1 -1
- package/esm2015/app/app.version.js +3 -3
- package/esm2015/app/core/components/arrow-helper/arrow-helper.js +86 -0
- package/esm2015/app/core/enum/icon.enum.js +2 -1
- package/esm2015/app/core/interface/map-change.interface.js +2 -0
- package/esm2015/app/core/interface/material-dialog-data.interface.js +2 -0
- package/esm2015/app/core/interface/material-diff.interface.js +2 -0
- package/esm2015/app/core/model/icon.js +2 -1
- package/esm2015/app/core/service/item-serialization.service.js +19 -2
- package/esm2015/app/core/service/presets.service.js +1 -1
- package/esm2015/app/core/service/utils.service.js +7 -7
- package/esm2015/app/core/utils/clone-utils.js +6 -4
- package/esm2015/app/core/utils/material-diff.utils.js +194 -0
- package/esm2015/app/core/utils/material.utils.js +41 -2
- package/esm2015/app/core/utils/object.utils.js +166 -2
- package/esm2015/app/core/utils/variation-utils.js +4 -1
- package/esm2015/app/development/components/selected-child-material-color.component.js +50 -0
- package/esm2015/app/development/components/selected-child-material-texture.component.js +316 -260
- package/esm2015/app/development/components/selected-child-material-textures.component.js +59 -0
- package/esm2015/app/development/components/selected-child-material.component.js +633 -641
- package/esm2015/app/development/development.module.js +18 -4
- package/esm2015/app/plugins/core3d/core/utils.js +1 -45
- package/esm2015/app/plugins/core3d/hud/bounding-measurement-box/door-or-window-box-measurement.js +4 -4
- package/esm2015/app/plugins/core3d/hud/furniture-measurements.js +2 -2
- package/esm2015/app/plugins/core3d/hud/measurements.js +30 -37
- package/esm2015/app/plugins/core3d/hud/on-wall-measurements.js +7 -6
- package/esm2015/app/plugins/core3d/hud/utils.js +1 -2
- package/esm2015/app/plugins/core3d/items/base-item.js +49 -4
- package/esm2015/app/plugins/core3d/items/custom-cylinder-floor-item.js +2 -1
- package/esm2015/app/plugins/core3d/items/custom-cylinder-wall-item.js +2 -1
- package/esm2015/app/plugins/core3d/items/custom-objects.js +3 -2
- package/esm2015/app/plugins/core3d/items/custom-shape-floor-item.js +2 -1
- package/esm2015/app/plugins/core3d/items/custom-shape-wall-item.js +2 -1
- package/esm2015/app/plugins/core3d/items/floor-plane-item.js +2 -3
- package/esm2015/app/plugins/core3d/items/in-wall-floor-item.js +2 -1
- package/esm2015/app/plugins/core3d/items/item.js +88 -48
- package/esm2015/app/plugins/core3d/items/metadata.js +1 -1
- package/esm2015/app/plugins/core3d/items/wall-objects.js +27 -16
- package/esm2015/app/plugins/core3d/service/ar.service.js +11 -8
- package/esm2015/app/plugins/core3d/service/error-glow.service.js +3 -3
- package/esm2015/app/plugins/core3d/service/floor.service.js +6 -5
- package/esm2015/app/plugins/core3d/service/item.service.js +4 -2
- package/esm2015/app/plugins/core3d/service/scene.service.js +3 -3
- package/esm2015/app/plugins/furniture-manager/furniture-manager/furniture-manager.component.js +7 -1
- package/esm2015/app/plugins/lite-selector/lite-selector/service/customizer.service.js +3 -3
- package/esm2015/app/plugins/model-uploader/model-previewer/model-preview.component.js +3 -3
- package/esm2015/app/plugins/room-planner/components/color-picker/color-picker.component.js +1 -1
- package/esm2015/app/plugins/room-planner/components/custom-cylinder-creator/custom-cylinder-creator.component.js +3 -1
- package/esm2015/app/plugins/room-planner/components/custome-shape-creator/custom-shape-creator.component.js +11 -4
- package/esm2015/app/plugins/room-planner/components/floorplanner/const/defaults.js +22 -1
- package/esm2015/app/plugins/room-planner/components/floorplanner/service/room.service.js +4 -1
- package/esm2015/app/plugins/room-planner/components/selected-object-scale/selected-object-scale.component.js +137 -0
- package/esm2015/app/plugins/room-planner/components/texture-picker/texture-picker.component.js +1 -1
- package/esm2015/app/plugins/room-planner/room-planner/room-planner.component.js +89 -8
- package/esm2015/app/plugins/room-planner/room-planner.module.js +15 -11
- package/esm2015/app/plugins/threedselector/threedselector/service/build-furniture-base.service.js +5 -6
- package/esm2015/app/plugins/threedselector/threedselector/service/build-furniture.service.js +3 -1
- package/esm2015/app/plugins/threedselector/threedselector/service/load-furniture-base.service.js +8 -4
- package/esm2015/app/plugins/threedselector/threedselector/service/third-party-model.service.js +2 -1
- package/esm2015/app/plugins/threedselector/threedselector/service/variation.service.js +4 -4
- package/esm2015/app/plugins/threedselector/threedselector/threedselector.component.js +18 -3
- package/esm2015/app/plugins/threedselector/threedselector/utils/asset.utils.js +15 -15
- package/esm2015/app/plugins/toolbar/toolbar/toolbar.component.js +1 -3
- package/esm2015/app/shared/category-library/category-library.component.js +1 -1
- package/esm2015/app/shared/color-picker-dialog/color-picker-dialog.component.js +69 -0
- package/esm2015/app/shared/color-picker-dialog/color-picker-dialog.module.js +30 -0
- package/esm2015/app/shared/material-dialog/material-dialog.component.js +144 -0
- package/esm2015/app/shared/material-dialog/material-dialog.module.js +67 -0
- package/esm2015/app/shared/rgb-color-picker/rgb-color-picker.component.js +54 -0
- package/esm2015/app/shared/rgb-color-picker/rgb-color-picker.module.js +26 -0
- package/fesm2015/colijnit-homedecorator.js +6936 -5673
- package/fesm2015/colijnit-homedecorator.js.map +1 -1
- package/package.json +2 -2
- package/styles.scss +26 -0
- package/app/plugins/threedselector/threedselector/utils/image.utils.d.ts +0 -6
- package/colijnit-homedecorator-259.1.4.tgz +0 -0
- package/colijnit-homedecorator-259.1.5.tgz +0 -0
- package/esm2015/app/plugins/room-planner/components/rgb-color-picker/rgb-color-picker.component.js +0 -37
- package/esm2015/app/plugins/threedselector/threedselector/utils/image.utils.js +0 -33
- /package/app/{plugins/room-planner/components → shared}/rgb-color-picker/rgb-color-picker.component.scss +0 -0
package/_variables.scss
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Object3D, Vector3 } from 'three';
|
|
2
|
+
import { ColorRepresentation } from 'three/src/math/Color';
|
|
3
|
+
export declare class ArrowHelper extends Object3D {
|
|
4
|
+
private _dir;
|
|
5
|
+
private _origin;
|
|
6
|
+
private _length;
|
|
7
|
+
private _headLength;
|
|
8
|
+
private _headWidth;
|
|
9
|
+
private _line;
|
|
10
|
+
private _lineGeometry;
|
|
11
|
+
private _lineMaterial;
|
|
12
|
+
private _cone;
|
|
13
|
+
constructor(dir: Vector3, origin: Vector3, length: number, color?: ColorRepresentation, linewidth?: number, dashed?: boolean, dashSize?: number, gapSize?: number, overlay?: boolean, headLength?: number, headWidth?: number);
|
|
14
|
+
setDirection(dir: Vector3): void;
|
|
15
|
+
setPosition(position: Vector3): void;
|
|
16
|
+
setLength(length: number): void;
|
|
17
|
+
setColor(color: ColorRepresentation): void;
|
|
18
|
+
setResolution(width: number, height: number): void;
|
|
19
|
+
dispose(): void;
|
|
20
|
+
}
|
|
@@ -85,6 +85,7 @@ export declare enum IconEnum {
|
|
|
85
85
|
Qrcode = "qrcode",
|
|
86
86
|
RetryButton = "retry-button",
|
|
87
87
|
RotateLight = "rotate_light",
|
|
88
|
+
Scale = "scale",
|
|
88
89
|
Settings = "settings",
|
|
89
90
|
SquareCheckRegular = "square_check_regular",
|
|
90
91
|
SquareChevronDownRegular = "square_chevron_down_regular",
|
|
@@ -33,6 +33,16 @@ export declare class ItemSerializationService {
|
|
|
33
33
|
elevation: any;
|
|
34
34
|
elevationFixed: any;
|
|
35
35
|
elevationAdjustable: any;
|
|
36
|
+
canScaleX: any;
|
|
37
|
+
canScaleY: any;
|
|
38
|
+
canScaleZ: any;
|
|
39
|
+
colorable: any;
|
|
40
|
+
materialDiff: any;
|
|
41
|
+
scale: {
|
|
42
|
+
x: number;
|
|
43
|
+
y: number;
|
|
44
|
+
z: number;
|
|
45
|
+
};
|
|
36
46
|
decos: any;
|
|
37
47
|
selections: any;
|
|
38
48
|
externalSettings: any;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MeshPhysicalMaterial, Object3D } from 'three';
|
|
2
|
+
import { MaterialDiff } from '../interface/material-diff.interface';
|
|
3
|
+
export declare const materialPropsForDiff: (keyof MeshPhysicalMaterial)[];
|
|
4
|
+
export declare class MaterialDiffUtils {
|
|
5
|
+
static GetMaterialDiff(firstObject: Object3D, secondObject: Object3D): MaterialDiff[];
|
|
6
|
+
static ApplyMaterialDiff(root: Object3D, materialDiff: MaterialDiff[]): Promise<void>;
|
|
7
|
+
static GetChildPath(root: Object3D, childMesh: string, path?: string): string;
|
|
8
|
+
private static CollectMeshes;
|
|
9
|
+
private static AreValuesEqual;
|
|
10
|
+
private static ConvertMaterialToArray;
|
|
11
|
+
private static SerializeValue;
|
|
12
|
+
private static ApplySerializedValue;
|
|
13
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import { MeshStandardMaterial, Vector2 } from 'three';
|
|
3
3
|
import { Texture } from '../model/texture';
|
|
4
|
+
import { Material } from '../../plugins/threedselector/threedselector/model/material';
|
|
4
5
|
export declare class MaterialUtils {
|
|
5
6
|
static readonly canvasRatio = 4;
|
|
6
7
|
static readonly defaultWindow: THREE.MeshPhongMaterial;
|
|
@@ -9,9 +10,12 @@ export declare class MaterialUtils {
|
|
|
9
10
|
private static imgElement;
|
|
10
11
|
static imageCache: Map<string, HTMLImageElement>;
|
|
11
12
|
static textureCache: Map<string, THREE.Texture>;
|
|
13
|
+
static textureCacheById: Map<string, THREE.Texture>;
|
|
12
14
|
static SetAssetPath(path: string): void;
|
|
13
15
|
static ClearCaches(): void;
|
|
14
16
|
static FromUrl(url: string, stretch: boolean, tileSize: number, repeatX?: number, repeatY?: number, dimensions?: THREE.Vector2, tileRotation?: number): Promise<THREE.Texture>;
|
|
17
|
+
static CreateTextureFromBase64(id: string, base64: string, material: Material, defaultFlip?: boolean): Promise<THREE.Texture>;
|
|
18
|
+
static UpdateTextureWithBase64Image(map: THREE.Texture, base64: string): void;
|
|
15
19
|
static RotatedCanvasTexture(texture: Texture, textureURL: string, dimensions: THREE.Vector2, adjustScale: boolean, repeatX?: number, repeatY?: number): Promise<THREE.Texture>;
|
|
16
20
|
static CustomTileMapTexture(texture: Texture, dimensions: THREE.Vector2): Promise<THREE.Texture>;
|
|
17
21
|
static FromImage(texture: Texture): Promise<THREE.Texture>;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { BufferGeometry, Color, Group, Material, Object3D, Scene, Vector3 } from 'three';
|
|
1
|
+
import { BufferGeometry, Color, Group, Material, Mesh, Object3D, Scene, Texture, Vector2, Vector3 } from 'three';
|
|
2
2
|
import { Selection } from '@colijnit/configuratorapi/build/model/selection';
|
|
3
3
|
import { Item } from '../../plugins/core3d/items/item';
|
|
4
4
|
import { CustomObject3D } from '../../plugins/core3d/items/custom-objects';
|
|
5
5
|
export declare class ObjectUtils {
|
|
6
|
+
static materialProps: string[];
|
|
6
7
|
static CreateArrow(name: string, color: Color | number | string, length: number, direction: Vector3, headLength: number, headWidth: number, doubleArrow?: boolean): Group;
|
|
7
8
|
static UpdateArrowLength(arrow: Group, length: number, direction: Vector3, headLength: number, headWidth: number, doubleArrow?: boolean): Group;
|
|
9
|
+
static ChildOf(obj: Mesh | Object3D, parentName: string): boolean;
|
|
8
10
|
static GetParentItem(element: any): Item;
|
|
9
11
|
static GetParentCustomObject(element: any): CustomObject3D;
|
|
10
12
|
static GetDefaultMaterial(object: Object3D): Material;
|
|
@@ -13,4 +15,19 @@ export declare class ObjectUtils {
|
|
|
13
15
|
static GetSelectionFromSelectedObject(object: any): Selection;
|
|
14
16
|
static UpdateUvs(geo: BufferGeometry): void;
|
|
15
17
|
static LoadHDRI(path: string, scene: Scene): Promise<void>;
|
|
18
|
+
static ProjectToPlane(points: Vector3[]): Vector2[];
|
|
19
|
+
static CloneMaterial(material: Material | Material[], deepClone?: boolean): Material | Material[];
|
|
20
|
+
static CloneObject3D(source: Object3D): Object3D;
|
|
21
|
+
static DeepCloneObject3D(source: Object3D): Object3D;
|
|
22
|
+
/**
|
|
23
|
+
* ThreeJS does not clone image property, so it stays a reference to the original image.
|
|
24
|
+
* When deepClone, this method creates a new image and copies the original image data to it.
|
|
25
|
+
* @param texture
|
|
26
|
+
* @param deepClone
|
|
27
|
+
* @constructor
|
|
28
|
+
*/
|
|
29
|
+
static CloneTexture(texture: Texture, deepClone?: boolean): Texture;
|
|
30
|
+
static DisposeMaterial(material: Material | Material[]): void;
|
|
31
|
+
static DisposeObject(object: Object3D | Mesh): void;
|
|
32
|
+
private static DisposeNode;
|
|
16
33
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Color, MeshPhysicalMaterial } from 'three';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class SelectedChildMaterialColorComponent {
|
|
5
|
+
material: MeshPhysicalMaterial;
|
|
6
|
+
colorChange: EventEmitter<Color>;
|
|
7
|
+
handleColorChange(color: any): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectedChildMaterialColorComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectedChildMaterialColorComponent, "selected-child-material-color", never, { "material": "material"; }, { "colorChange": "colorChange"; }, never, never>;
|
|
10
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
-
import { Mapping, PixelFormat, Texture, TextureDataType, TextureFilter, Wrapping } from 'three';
|
|
2
|
+
import { Color, Mapping, PixelFormat, Texture, TextureDataType, TextureFilter, Wrapping } from 'three';
|
|
3
3
|
import { ColorSpace, CubeTextureMapping } from 'three/src/constants';
|
|
4
4
|
import { HomedecoratorIconCacheService } from '../../core/service/homedecorator-icon-cache.service';
|
|
5
5
|
import { SceneService } from '../../plugins/core3d/service/scene.service';
|
|
@@ -12,8 +12,11 @@ export declare class SelectedChildMaterialTextureComponent {
|
|
|
12
12
|
input: ElementRef;
|
|
13
13
|
set map(value: Texture);
|
|
14
14
|
get map(): Texture;
|
|
15
|
+
set color(value: Color);
|
|
16
|
+
get color(): Color;
|
|
15
17
|
title: string;
|
|
16
18
|
mapChange: EventEmitter<Texture>;
|
|
19
|
+
colorChange: EventEmitter<Color>;
|
|
17
20
|
mappingList: {
|
|
18
21
|
id: Mapping | CubeTextureMapping;
|
|
19
22
|
description: string;
|
|
@@ -41,18 +44,27 @@ export declare class SelectedChildMaterialTextureComponent {
|
|
|
41
44
|
showContent: boolean;
|
|
42
45
|
viewImageSrc: string;
|
|
43
46
|
showZoomImage: boolean;
|
|
47
|
+
showColorPickerPopup: boolean;
|
|
48
|
+
hexColor: number;
|
|
49
|
+
rgbColorString: string;
|
|
50
|
+
newColor: Color;
|
|
51
|
+
rgbNewColorString: string;
|
|
44
52
|
private _map;
|
|
45
53
|
private _loadedImage;
|
|
54
|
+
private _color;
|
|
46
55
|
constructor(iconService: HomedecoratorIconCacheService, _sceneService: SceneService);
|
|
47
56
|
showLargeImage(): void;
|
|
48
57
|
hideZoomImage(event: MouseEvent): void;
|
|
58
|
+
showColorPicker(): void;
|
|
59
|
+
hideColorPicker(): void;
|
|
60
|
+
setColor(color: number): void;
|
|
49
61
|
uploadImage(map: string): void;
|
|
50
62
|
render(): void;
|
|
51
63
|
changeFlip(value: boolean): void;
|
|
52
64
|
handleFileChange(event: any): Promise<void>;
|
|
53
|
-
|
|
65
|
+
deleteMapOrColor(): void;
|
|
54
66
|
private _reloadImage;
|
|
55
67
|
private _loadTexture;
|
|
56
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<SelectedChildMaterialTextureComponent, never>;
|
|
57
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SelectedChildMaterialTextureComponent, "development-selected-child-material-texture", never, { "map": "map"; "title": "title"; }, { "mapChange": "mapChange"; }, never, never>;
|
|
69
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectedChildMaterialTextureComponent, "development-selected-child-material-texture", never, { "map": "map"; "color": "color"; "title": "title"; }, { "mapChange": "mapChange"; "colorChange": "colorChange"; }, never, never>;
|
|
58
70
|
}
|
|
@@ -28,6 +28,15 @@
|
|
|
28
28
|
height: 30px;
|
|
29
29
|
width: 30px;
|
|
30
30
|
}
|
|
31
|
+
.color-image {
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
display: flex;
|
|
34
|
+
height: 30px;
|
|
35
|
+
width: 30px;
|
|
36
|
+
border: 1px solid;
|
|
37
|
+
position: relative;
|
|
38
|
+
border-radius: 5px;
|
|
39
|
+
}
|
|
31
40
|
.no-image, img {
|
|
32
41
|
cursor: pointer;
|
|
33
42
|
display: flex;
|
|
@@ -35,6 +44,7 @@
|
|
|
35
44
|
width: 30px;
|
|
36
45
|
border: 1px solid;
|
|
37
46
|
position: relative;
|
|
47
|
+
border-radius: 5px;
|
|
38
48
|
&:before, &:after {
|
|
39
49
|
content: "";
|
|
40
50
|
position: absolute;
|
|
@@ -64,7 +74,7 @@
|
|
|
64
74
|
grid-template-areas: "label value";
|
|
65
75
|
grid-template-columns: 175px 1fr;
|
|
66
76
|
margin-left: 10px;
|
|
67
|
-
|
|
77
|
+
font-size: 12px;
|
|
68
78
|
.label {
|
|
69
79
|
grid-area: label;
|
|
70
80
|
grid-row: auto;
|
|
@@ -120,3 +130,10 @@
|
|
|
120
130
|
}
|
|
121
131
|
}
|
|
122
132
|
}
|
|
133
|
+
.child-material-color-picker {
|
|
134
|
+
position: fixed;
|
|
135
|
+
top: 50%;
|
|
136
|
+
left: 50%;
|
|
137
|
+
transform: translate(-50%, -50%);
|
|
138
|
+
z-index: 1000;
|
|
139
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { MeshPhysicalMaterial, Texture } from 'three';
|
|
3
|
+
import { MapChange } from '../../core/interface/map-change.interface';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SelectedChildMaterialTexturesComponent {
|
|
6
|
+
material: MeshPhysicalMaterial;
|
|
7
|
+
mapChange: EventEmitter<MapChange>;
|
|
8
|
+
handleMapChange(map: string, changed?: Texture): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectedChildMaterialTexturesComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectedChildMaterialTexturesComponent, "selected-child-material-textures", never, { "material": "material"; }, { "mapChange": "mapChange"; }, never, never>;
|
|
11
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
-
import { BlendingDstFactor, BlendingEquation, BlendingSrcFactor, Color, MeshPhysicalMaterial, NormalMapTypes, PixelFormat, Side
|
|
2
|
+
import { BlendingDstFactor, BlendingEquation, BlendingSrcFactor, Color, MeshPhysicalMaterial, NormalMapTypes, PixelFormat, Side } from 'three';
|
|
3
3
|
import { Blending, StencilFunc, StencilOp } from 'three/src/constants';
|
|
4
4
|
import { SceneService } from '../../plugins/core3d/service/scene.service';
|
|
5
5
|
import { HomedecoratorIconCacheService } from '../../core/service/homedecorator-icon-cache.service';
|
|
@@ -63,7 +63,7 @@ export declare class SelectedChildMaterialComponent implements OnInit {
|
|
|
63
63
|
ngOnInit(): void;
|
|
64
64
|
changeColor(colorProp: string, color: any): void;
|
|
65
65
|
render(): void;
|
|
66
|
-
|
|
66
|
+
handleMaterialChange(): void;
|
|
67
67
|
getColor(color: Color): string;
|
|
68
68
|
saveMaterial(): Promise<void>;
|
|
69
69
|
private _toJson;
|
|
@@ -3,17 +3,20 @@ import * as i1 from "./components/selected-object.component";
|
|
|
3
3
|
import * as i2 from "./components/selected-child.component";
|
|
4
4
|
import * as i3 from "./components/selected-child-material.component";
|
|
5
5
|
import * as i4 from "./components/selected-child-material-texture.component";
|
|
6
|
-
import * as i5 from "./
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "
|
|
9
|
-
import * as i8 from "@angular/
|
|
10
|
-
import * as i9 from "@angular/material/
|
|
11
|
-
import * as i10 from "@
|
|
12
|
-
import * as i11 from "
|
|
13
|
-
import * as i12 from "@
|
|
14
|
-
import * as i13 from "
|
|
6
|
+
import * as i5 from "./components/selected-child-material-textures.component";
|
|
7
|
+
import * as i6 from "./components/selected-child-material-color.component";
|
|
8
|
+
import * as i7 from "./directive/development.directive";
|
|
9
|
+
import * as i8 from "@angular/common";
|
|
10
|
+
import * as i9 from "@angular/material/checkbox";
|
|
11
|
+
import * as i10 from "@angular/forms";
|
|
12
|
+
import * as i11 from "@angular/material/select";
|
|
13
|
+
import * as i12 from "@colijnit/corecomponents";
|
|
14
|
+
import * as i13 from "../core/core.module";
|
|
15
|
+
import * as i14 from "@angular/material/button";
|
|
16
|
+
import * as i15 from "@angular/material/tooltip";
|
|
17
|
+
import * as i16 from "../shared/color-picker-dialog/color-picker-dialog.module";
|
|
15
18
|
export declare class DevelopmentModule {
|
|
16
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<DevelopmentModule, never>;
|
|
17
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DevelopmentModule, [typeof i1.SelectedObjectComponent, typeof i2.SelectedChildComponent, typeof i3.SelectedChildMaterialComponent, typeof i4.SelectedChildMaterialTextureComponent, typeof i5.DevelopmentDirective], [typeof
|
|
20
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DevelopmentModule, [typeof i1.SelectedObjectComponent, typeof i2.SelectedChildComponent, typeof i3.SelectedChildMaterialComponent, typeof i4.SelectedChildMaterialTextureComponent, typeof i5.SelectedChildMaterialTexturesComponent, typeof i6.SelectedChildMaterialColorComponent, typeof i7.DevelopmentDirective], [typeof i8.CommonModule, typeof i9.MatCheckboxModule, typeof i10.FormsModule, typeof i11.MatSelectModule, typeof i12.IconModule, typeof i13.CoreModule, typeof i14.MatButtonModule, typeof i15.MatTooltipModule, typeof i16.ColorPickerDialogModule], [typeof i1.SelectedObjectComponent, typeof i2.SelectedChildComponent, typeof i3.SelectedChildMaterialComponent, typeof i4.SelectedChildMaterialTextureComponent, typeof i5.SelectedChildMaterialTexturesComponent, typeof i6.SelectedChildMaterialColorComponent, typeof i7.DevelopmentDirective]>;
|
|
18
21
|
static ɵinj: i0.ɵɵInjectorDeclaration<DevelopmentModule>;
|
|
19
22
|
}
|
|
@@ -125,9 +125,6 @@ export declare class Utils {
|
|
|
125
125
|
static setPlaneVisibility(plane: Mesh, isVisible: boolean): void;
|
|
126
126
|
static snapAngle(angle: number, snap?: number): number;
|
|
127
127
|
static moveAtAxis(position: Vector3, rotation: Euler, axis: 'x' | 'y' | 'z', axisValue: number): Vector3;
|
|
128
|
-
private static DisposeNode;
|
|
129
|
-
static DisposeMaterial(material: Material | Material[]): void;
|
|
130
|
-
static DisposeObject(object: Object3D | Mesh): void;
|
|
131
128
|
static polygonUnion(p1: Polygon, p2: Polygon): Polygon;
|
|
132
129
|
static polygonsUnion(polygons: Polygon[]): Polygon[];
|
|
133
130
|
private static oneToRest;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Mesh } from 'three';
|
|
1
|
+
import { Mesh, Object3D, Quaternion, Vector3 } from 'three';
|
|
3
2
|
import { Font } from 'three/examples/jsm/loaders/FontLoader';
|
|
4
3
|
import { SceneUpdate } from '../interface/scene-update.interface';
|
|
4
|
+
import { ArrowHelper } from '../../../core/components/arrow-helper/arrow-helper';
|
|
5
5
|
export declare abstract class Measurements {
|
|
6
6
|
protected item: any;
|
|
7
|
-
private
|
|
7
|
+
private _font;
|
|
8
8
|
protected rotationY: number;
|
|
9
|
-
protected position:
|
|
10
|
-
protected measurements:
|
|
9
|
+
protected position: Vector3;
|
|
10
|
+
protected measurements: Object3D[];
|
|
11
11
|
private _rayCaster;
|
|
12
12
|
private _dimUnit;
|
|
13
13
|
private _distanceStep;
|
|
@@ -15,32 +15,32 @@ export declare abstract class Measurements {
|
|
|
15
15
|
private _updateCounter;
|
|
16
16
|
set dimUnit(value: string);
|
|
17
17
|
set distanceStep(value: number);
|
|
18
|
-
constructor(item: any,
|
|
19
|
-
get objects(): (
|
|
18
|
+
constructor(item: any, _font: Font);
|
|
19
|
+
get objects(): (Object3D | Mesh)[];
|
|
20
20
|
update(force?: boolean): SceneUpdate;
|
|
21
21
|
forceUpdate(): SceneUpdate;
|
|
22
|
-
setTextsDirection(quaternion:
|
|
23
|
-
|
|
24
|
-
abstract makeMeasurements(): THREE.Object3D[];
|
|
22
|
+
setTextsDirection(quaternion: Quaternion): void;
|
|
23
|
+
abstract makeMeasurements(): Object3D[];
|
|
25
24
|
protected abstract hasChanged(): boolean;
|
|
26
|
-
protected raycastPlanes(planes: Mesh[], origin:
|
|
25
|
+
protected raycastPlanes(planes: Mesh[], origin: Vector3, direction: Vector3): {
|
|
27
26
|
distance: number;
|
|
28
|
-
point:
|
|
27
|
+
point: Vector3;
|
|
29
28
|
};
|
|
30
29
|
protected isWallDoubleSided(): boolean;
|
|
31
30
|
protected get wallThickness(): number;
|
|
32
|
-
protected isWallEdgePlane(mesh:
|
|
31
|
+
protected isWallEdgePlane(mesh: Mesh): boolean;
|
|
33
32
|
setVisibility(visible: boolean): void;
|
|
34
33
|
updateLabelCache(index: number, intersectionDistance: number): void;
|
|
35
|
-
protected makeLabeledArrow(origin:
|
|
34
|
+
protected makeLabeledArrow(origin: Vector3, rotatedDirection: Vector3, length: number, labelDistance: {
|
|
36
35
|
abs?: number;
|
|
37
36
|
rel?: {
|
|
38
|
-
direction:
|
|
37
|
+
direction: Vector3;
|
|
39
38
|
value: number;
|
|
40
39
|
};
|
|
41
|
-
}, index: number, placement: string): (
|
|
40
|
+
}, index: number, placement: string): (Mesh | ArrowHelper)[];
|
|
42
41
|
protected nonItemPlane(item: any, plane: any): boolean;
|
|
43
|
-
protected rotateDirection(rotateY: number, direction:
|
|
44
|
-
protected rotatedBoundingBoxBottomPoint(item: any, point:
|
|
45
|
-
protected rotatedBoundingBoxPoint(item: any, point:
|
|
42
|
+
protected rotateDirection(rotateY: number, direction: Vector3): Vector3;
|
|
43
|
+
protected rotatedBoundingBoxBottomPoint(item: any, point: Vector3): Vector3;
|
|
44
|
+
protected rotatedBoundingBoxPoint(item: any, point: Vector3): Vector3;
|
|
45
|
+
private _setMeasurementTextsDirection;
|
|
46
46
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
2
|
import { Measurements } from './measurements';
|
|
3
3
|
import { Font } from 'three/examples/jsm/loaders/FontLoader';
|
|
4
4
|
import { HalfEdge, WallItem } from '../items/wall-objects';
|
|
@@ -9,7 +9,7 @@ export declare class OnWallMeasurements extends Measurements {
|
|
|
9
9
|
private _roomService;
|
|
10
10
|
private _itemService;
|
|
11
11
|
constructor(roomService: RoomService, itemService: ItemService, item: WallItem, font: Font);
|
|
12
|
-
makeMeasurements():
|
|
12
|
+
makeMeasurements(): Object3D[];
|
|
13
13
|
private edgeMeasurements;
|
|
14
14
|
private getZPos;
|
|
15
15
|
protected hasChanged(): boolean;
|
|
@@ -22,6 +22,9 @@ export declare abstract class BaseItem extends Object3D {
|
|
|
22
22
|
customMeshTitle: string;
|
|
23
23
|
canChangeCustomMeshColor: boolean;
|
|
24
24
|
isCustom: boolean;
|
|
25
|
+
get scaleX(): number;
|
|
26
|
+
get scaleY(): number;
|
|
27
|
+
get scaleZ(): number;
|
|
25
28
|
scalable: boolean;
|
|
26
29
|
scalePercentage: number;
|
|
27
30
|
halfSize: Vector3;
|
|
@@ -35,6 +38,10 @@ export declare abstract class BaseItem extends Object3D {
|
|
|
35
38
|
canRotateX: boolean;
|
|
36
39
|
canRotateY: boolean;
|
|
37
40
|
canRotateZ: boolean;
|
|
41
|
+
canScaleX: boolean;
|
|
42
|
+
canScaleY: boolean;
|
|
43
|
+
canScaleZ: boolean;
|
|
44
|
+
colorable: boolean;
|
|
38
45
|
default180: boolean;
|
|
39
46
|
configurable: boolean;
|
|
40
47
|
tempObject: boolean;
|
|
@@ -60,6 +67,10 @@ export declare abstract class BaseItem extends Object3D {
|
|
|
60
67
|
removeSelf(): void;
|
|
61
68
|
/** */
|
|
62
69
|
setFixed(fixed: boolean): void;
|
|
70
|
+
/**
|
|
71
|
+
* overridden in descendant classes
|
|
72
|
+
*/
|
|
73
|
+
buildFinished(): void;
|
|
63
74
|
/** Subclass can define to take action after a resize. */
|
|
64
75
|
protected abstract resized(): void;
|
|
65
76
|
/** */
|
|
@@ -94,6 +105,8 @@ export declare abstract class BaseItem extends Object3D {
|
|
|
94
105
|
updateHalfsize(): void;
|
|
95
106
|
getFloorY(): number;
|
|
96
107
|
heightUpdated(amount?: number): void;
|
|
97
|
-
scaleGeometry(x:
|
|
108
|
+
scaleGeometry(x: number, y: number, z: number): void;
|
|
109
|
+
setScaleXYZ(x: number, y: number, z: number, recalculateHalfSize?: boolean): void;
|
|
98
110
|
protected setYPositionBasedOnElevation(): void;
|
|
111
|
+
protected getHalfSizeWithoutScale(): Vector3;
|
|
99
112
|
}
|
|
@@ -27,10 +27,18 @@ export declare class Item extends BaseItem {
|
|
|
27
27
|
selectedHandler: Function;
|
|
28
28
|
unselectedHandler: Function;
|
|
29
29
|
showHideOutlineHandler: Function;
|
|
30
|
+
originalLength: number;
|
|
31
|
+
originalHeight: number;
|
|
32
|
+
originalWidth: number;
|
|
33
|
+
/**
|
|
34
|
+
* Used to be able to create a diff on materials when an item is colorable
|
|
35
|
+
*/
|
|
36
|
+
originalItem: Item;
|
|
30
37
|
protected visibleClone: Object3D;
|
|
31
38
|
protected centerPivot: boolean;
|
|
32
39
|
protected ignoreInvisible: boolean;
|
|
33
40
|
protected updatePivotOnCreate: boolean;
|
|
41
|
+
private _shouldSetScale;
|
|
34
42
|
private _elementConfiguration;
|
|
35
43
|
private _allwaysConfigureMode;
|
|
36
44
|
private _configuring;
|
|
@@ -49,6 +57,7 @@ export declare class Item extends BaseItem {
|
|
|
49
57
|
dispose(): void;
|
|
50
58
|
private _fakeHandler;
|
|
51
59
|
private _getIdentifierFromSelection;
|
|
60
|
+
buildFinished(): void;
|
|
52
61
|
connectorFromElement(selection: Selection): AdjustableElementInterface;
|
|
53
62
|
updateElementConnector(selection: Selection, connector: string, connectedNodeId: number): void;
|
|
54
63
|
clearChildren(): void;
|
|
@@ -65,6 +74,7 @@ export declare class Item extends BaseItem {
|
|
|
65
74
|
endDrag(): void;
|
|
66
75
|
initObject(itemType: any, id: string, identifier: string, modelUrl: any): void;
|
|
67
76
|
getHalfSize(): Vector3;
|
|
77
|
+
protected handleRawMetadata(): void;
|
|
68
78
|
/** on is a bool */
|
|
69
79
|
protected updateHighlight(): void;
|
|
70
80
|
/** */
|
|
@@ -79,6 +89,7 @@ export declare class Item extends BaseItem {
|
|
|
79
89
|
deselectObject(): void;
|
|
80
90
|
resize(height: number, width: number, depth: number): void;
|
|
81
91
|
resized(): void;
|
|
82
|
-
protected recalcPivot(): void;
|
|
83
92
|
resetBoundingboxes(): void;
|
|
93
|
+
protected recalcPivot(): void;
|
|
94
|
+
private _setOriginals;
|
|
84
95
|
}
|
|
@@ -63,6 +63,10 @@ export interface Metadata {
|
|
|
63
63
|
canRotateX?: boolean;
|
|
64
64
|
canRotateY?: boolean;
|
|
65
65
|
canRotateZ?: boolean;
|
|
66
|
+
canScaleX?: boolean;
|
|
67
|
+
canScaleY?: boolean;
|
|
68
|
+
canScaleZ?: boolean;
|
|
69
|
+
colorable?: boolean;
|
|
66
70
|
default180?: boolean;
|
|
67
71
|
objectUUID?: string;
|
|
68
72
|
conversionGTMSend?: boolean;
|
|
@@ -410,6 +410,7 @@ export declare abstract class WallItem extends Item {
|
|
|
410
410
|
updateMaterialVisibility(side?: number): void;
|
|
411
411
|
createTextureMaterial(options?: any): Promise<THREE.MeshPhongMaterial>;
|
|
412
412
|
getTexture(): Texture;
|
|
413
|
+
setScaleXYZ(x: number, y: number, z: number, recalculateHalfSize?: boolean): void;
|
|
413
414
|
protected createMaterial(side?: number, isSame?: boolean): Promise<void>;
|
|
414
415
|
protected setYPositionBasedOnElevation(): void;
|
|
415
416
|
protected addMaterialMap(material: THREE.MeshPhongMaterial, texture: Texture, flip: boolean): Promise<void>;
|
|
@@ -61,7 +61,7 @@ export declare class FloorService implements OnDestroy {
|
|
|
61
61
|
toggleFloorFrame(visible: boolean): void;
|
|
62
62
|
checkForConfigurableFloor(): boolean;
|
|
63
63
|
getFloorPlane(): FloorPlaneItem;
|
|
64
|
-
setFloorTexture(room: Room, texture: Texture): Promise<void>;
|
|
64
|
+
setFloorTexture(room: Room, texture: Texture, standalone?: boolean): Promise<void>;
|
|
65
65
|
setFloorColor(room: Room, color: number): Promise<void>;
|
|
66
66
|
highLightFloor(floorObject: FloorPlaneItem): void;
|
|
67
67
|
unHighLightFloors(): void;
|
|
@@ -20,7 +20,7 @@ export declare class ItemService implements OnDestroy {
|
|
|
20
20
|
ngOnDestroy(): void;
|
|
21
21
|
addItem(obj: any, addToScene?: boolean): void;
|
|
22
22
|
removeItem(obj: any, addedToGroup?: boolean, emitMessage?: boolean): void;
|
|
23
|
-
getObjectPlanes(): any[];
|
|
23
|
+
getObjectPlanes(includeFloors?: boolean): any[];
|
|
24
24
|
getWallItems(): Item[];
|
|
25
25
|
getFurniture(): Furniture[];
|
|
26
26
|
getNonFurniture(): Item[];
|
|
@@ -31,6 +31,10 @@ export declare class CustomShapeCreatorComponent implements OnInit {
|
|
|
31
31
|
selectedFace: Face;
|
|
32
32
|
textureOptions: typeof TextureEditorOptions;
|
|
33
33
|
skin: BoxSkin;
|
|
34
|
+
private _oldFloorPosition;
|
|
35
|
+
private _oldFloorElevation;
|
|
36
|
+
private _oldWallPosition;
|
|
37
|
+
private _oldWallElevation;
|
|
34
38
|
constructor(_hudService: HudService, _sceneService: SceneService, _roomService: RoomService, _itemService: ItemService, _sceneEventService: SceneEventService, _messageBusService: MessageBusService);
|
|
35
39
|
ngOnInit(): void;
|
|
36
40
|
setName(name: string): void;
|
|
@@ -46,3 +46,22 @@ export declare const snapIndicatorColor: {
|
|
|
46
46
|
};
|
|
47
47
|
export declare const drawModeCursorImageUrl: string;
|
|
48
48
|
export declare const drawModeCursorHeight: number;
|
|
49
|
+
export declare const defaultArrowHeadLength: number;
|
|
50
|
+
export declare const distancesArrowHeadLength: number;
|
|
51
|
+
export declare const distancesArrowColor: string;
|
|
52
|
+
export declare const distancesTextColor: string;
|
|
53
|
+
export declare const distancesTextBackgroundColor: string;
|
|
54
|
+
export declare const distancesLineWidth: number;
|
|
55
|
+
export declare const distancesLineDashed: boolean;
|
|
56
|
+
export declare const distancesLineDashSize: number;
|
|
57
|
+
export declare const distancesLineDashGapSize: number;
|
|
58
|
+
export declare const distancesTextSize: number;
|
|
59
|
+
export declare const measurementArrowHeadLength: number;
|
|
60
|
+
export declare const measurementArrowColor: string;
|
|
61
|
+
export declare const measurementTextColor: string;
|
|
62
|
+
export declare const measurementTextBackgroundColor: string;
|
|
63
|
+
export declare const measurementLineWidth: number;
|
|
64
|
+
export declare const measurementLineDashed: boolean;
|
|
65
|
+
export declare const measurementLineDashSize: number;
|
|
66
|
+
export declare const measurementLineDashGapSize: number;
|
|
67
|
+
export declare const measurementTextSize: number;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { Item } from '../../../core3d/items/item';
|
|
3
|
+
import { IconEnum } from '../../../../core/enum/icon.enum';
|
|
4
|
+
import { HomedecoratorIconCacheService } from '../../../../core/service/homedecorator-icon-cache.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class SelectedObjectScaleComponent {
|
|
7
|
+
iconService: HomedecoratorIconCacheService;
|
|
8
|
+
readonly icon: typeof IconEnum;
|
|
9
|
+
set object(value: any);
|
|
10
|
+
get object(): any;
|
|
11
|
+
objectChange: EventEmitter<Item>;
|
|
12
|
+
objectLength: number;
|
|
13
|
+
objectWidth: number;
|
|
14
|
+
objectHeight: number;
|
|
15
|
+
private _object;
|
|
16
|
+
private _originalLength;
|
|
17
|
+
private _originalWidth;
|
|
18
|
+
private _originalHeight;
|
|
19
|
+
constructor(iconService: HomedecoratorIconCacheService);
|
|
20
|
+
applyScaleX(newLength: number): void;
|
|
21
|
+
applyScaleY(newHeight: number): void;
|
|
22
|
+
applyScaleZ(newWidth: number): void;
|
|
23
|
+
private _rescaleObject;
|
|
24
|
+
private _setOriginals;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SelectedObjectScaleComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SelectedObjectScaleComponent, "rp-selected-object-scale", never, { "object": "object"; }, { "objectChange": "objectChange"; }, never, never>;
|
|
27
|
+
}
|