@pacem/pacem-3d 1.0.4 → 1.0.5-bartels
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/pacem-3d.js +508 -508
- package/dist/browser/pacem-3d.js.map +1 -1
- package/dist/browser/pacem-3d.min.js +2 -2
- package/dist/bundle/pacem-3d.min.mjs +18 -18
- package/dist/bundle/pacem-3d.mjs +523 -525
- package/dist/bundle/pacem-3d.mjs.map +4 -4
- package/dist/esm/constants.js +1 -1
- package/dist/esm/converters.js +1 -1
- package/dist/esm/decorators.js +1 -1
- package/dist/esm/detector.js +1 -1
- package/dist/esm/geometry.js +1 -1
- package/dist/esm/index-components-drawing3d.js +1 -1
- package/dist/esm/index-components.js +3 -2
- package/dist/esm/index-drawing3d.js +1 -1
- package/dist/esm/index-iife.js +1 -1
- package/dist/esm/index-root.js +3 -2
- package/dist/esm/index.js +3 -2
- package/dist/esm/stage.js +1 -1
- package/dist/esm/types.js +1 -1
- package/package.json +1 -1
- package/typings/index.d.ts +5 -3
package/dist/bundle/pacem-3d.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-3d v1.0.
|
|
2
|
+
* @pacem/pacem-3d v1.0.5-bartels (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -9,56 +9,31 @@ var __export = (target, all) => {
|
|
|
9
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
// packages/3d/dist/esm/index-
|
|
13
|
-
var
|
|
14
|
-
__export(
|
|
15
|
-
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
// packages/3d/dist/esm/index-components-drawing3d.js
|
|
19
|
-
var index_components_drawing3d_exports = {};
|
|
20
|
-
__export(index_components_drawing3d_exports, {
|
|
21
|
-
AdapterUtils: () => AdapterUtils,
|
|
22
|
-
BasicMaterialElement: () => BasicMaterialElement,
|
|
12
|
+
// packages/3d/dist/esm/index-drawing3d.js
|
|
13
|
+
var index_drawing3d_exports = {};
|
|
14
|
+
__export(index_drawing3d_exports, {
|
|
15
|
+
BooleanOrNumberConverter: () => BooleanOrNumberConverter,
|
|
23
16
|
DragEvent: () => DragEvent,
|
|
24
17
|
KnownShader: () => KnownShader,
|
|
25
|
-
|
|
26
|
-
LineMaterialElement: () => LineMaterialElement,
|
|
18
|
+
LineGeometry: () => LineGeometry,
|
|
27
19
|
MaterialElement: () => MaterialElement,
|
|
28
|
-
|
|
20
|
+
MeshGeometry: () => MeshGeometry,
|
|
21
|
+
NodeGeometry: () => NodeGeometry,
|
|
22
|
+
NotifyChange: () => NotifyChange,
|
|
29
23
|
Pacem3DAdapterElement: () => Pacem3DAdapterElement,
|
|
30
24
|
Pacem3DCameraElement: () => Pacem3DCameraElement,
|
|
31
|
-
Pacem3DDetector: () => Pacem3DDetector,
|
|
32
|
-
Pacem3DElement: () => Pacem3DElement,
|
|
33
25
|
Pacem3DGroupElement: () => Pacem3DGroupElement,
|
|
34
26
|
Pacem3DLightElement: () => Pacem3DLightElement,
|
|
35
27
|
Pacem3DMeshElement: () => Pacem3DMeshElement,
|
|
36
28
|
Pacem3DObjectElement: () => Pacem3DObjectElement,
|
|
37
29
|
Pacem3DOrthographicCameraElement: () => Pacem3DOrthographicCameraElement,
|
|
38
30
|
Pacem3DPerspectiveCameraElement: () => Pacem3DPerspectiveCameraElement,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Pacem3DWgslScriptElement: () => Pacem3DWgslScriptElement,
|
|
43
|
-
PacemBoxElement: () => PacemBoxElement,
|
|
44
|
-
PacemConeElement: () => PacemConeElement,
|
|
45
|
-
PacemCylinderElement: () => PacemCylinderElement,
|
|
46
|
-
PacemDodecahedronElement: () => PacemDodecahedronElement,
|
|
47
|
-
PacemHexahedronElement: () => PacemHexahedronElement,
|
|
48
|
-
PacemIcosahedronElement: () => PacemIcosahedronElement,
|
|
49
|
-
PacemLineElement: () => PacemLineElement,
|
|
50
|
-
PacemOctahedronElement: () => PacemOctahedronElement,
|
|
51
|
-
PacemOrbitCameraBehaviorElement: () => PacemOrbitCameraBehaviorElement,
|
|
52
|
-
PacemPlaneElement: () => PacemPlaneElement,
|
|
53
|
-
PacemSphereElement: () => PacemSphereElement,
|
|
54
|
-
PacemTetrahedronElement: () => PacemTetrahedronElement,
|
|
55
|
-
PacemTorusElement: () => PacemTorusElement,
|
|
56
|
-
PhongMaterialElement: () => PhongMaterialElement,
|
|
57
|
-
PolyhedronElement: () => PolyhedronElement,
|
|
31
|
+
Point3DConverter: () => Point3DConverter,
|
|
32
|
+
Point3DOrNumberConverter: () => Point3DOrNumberConverter,
|
|
33
|
+
QuaternionConverter: () => QuaternionConverter,
|
|
58
34
|
RenderableElement: () => RenderableElement,
|
|
59
35
|
RenderableEvent: () => RenderableEvent,
|
|
60
36
|
StalePropertyFlag: () => StalePropertyFlag,
|
|
61
|
-
StandardMaterialElement: () => StandardMaterialElement,
|
|
62
37
|
UI3DEvent: () => UI3DEvent,
|
|
63
38
|
Ui3DElement: () => Ui3DElement,
|
|
64
39
|
computePlaneNormal: () => computePlaneNormal,
|
|
@@ -865,85 +840,155 @@ Pacem3DOrthographicCameraElement = __decorate2([
|
|
|
865
840
|
var Pacem3DAdapterElement = class extends PacemEventTarget {
|
|
866
841
|
};
|
|
867
842
|
|
|
868
|
-
// packages/3d/dist/esm/
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
}
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
if (
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
let addLine = (section, name, value) => {
|
|
885
|
-
let detected = this._detected;
|
|
886
|
-
var info = detected.info[section] = detected.info[section] || {};
|
|
887
|
-
name = name.replace(/[^\w]+/g, "");
|
|
888
|
-
name = name.substring(0, 1).toLowerCase() + name.substring(1);
|
|
889
|
-
info[name] = value;
|
|
890
|
-
};
|
|
891
|
-
if (navigator.userAgent.indexOf("MSIE") >= 0) {
|
|
892
|
-
try {
|
|
893
|
-
ctx = window["WebGLHelper"].CreateGLContext(cvs, "canvas");
|
|
894
|
-
} catch (e) {
|
|
843
|
+
// packages/3d/dist/esm/geometry.js
|
|
844
|
+
import { Utils as Utils5 } from "@pacem/pacem-core";
|
|
845
|
+
|
|
846
|
+
// packages/3d/dist/esm/decorators.js
|
|
847
|
+
import { Utils as Utils4 } from "@pacem/pacem-core";
|
|
848
|
+
function NotifyChange(callback) {
|
|
849
|
+
return (target, prop, descriptor) => {
|
|
850
|
+
const backingField = `_${prop}_${Utils4.uniqueCode()}_backingField`;
|
|
851
|
+
function getter() {
|
|
852
|
+
return this[backingField];
|
|
853
|
+
}
|
|
854
|
+
function setter(val) {
|
|
855
|
+
if (val !== this[backingField]) {
|
|
856
|
+
const old = this[backingField];
|
|
857
|
+
this[backingField] = val;
|
|
858
|
+
callback.call(this, prop, old, val);
|
|
895
859
|
}
|
|
896
|
-
}
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
860
|
+
}
|
|
861
|
+
Object.defineProperty(target, prop, {
|
|
862
|
+
get: function() {
|
|
863
|
+
return getter.call(this);
|
|
864
|
+
},
|
|
865
|
+
set: function(val) {
|
|
866
|
+
setter.call(this, val);
|
|
867
|
+
},
|
|
868
|
+
enumerable: true,
|
|
869
|
+
configurable: false
|
|
870
|
+
});
|
|
871
|
+
};
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
// packages/3d/dist/esm/geometry.js
|
|
875
|
+
var __decorate3 = function(decorators, target, key, desc) {
|
|
876
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
877
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
878
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
879
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
880
|
+
};
|
|
881
|
+
var NodeGeometry = class {
|
|
882
|
+
constructor(positions = []) {
|
|
883
|
+
this.positions = positions;
|
|
884
|
+
}
|
|
885
|
+
/** Computes the centroid (average) of the given positions. */
|
|
886
|
+
static barycenter(positions) {
|
|
887
|
+
var bary = { x: 0, y: 0, z: 0 };
|
|
888
|
+
if (!Utils5.isNullOrEmpty(positions)) {
|
|
889
|
+
var count = positions.length;
|
|
890
|
+
for (var i = 0; i < positions.length; i++) {
|
|
891
|
+
var pt = positions[i];
|
|
892
|
+
bary.x += pt.x;
|
|
893
|
+
bary.y += pt.y;
|
|
894
|
+
bary.z += pt.z;
|
|
906
895
|
}
|
|
896
|
+
var countDbl = 1 * count;
|
|
897
|
+
bary.x /= countDbl;
|
|
898
|
+
bary.y /= countDbl;
|
|
899
|
+
bary.z /= countDbl;
|
|
907
900
|
}
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
addLine("misc", "Supported Extensions", ctx.getSupportedExtensions() || []);
|
|
901
|
+
return bary;
|
|
902
|
+
}
|
|
903
|
+
/** Computes the axis-aligned {@link Box3D} enclosing the given positions. */
|
|
904
|
+
static boundingBox(positions) {
|
|
905
|
+
const output = {
|
|
906
|
+
minX: Infinity,
|
|
907
|
+
minY: Infinity,
|
|
908
|
+
minZ: Infinity,
|
|
909
|
+
maxX: -Infinity,
|
|
910
|
+
maxY: -Infinity,
|
|
911
|
+
maxZ: -Infinity
|
|
912
|
+
};
|
|
913
|
+
if (!Utils5.isNullOrEmpty(positions)) {
|
|
914
|
+
for (var i = 0; i < positions.length; i++) {
|
|
915
|
+
var pt = positions[i];
|
|
916
|
+
output.minX = Math.min(output.minX, pt.x);
|
|
917
|
+
output.minY = Math.min(output.minY, pt.y);
|
|
918
|
+
output.minZ = Math.min(output.minZ, pt.z);
|
|
919
|
+
output.maxX = Math.max(output.maxX, pt.x);
|
|
920
|
+
output.maxY = Math.max(output.maxY, pt.y);
|
|
921
|
+
output.maxZ = Math.max(output.maxZ, pt.z);
|
|
922
|
+
}
|
|
931
923
|
}
|
|
924
|
+
return output;
|
|
932
925
|
}
|
|
933
|
-
/**
|
|
934
|
-
|
|
935
|
-
|
|
926
|
+
/** Marks the geometry as stale, flagging it with {@link StalePropertyFlag.Geometry} for the next render. */
|
|
927
|
+
setAsDirty() {
|
|
928
|
+
setSelfAsDirty.call(this);
|
|
936
929
|
}
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
930
|
+
};
|
|
931
|
+
function setSelfAsDirty() {
|
|
932
|
+
const me = this;
|
|
933
|
+
me.flags = [
|
|
934
|
+
/* no further specifications, other than 'geometry' */
|
|
935
|
+
StalePropertyFlag.Geometry
|
|
936
|
+
];
|
|
937
|
+
}
|
|
938
|
+
var LineGeometry = class extends NodeGeometry {
|
|
939
|
+
};
|
|
940
|
+
__decorate3([
|
|
941
|
+
NotifyChange(setSelfAsDirty)
|
|
942
|
+
], LineGeometry.prototype, "positions", void 0);
|
|
943
|
+
var MeshGeometry = class extends NodeGeometry {
|
|
944
|
+
#boundingBox;
|
|
945
|
+
#boundingSphere;
|
|
946
|
+
#barycenter;
|
|
947
|
+
/** Gets or sets the centroid of {@link positions}; computed on first access if not explicitly set. */
|
|
948
|
+
get barycenter() {
|
|
949
|
+
return this.#barycenter ??= NodeGeometry.barycenter(this.positions);
|
|
950
|
+
}
|
|
951
|
+
set barycenter(point) {
|
|
952
|
+
this.#barycenter = point;
|
|
953
|
+
}
|
|
954
|
+
/** Gets or sets the axis-aligned bounding box; computed from {@link positions} on first access if not explicitly set. */
|
|
955
|
+
get boundingBox() {
|
|
956
|
+
return this.#boundingBox ??= NodeGeometry.boundingBox(this.positions);
|
|
957
|
+
}
|
|
958
|
+
set boundingBox(bbox) {
|
|
959
|
+
this.#boundingBox = bbox;
|
|
960
|
+
}
|
|
961
|
+
/** Gets or sets the bounding sphere. */
|
|
962
|
+
get boundingSphere() {
|
|
963
|
+
return this.#boundingSphere;
|
|
964
|
+
}
|
|
965
|
+
set boundingSphere(sphere) {
|
|
966
|
+
this.#boundingSphere = sphere;
|
|
967
|
+
}
|
|
968
|
+
constructor(positions, triangleIndices, textureCoordinates = [], normals = []) {
|
|
969
|
+
super(positions);
|
|
970
|
+
this.triangleIndices = triangleIndices;
|
|
971
|
+
this.textureCoordinates = textureCoordinates;
|
|
972
|
+
this.normals = normals;
|
|
940
973
|
}
|
|
941
974
|
};
|
|
975
|
+
__decorate3([
|
|
976
|
+
NotifyChange(setSelfAsDirty)
|
|
977
|
+
], MeshGeometry.prototype, "positions", void 0);
|
|
978
|
+
__decorate3([
|
|
979
|
+
NotifyChange(setSelfAsDirty)
|
|
980
|
+
], MeshGeometry.prototype, "triangleIndices", void 0);
|
|
981
|
+
__decorate3([
|
|
982
|
+
NotifyChange(setSelfAsDirty)
|
|
983
|
+
], MeshGeometry.prototype, "textureCoordinates", void 0);
|
|
984
|
+
__decorate3([
|
|
985
|
+
NotifyChange(setSelfAsDirty)
|
|
986
|
+
], MeshGeometry.prototype, "normals", void 0);
|
|
942
987
|
|
|
943
988
|
// packages/3d/dist/esm/materials/material.js
|
|
944
|
-
import { PacemEventTarget as PacemEventTarget2, Utils as
|
|
989
|
+
import { PacemEventTarget as PacemEventTarget2, Utils as Utils6, Watch as Watch3, PropertyConverters as PropertyConverters3, PCSS as PCSS2 } from "@pacem/pacem-core";
|
|
945
990
|
import { Imaging } from "@pacem/pacem-foundation";
|
|
946
|
-
var
|
|
991
|
+
var __decorate4 = function(decorators, target, key, desc) {
|
|
947
992
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
948
993
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
949
994
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -994,14 +1039,14 @@ var MaterialElement = class extends PacemEventTarget2 {
|
|
|
994
1039
|
return this.#shader;
|
|
995
1040
|
}
|
|
996
1041
|
async _loadMap(url, old = this.material?.texture) {
|
|
997
|
-
if (!
|
|
1042
|
+
if (!Utils6.isNull(old)) {
|
|
998
1043
|
old.close();
|
|
999
1044
|
}
|
|
1000
|
-
if (
|
|
1045
|
+
if (Utils6.isNullOrEmpty(url)) {
|
|
1001
1046
|
return null;
|
|
1002
1047
|
}
|
|
1003
1048
|
const blob = await Imaging.loadImage(url);
|
|
1004
|
-
if (
|
|
1049
|
+
if (Utils6.isNull(blob)) {
|
|
1005
1050
|
return null;
|
|
1006
1051
|
}
|
|
1007
1052
|
return await createImageBitmap(blob);
|
|
@@ -1027,7 +1072,7 @@ var MaterialElement = class extends PacemEventTarget2 {
|
|
|
1027
1072
|
/** Recomputes {@link material} via {@link createMaterial}, flagging it as {@link StalePropertyFlag.Material}. */
|
|
1028
1073
|
updateMaterial() {
|
|
1029
1074
|
this.createMaterial().then((m) => {
|
|
1030
|
-
this.material =
|
|
1075
|
+
this.material = Utils6.extend(m, { flags: [StalePropertyFlag.Material] });
|
|
1031
1076
|
});
|
|
1032
1077
|
}
|
|
1033
1078
|
/** Builds the base {@link Material} out of the shared watched attributes (`opacity`, `wireframe`, `color`, `hide`, `map`); overridden by subclasses to add their shader-specific properties. */
|
|
@@ -1035,7 +1080,7 @@ var MaterialElement = class extends PacemEventTarget2 {
|
|
|
1035
1080
|
return {
|
|
1036
1081
|
opacity: this.opacity ?? 1,
|
|
1037
1082
|
wireframe: this.wireframe ?? false,
|
|
1038
|
-
color: this.color ||
|
|
1083
|
+
color: this.color || Utils6.Css.getVariableValue(`--${PCSS2}-color-primary`),
|
|
1039
1084
|
visible: !(this.hide ?? false),
|
|
1040
1085
|
map: this.map,
|
|
1041
1086
|
texture: await this._loadMap(this.map),
|
|
@@ -1044,29 +1089,273 @@ var MaterialElement = class extends PacemEventTarget2 {
|
|
|
1044
1089
|
};
|
|
1045
1090
|
}
|
|
1046
1091
|
};
|
|
1047
|
-
|
|
1092
|
+
__decorate4([
|
|
1048
1093
|
Watch3()
|
|
1049
1094
|
], MaterialElement.prototype, "material", void 0);
|
|
1050
|
-
|
|
1095
|
+
__decorate4([
|
|
1051
1096
|
Watch3({ emit: false, converter: PropertyConverters3.Number })
|
|
1052
1097
|
], MaterialElement.prototype, "opacity", void 0);
|
|
1053
|
-
|
|
1098
|
+
__decorate4([
|
|
1054
1099
|
Watch3({ emit: false, converter: PropertyConverters3.Boolean })
|
|
1055
1100
|
], MaterialElement.prototype, "wireframe", void 0);
|
|
1056
|
-
|
|
1101
|
+
__decorate4([
|
|
1057
1102
|
Watch3({ emit: false, converter: PropertyConverters3.String })
|
|
1058
1103
|
], MaterialElement.prototype, "color", void 0);
|
|
1059
|
-
|
|
1104
|
+
__decorate4([
|
|
1060
1105
|
Watch3({ emit: false, converter: PropertyConverters3.Boolean })
|
|
1061
1106
|
], MaterialElement.prototype, "hide", void 0);
|
|
1062
|
-
|
|
1107
|
+
__decorate4([
|
|
1063
1108
|
Watch3({ emit: false, converter: PropertyConverters3.String })
|
|
1064
1109
|
], MaterialElement.prototype, "map", void 0);
|
|
1065
1110
|
|
|
1066
|
-
// packages/3d/dist/esm/
|
|
1067
|
-
import {
|
|
1068
|
-
|
|
1069
|
-
|
|
1111
|
+
// packages/3d/dist/esm/parsers/parser.js
|
|
1112
|
+
import { Transformer } from "@pacem/pacem-core";
|
|
1113
|
+
import { Point } from "@pacem/pacem-foundation";
|
|
1114
|
+
var __decorate5 = function(decorators, target, key, desc) {
|
|
1115
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1116
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1117
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1118
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1119
|
+
};
|
|
1120
|
+
var OBJParser = class {
|
|
1121
|
+
/**
|
|
1122
|
+
* Parses `v` (vertex), `vt` (texture coordinate), `vn` (normal) and `f` (face) records out of `content`,
|
|
1123
|
+
* triangulating any face with more than 3 vertices (fan triangulation).
|
|
1124
|
+
*/
|
|
1125
|
+
static parse(content) {
|
|
1126
|
+
const vertices = [];
|
|
1127
|
+
const vParser = /^v((\s+-?[\d\.]+){3})/gm;
|
|
1128
|
+
let arr = vParser.exec(content);
|
|
1129
|
+
while (arr && arr.length) {
|
|
1130
|
+
vertices.push(Point3DConverter.convert(arr[1]));
|
|
1131
|
+
arr = vParser.exec(content);
|
|
1132
|
+
}
|
|
1133
|
+
const vt = [];
|
|
1134
|
+
const tParser = /^vt((\s+-?[\d\.]+){2})/gm;
|
|
1135
|
+
arr = tParser.exec(content);
|
|
1136
|
+
while (arr && arr.length) {
|
|
1137
|
+
vt.push(Point.parse(arr[1]));
|
|
1138
|
+
arr = tParser.exec(content);
|
|
1139
|
+
}
|
|
1140
|
+
const vn = [];
|
|
1141
|
+
const nParser = /^vn((\s+-?[\d\.]+){3})/gm;
|
|
1142
|
+
arr = nParser.exec(content);
|
|
1143
|
+
while (arr && arr.length) {
|
|
1144
|
+
vn.push(Point3DConverter.convert(arr[1]));
|
|
1145
|
+
arr = nParser.exec(content);
|
|
1146
|
+
}
|
|
1147
|
+
const normals = [];
|
|
1148
|
+
const uv = [];
|
|
1149
|
+
const positions = [];
|
|
1150
|
+
const fParser = /^f((\s+([\d]+\/[\d]+\/[\d]+)){3,})/gm;
|
|
1151
|
+
arr = fParser.exec(content);
|
|
1152
|
+
while (arr && arr.length) {
|
|
1153
|
+
const fjParser = /([\d]+)\/([\d]+)\/([\d]+)/g;
|
|
1154
|
+
const face = arr[1];
|
|
1155
|
+
let jArr = fjParser.exec(face);
|
|
1156
|
+
let jIndex = 0;
|
|
1157
|
+
var vIndex0, tIndex0, nIndex0;
|
|
1158
|
+
var vIndex, tIndex, nIndex;
|
|
1159
|
+
while (jArr && jArr.length) {
|
|
1160
|
+
if (jIndex > 2) {
|
|
1161
|
+
positions.push(vIndex0);
|
|
1162
|
+
uv.push(vt[tIndex0]);
|
|
1163
|
+
normals.push(vn[nIndex0]);
|
|
1164
|
+
positions.push(vIndex);
|
|
1165
|
+
uv.push(vt[tIndex]);
|
|
1166
|
+
normals.push(vn[nIndex]);
|
|
1167
|
+
}
|
|
1168
|
+
vIndex = parseInt(jArr[1]) - 1;
|
|
1169
|
+
tIndex = parseInt(jArr[2]) - 1;
|
|
1170
|
+
nIndex = parseInt(jArr[3]) - 1;
|
|
1171
|
+
positions.push(vIndex);
|
|
1172
|
+
uv.push(vt[tIndex]);
|
|
1173
|
+
normals.push(vn[nIndex]);
|
|
1174
|
+
if (jIndex === 0) {
|
|
1175
|
+
vIndex0 = vIndex;
|
|
1176
|
+
tIndex0 = tIndex;
|
|
1177
|
+
nIndex0 = nIndex;
|
|
1178
|
+
}
|
|
1179
|
+
jIndex++;
|
|
1180
|
+
jArr = fjParser.exec(face);
|
|
1181
|
+
}
|
|
1182
|
+
arr = fParser.exec(content);
|
|
1183
|
+
}
|
|
1184
|
+
return new MeshGeometry(vertices, positions, uv, normals);
|
|
1185
|
+
}
|
|
1186
|
+
};
|
|
1187
|
+
var Parser3D = class {
|
|
1188
|
+
/**
|
|
1189
|
+
* Parses `content` according to `type` into a {@link NodeGeometry} (currently only the `'obj'` Wavefront format,
|
|
1190
|
+
* via {@link OBJParser}) or a {@link Material}. Throws for any other/unsupported `type` (e.g. `'mtl'`, not yet implemented).
|
|
1191
|
+
*/
|
|
1192
|
+
static parseGeometry(content, type) {
|
|
1193
|
+
switch (type.toLowerCase()) {
|
|
1194
|
+
case "obj":
|
|
1195
|
+
return OBJParser.parse(content);
|
|
1196
|
+
default:
|
|
1197
|
+
throw new Error(`Type '${type}' is not supported.`);
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
};
|
|
1201
|
+
__decorate5([
|
|
1202
|
+
Transformer("parse3D")
|
|
1203
|
+
], Parser3D, "parseGeometry", null);
|
|
1204
|
+
|
|
1205
|
+
// packages/3d/dist/esm/index-components.js
|
|
1206
|
+
var index_components_exports = {};
|
|
1207
|
+
__export(index_components_exports, {
|
|
1208
|
+
Drawing3D: () => index_components_drawing3d_exports
|
|
1209
|
+
});
|
|
1210
|
+
|
|
1211
|
+
// packages/3d/dist/esm/index-components-drawing3d.js
|
|
1212
|
+
var index_components_drawing3d_exports = {};
|
|
1213
|
+
__export(index_components_drawing3d_exports, {
|
|
1214
|
+
AdapterUtils: () => AdapterUtils,
|
|
1215
|
+
BasicMaterialElement: () => BasicMaterialElement,
|
|
1216
|
+
DragEvent: () => DragEvent,
|
|
1217
|
+
KnownShader: () => KnownShader,
|
|
1218
|
+
LambertMaterialElement: () => LambertMaterialElement,
|
|
1219
|
+
LineMaterialElement: () => LineMaterialElement,
|
|
1220
|
+
MaterialElement: () => MaterialElement,
|
|
1221
|
+
OrbitCameraBehavior: () => OrbitCameraBehavior,
|
|
1222
|
+
Pacem3DAdapterElement: () => Pacem3DAdapterElement,
|
|
1223
|
+
Pacem3DCameraElement: () => Pacem3DCameraElement,
|
|
1224
|
+
Pacem3DDetector: () => Pacem3DDetector,
|
|
1225
|
+
Pacem3DElement: () => Pacem3DElement,
|
|
1226
|
+
Pacem3DGroupElement: () => Pacem3DGroupElement,
|
|
1227
|
+
Pacem3DLightElement: () => Pacem3DLightElement,
|
|
1228
|
+
Pacem3DMeshElement: () => Pacem3DMeshElement,
|
|
1229
|
+
Pacem3DObjectElement: () => Pacem3DObjectElement,
|
|
1230
|
+
Pacem3DOrthographicCameraElement: () => Pacem3DOrthographicCameraElement,
|
|
1231
|
+
Pacem3DPerspectiveCameraElement: () => Pacem3DPerspectiveCameraElement,
|
|
1232
|
+
Pacem3DPrimitiveElement: () => Pacem3DPrimitiveElement,
|
|
1233
|
+
Pacem3DThreeAdapterElement: () => Pacem3DThreeAdapterElement,
|
|
1234
|
+
Pacem3DWebgpuAdapterElement: () => Pacem3DWebgpuAdapterElement,
|
|
1235
|
+
Pacem3DWgslScriptElement: () => Pacem3DWgslScriptElement,
|
|
1236
|
+
PacemBoxElement: () => PacemBoxElement,
|
|
1237
|
+
PacemConeElement: () => PacemConeElement,
|
|
1238
|
+
PacemCylinderElement: () => PacemCylinderElement,
|
|
1239
|
+
PacemDodecahedronElement: () => PacemDodecahedronElement,
|
|
1240
|
+
PacemHexahedronElement: () => PacemHexahedronElement,
|
|
1241
|
+
PacemIcosahedronElement: () => PacemIcosahedronElement,
|
|
1242
|
+
PacemLineElement: () => PacemLineElement,
|
|
1243
|
+
PacemOctahedronElement: () => PacemOctahedronElement,
|
|
1244
|
+
PacemOrbitCameraBehaviorElement: () => PacemOrbitCameraBehaviorElement,
|
|
1245
|
+
PacemPlaneElement: () => PacemPlaneElement,
|
|
1246
|
+
PacemSphereElement: () => PacemSphereElement,
|
|
1247
|
+
PacemTetrahedronElement: () => PacemTetrahedronElement,
|
|
1248
|
+
PacemTorusElement: () => PacemTorusElement,
|
|
1249
|
+
PhongMaterialElement: () => PhongMaterialElement,
|
|
1250
|
+
PolyhedronElement: () => PolyhedronElement,
|
|
1251
|
+
RenderableElement: () => RenderableElement,
|
|
1252
|
+
RenderableEvent: () => RenderableEvent,
|
|
1253
|
+
StalePropertyFlag: () => StalePropertyFlag,
|
|
1254
|
+
StandardMaterialElement: () => StandardMaterialElement,
|
|
1255
|
+
UI3DEvent: () => UI3DEvent,
|
|
1256
|
+
Ui3DElement: () => Ui3DElement,
|
|
1257
|
+
computePlaneNormal: () => computePlaneNormal,
|
|
1258
|
+
computeSharpVertexNormals: () => computeSharpVertexNormals,
|
|
1259
|
+
isBasicMaterial: () => isBasicMaterial,
|
|
1260
|
+
isCamera: () => isCamera,
|
|
1261
|
+
isGeometry: () => isGeometry,
|
|
1262
|
+
isGroup: () => isGroup,
|
|
1263
|
+
isInteraction: () => isInteraction,
|
|
1264
|
+
isLambertMaterial: () => isLambertMaterial,
|
|
1265
|
+
isLight: () => isLight,
|
|
1266
|
+
isLineMaterial: () => isLineMaterial,
|
|
1267
|
+
isMaterial: () => isMaterial,
|
|
1268
|
+
isMesh: () => isMesh,
|
|
1269
|
+
isMeshGeometry: () => isMeshGeometry,
|
|
1270
|
+
isOrthographicCamera: () => isOrthographicCamera,
|
|
1271
|
+
isPerspectiveCamera: () => isPerspectiveCamera,
|
|
1272
|
+
isPhongMaterial: () => isPhongMaterial,
|
|
1273
|
+
isRenderable: () => isRenderable,
|
|
1274
|
+
isShaderMaterial: () => isShaderMaterial,
|
|
1275
|
+
isStage: () => isStage,
|
|
1276
|
+
isStandardMaterial: () => isStandardMaterial,
|
|
1277
|
+
isUi3DObject: () => isUi3DObject
|
|
1278
|
+
});
|
|
1279
|
+
|
|
1280
|
+
// packages/3d/dist/esm/detector.js
|
|
1281
|
+
var Pacem3DDetector = class {
|
|
1282
|
+
/** Probes the browser for WebGL support by attempting to create a rendering context, populating {@link info} and {@link supported}. */
|
|
1283
|
+
constructor() {
|
|
1284
|
+
this._detected = {
|
|
1285
|
+
supported: false,
|
|
1286
|
+
info: {}
|
|
1287
|
+
};
|
|
1288
|
+
let cvs = document.createElement("canvas");
|
|
1289
|
+
let contextNames = ["webgl", "experimental-webgl", "moz-webgl", "webkit-3d"];
|
|
1290
|
+
let ctx;
|
|
1291
|
+
let getParam = function(str) {
|
|
1292
|
+
if (!str)
|
|
1293
|
+
return void 0;
|
|
1294
|
+
return ctx.getParameter(str);
|
|
1295
|
+
};
|
|
1296
|
+
let addLine = (section, name, value) => {
|
|
1297
|
+
let detected = this._detected;
|
|
1298
|
+
var info = detected.info[section] = detected.info[section] || {};
|
|
1299
|
+
name = name.replace(/[^\w]+/g, "");
|
|
1300
|
+
name = name.substring(0, 1).toLowerCase() + name.substring(1);
|
|
1301
|
+
info[name] = value;
|
|
1302
|
+
};
|
|
1303
|
+
if (navigator.userAgent.indexOf("MSIE") >= 0) {
|
|
1304
|
+
try {
|
|
1305
|
+
ctx = window["WebGLHelper"].CreateGLContext(cvs, "canvas");
|
|
1306
|
+
} catch (e) {
|
|
1307
|
+
}
|
|
1308
|
+
} else {
|
|
1309
|
+
for (var i = 0; i < contextNames.length; i++) {
|
|
1310
|
+
try {
|
|
1311
|
+
ctx = cvs.getContext(contextNames[i]);
|
|
1312
|
+
if (ctx) {
|
|
1313
|
+
addLine("main", "Context Name", contextNames[i]);
|
|
1314
|
+
break;
|
|
1315
|
+
}
|
|
1316
|
+
} catch (e) {
|
|
1317
|
+
}
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
this._detected.supported = !!ctx;
|
|
1321
|
+
addLine("main", "Platform", navigator.platform);
|
|
1322
|
+
addLine("main", "Agent", navigator.userAgent);
|
|
1323
|
+
if (ctx) {
|
|
1324
|
+
addLine("main", "Vendor", getParam(ctx.VENDOR));
|
|
1325
|
+
addLine("main", "Version", getParam(ctx.VERSION));
|
|
1326
|
+
addLine("main", "Renderer", getParam(ctx.RENDERER));
|
|
1327
|
+
addLine("main", "Shading Language Version", getParam(ctx.SHADING_LANGUAGE_VERSION));
|
|
1328
|
+
addLine("bits", "Rgba Bits", getParam(ctx.RED_BITS) + ", " + getParam(ctx.GREEN_BITS) + ", " + getParam(ctx.BLUE_BITS) + ", " + getParam(ctx.ALPHA_BITS));
|
|
1329
|
+
addLine("bits", "Depth Bits", getParam(ctx.DEPTH_BITS));
|
|
1330
|
+
addLine("shader", "Max Vertex Attribs", getParam(ctx.MAX_VERTEX_ATTRIBS));
|
|
1331
|
+
addLine("shader", "Max Vertex Texture Image Units", getParam(ctx.MAX_VERTEX_TEXTURE_IMAGE_UNITS));
|
|
1332
|
+
addLine("shader", "Max Varying Vectors", getParam(ctx.MAX_VARYING_VECTORS));
|
|
1333
|
+
addLine("shader", "Max Uniform Vectors", getParam(ctx.MAX_VERTEX_UNIFORM_VECTORS));
|
|
1334
|
+
addLine("tex", "Max Combined Texture Image Units", getParam(ctx.MAX_COMBINED_TEXTURE_IMAGE_UNITS));
|
|
1335
|
+
addLine("tex", "Max Texture Size", getParam(ctx.MAX_TEXTURE_SIZE));
|
|
1336
|
+
addLine("tex", "Max Cube Map Texture Size", getParam(ctx.MAX_CUBE_MAP_TEXTURE_SIZE));
|
|
1337
|
+
addLine("tex", "Num. Compressed Texture Formats", getParam(ctx.COMPRESSED_TEXTURE_FORMATS));
|
|
1338
|
+
addLine("misc", "Max Render Buffer Size", getParam(ctx.MAX_RENDERBUFFER_SIZE));
|
|
1339
|
+
addLine("misc", "Max Viewport Dimensions", getParam(ctx.MAX_VIEWPORT_DIMS));
|
|
1340
|
+
addLine("misc", "Aliased Line Width Range", getParam(ctx.ALIASED_LINE_WIDTH_RANGE));
|
|
1341
|
+
addLine("misc", "Aliased Point Size Range", getParam(ctx.ALIASED_POINT_SIZE_RANGE));
|
|
1342
|
+
addLine("misc", "Supported Extensions", ctx.getSupportedExtensions() || []);
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
/** @readonly Gets the detected WebGL capabilities/limits, grouped by section (`main`, `bits`, `shader`, `tex`, `misc`). */
|
|
1346
|
+
get info() {
|
|
1347
|
+
return this._detected.info;
|
|
1348
|
+
}
|
|
1349
|
+
/** @readonly Gets whether a WebGL rendering context could be created on this browser/device. */
|
|
1350
|
+
get supported() {
|
|
1351
|
+
return this._detected.supported;
|
|
1352
|
+
}
|
|
1353
|
+
};
|
|
1354
|
+
|
|
1355
|
+
// packages/3d/dist/esm/materials/basic.js
|
|
1356
|
+
import { CustomElement as CustomElement3, P as P3 } from "@pacem/pacem-core";
|
|
1357
|
+
var __decorate6 = function(decorators, target, key, desc) {
|
|
1358
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1070
1359
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1071
1360
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1072
1361
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
@@ -1076,13 +1365,13 @@ var BasicMaterialElement = class BasicMaterialElement2 extends MaterialElement {
|
|
|
1076
1365
|
super(KnownShader.Basic);
|
|
1077
1366
|
}
|
|
1078
1367
|
};
|
|
1079
|
-
BasicMaterialElement =
|
|
1368
|
+
BasicMaterialElement = __decorate6([
|
|
1080
1369
|
CustomElement3({ tagName: `${P3}-${TAG_MIDDLE_NAME}-material-basic` })
|
|
1081
1370
|
], BasicMaterialElement);
|
|
1082
1371
|
|
|
1083
1372
|
// packages/3d/dist/esm/materials/lambert.js
|
|
1084
|
-
import { CustomElement as CustomElement4, P as P4, Watch as Watch4, PropertyConverters as PropertyConverters4, Utils as
|
|
1085
|
-
var
|
|
1373
|
+
import { CustomElement as CustomElement4, P as P4, Watch as Watch4, PropertyConverters as PropertyConverters4, Utils as Utils7 } from "@pacem/pacem-core";
|
|
1374
|
+
var __decorate7 = function(decorators, target, key, desc) {
|
|
1086
1375
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1087
1376
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1088
1377
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1094,7 +1383,7 @@ var LambertMaterialElement = class LambertMaterialElement2 extends MaterialEleme
|
|
|
1094
1383
|
}
|
|
1095
1384
|
/** Builds the {@link LambertMaterial}, adding `emissiveColor`, `reflectivity` and `refractionRatio` to the base {@link Material}. */
|
|
1096
1385
|
async createMaterial() {
|
|
1097
|
-
return
|
|
1386
|
+
return Utils7.extend({
|
|
1098
1387
|
emissiveColor: this.emissiveColor || "#000",
|
|
1099
1388
|
reflectivity: this.reflectivity ?? 0,
|
|
1100
1389
|
refractionRatio: this.refractionRatio ?? 0
|
|
@@ -1113,22 +1402,22 @@ var LambertMaterialElement = class LambertMaterialElement2 extends MaterialEleme
|
|
|
1113
1402
|
}
|
|
1114
1403
|
}
|
|
1115
1404
|
};
|
|
1116
|
-
|
|
1405
|
+
__decorate7([
|
|
1117
1406
|
Watch4({ emit: false, converter: PropertyConverters4.String })
|
|
1118
1407
|
], LambertMaterialElement.prototype, "emissiveColor", void 0);
|
|
1119
|
-
|
|
1408
|
+
__decorate7([
|
|
1120
1409
|
Watch4({ emit: false, converter: PropertyConverters4.Number })
|
|
1121
1410
|
], LambertMaterialElement.prototype, "reflectivity", void 0);
|
|
1122
|
-
|
|
1411
|
+
__decorate7([
|
|
1123
1412
|
Watch4({ emit: false, converter: PropertyConverters4.Number })
|
|
1124
1413
|
], LambertMaterialElement.prototype, "refractionRatio", void 0);
|
|
1125
|
-
LambertMaterialElement =
|
|
1414
|
+
LambertMaterialElement = __decorate7([
|
|
1126
1415
|
CustomElement4({ tagName: `${P4}-${TAG_MIDDLE_NAME}-material-lambert` })
|
|
1127
1416
|
], LambertMaterialElement);
|
|
1128
1417
|
|
|
1129
1418
|
// packages/3d/dist/esm/materials/line.js
|
|
1130
|
-
import { CustomElement as CustomElement5, P as P5, Watch as Watch5, PropertyConverters as PropertyConverters5, Utils as
|
|
1131
|
-
var
|
|
1419
|
+
import { CustomElement as CustomElement5, P as P5, Watch as Watch5, PropertyConverters as PropertyConverters5, Utils as Utils8 } from "@pacem/pacem-core";
|
|
1420
|
+
var __decorate8 = function(decorators, target, key, desc) {
|
|
1132
1421
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1133
1422
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1134
1423
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1153,7 +1442,7 @@ var LineMaterialElement = class LineMaterialElement2 extends MaterialElement {
|
|
|
1153
1442
|
}
|
|
1154
1443
|
/** Builds the {@link LineMaterial}, adding `lineWidth`, `lineJoin`, `lineCap` and `dashArray` to the base {@link Material}. */
|
|
1155
1444
|
async createMaterial() {
|
|
1156
|
-
return
|
|
1445
|
+
return Utils8.extend({
|
|
1157
1446
|
lineWidth: this.lineWidth ?? 1,
|
|
1158
1447
|
lineJoin: this.lineJoin ?? "round",
|
|
1159
1448
|
lineCap: this.lineCap ?? "round",
|
|
@@ -1161,16 +1450,16 @@ var LineMaterialElement = class LineMaterialElement2 extends MaterialElement {
|
|
|
1161
1450
|
}, await super.createMaterial());
|
|
1162
1451
|
}
|
|
1163
1452
|
};
|
|
1164
|
-
|
|
1453
|
+
__decorate8([
|
|
1165
1454
|
Watch5({ emit: false, converter: PropertyConverters5.Number })
|
|
1166
1455
|
], LineMaterialElement.prototype, "lineWidth", void 0);
|
|
1167
|
-
|
|
1456
|
+
__decorate8([
|
|
1168
1457
|
Watch5({ emit: false, converter: PropertyConverters5.String })
|
|
1169
1458
|
], LineMaterialElement.prototype, "lineJoin", void 0);
|
|
1170
|
-
|
|
1459
|
+
__decorate8([
|
|
1171
1460
|
Watch5({ emit: false, converter: PropertyConverters5.String })
|
|
1172
1461
|
], LineMaterialElement.prototype, "lineCap", void 0);
|
|
1173
|
-
|
|
1462
|
+
__decorate8([
|
|
1174
1463
|
Watch5({
|
|
1175
1464
|
emit: false,
|
|
1176
1465
|
converter: {
|
|
@@ -1179,13 +1468,13 @@ __decorate6([
|
|
|
1179
1468
|
}
|
|
1180
1469
|
})
|
|
1181
1470
|
], LineMaterialElement.prototype, "dashArray", void 0);
|
|
1182
|
-
LineMaterialElement =
|
|
1471
|
+
LineMaterialElement = __decorate8([
|
|
1183
1472
|
CustomElement5({ tagName: `${P5}-${TAG_MIDDLE_NAME}-material-line` })
|
|
1184
1473
|
], LineMaterialElement);
|
|
1185
1474
|
|
|
1186
1475
|
// packages/3d/dist/esm/materials/phong.js
|
|
1187
|
-
import { CustomElement as CustomElement6, P as P6, Watch as Watch6, PropertyConverters as PropertyConverters6, Utils as
|
|
1188
|
-
var
|
|
1476
|
+
import { CustomElement as CustomElement6, P as P6, Watch as Watch6, PropertyConverters as PropertyConverters6, Utils as Utils9 } from "@pacem/pacem-core";
|
|
1477
|
+
var __decorate9 = function(decorators, target, key, desc) {
|
|
1189
1478
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1190
1479
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1191
1480
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1197,7 +1486,7 @@ var PhongMaterialElement = class PhongMaterialElement2 extends MaterialElement {
|
|
|
1197
1486
|
}
|
|
1198
1487
|
/** Builds the {@link PhongMaterial}, adding the diffuse (`emissiveColor`, `reflectivity`, `refractionRatio`) and specular (`specularColor`, `shininess`, `flatShading`) properties to the base {@link Material}. */
|
|
1199
1488
|
async createMaterial() {
|
|
1200
|
-
return
|
|
1489
|
+
return Utils9.extend({
|
|
1201
1490
|
emissiveColor: this.emissiveColor || "#000",
|
|
1202
1491
|
reflectivity: this.reflectivity ?? 0,
|
|
1203
1492
|
refractionRatio: this.refractionRatio ?? 0,
|
|
@@ -1222,31 +1511,31 @@ var PhongMaterialElement = class PhongMaterialElement2 extends MaterialElement {
|
|
|
1222
1511
|
}
|
|
1223
1512
|
}
|
|
1224
1513
|
};
|
|
1225
|
-
|
|
1514
|
+
__decorate9([
|
|
1226
1515
|
Watch6({ emit: false, converter: PropertyConverters6.String })
|
|
1227
1516
|
], PhongMaterialElement.prototype, "emissiveColor", void 0);
|
|
1228
|
-
|
|
1517
|
+
__decorate9([
|
|
1229
1518
|
Watch6({ emit: false, converter: PropertyConverters6.Number })
|
|
1230
1519
|
], PhongMaterialElement.prototype, "reflectivity", void 0);
|
|
1231
|
-
|
|
1520
|
+
__decorate9([
|
|
1232
1521
|
Watch6({ emit: false, converter: PropertyConverters6.Number })
|
|
1233
1522
|
], PhongMaterialElement.prototype, "refractionRatio", void 0);
|
|
1234
|
-
|
|
1523
|
+
__decorate9([
|
|
1235
1524
|
Watch6({ emit: false, converter: PropertyConverters6.String })
|
|
1236
1525
|
], PhongMaterialElement.prototype, "specularColor", void 0);
|
|
1237
|
-
|
|
1526
|
+
__decorate9([
|
|
1238
1527
|
Watch6({ emit: false, converter: PropertyConverters6.Number })
|
|
1239
1528
|
], PhongMaterialElement.prototype, "shininess", void 0);
|
|
1240
|
-
|
|
1529
|
+
__decorate9([
|
|
1241
1530
|
Watch6({ emit: false, converter: PropertyConverters6.Boolean })
|
|
1242
1531
|
], PhongMaterialElement.prototype, "flatShading", void 0);
|
|
1243
|
-
PhongMaterialElement =
|
|
1532
|
+
PhongMaterialElement = __decorate9([
|
|
1244
1533
|
CustomElement6({ tagName: `${P6}-${TAG_MIDDLE_NAME}-material-phong` })
|
|
1245
1534
|
], PhongMaterialElement);
|
|
1246
1535
|
|
|
1247
1536
|
// packages/3d/dist/esm/materials/standard.js
|
|
1248
|
-
import { CustomElement as CustomElement7, P as P7, Watch as Watch7, PropertyConverters as PropertyConverters7, Utils as
|
|
1249
|
-
var
|
|
1537
|
+
import { CustomElement as CustomElement7, P as P7, Watch as Watch7, PropertyConverters as PropertyConverters7, Utils as Utils10 } from "@pacem/pacem-core";
|
|
1538
|
+
var __decorate10 = function(decorators, target, key, desc) {
|
|
1250
1539
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1251
1540
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1252
1541
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1258,7 +1547,7 @@ var StandardMaterialElement = class StandardMaterialElement2 extends MaterialEle
|
|
|
1258
1547
|
}
|
|
1259
1548
|
/** Builds the {@link StandardMaterial}, adding `emissiveColor`, `refractionRatio`, `metalness`, `roughness` and `flatShading` to the base {@link Material}. */
|
|
1260
1549
|
async createMaterial() {
|
|
1261
|
-
return
|
|
1550
|
+
return Utils10.extend({
|
|
1262
1551
|
emissiveColor: this.emissiveColor || "#000",
|
|
1263
1552
|
refractionRatio: this.refractionRatio ?? 0,
|
|
1264
1553
|
metalness: this.metalness ?? 0,
|
|
@@ -1281,28 +1570,28 @@ var StandardMaterialElement = class StandardMaterialElement2 extends MaterialEle
|
|
|
1281
1570
|
}
|
|
1282
1571
|
}
|
|
1283
1572
|
};
|
|
1284
|
-
|
|
1573
|
+
__decorate10([
|
|
1285
1574
|
Watch7({ emit: false, converter: PropertyConverters7.String })
|
|
1286
1575
|
], StandardMaterialElement.prototype, "emissiveColor", void 0);
|
|
1287
|
-
|
|
1576
|
+
__decorate10([
|
|
1288
1577
|
Watch7({ emit: false, converter: PropertyConverters7.Number })
|
|
1289
1578
|
], StandardMaterialElement.prototype, "refractionRatio", void 0);
|
|
1290
|
-
|
|
1579
|
+
__decorate10([
|
|
1291
1580
|
Watch7({ emit: false, converter: PropertyConverters7.Number })
|
|
1292
1581
|
], StandardMaterialElement.prototype, "roughness", void 0);
|
|
1293
|
-
|
|
1582
|
+
__decorate10([
|
|
1294
1583
|
Watch7({ emit: false, converter: PropertyConverters7.Number })
|
|
1295
1584
|
], StandardMaterialElement.prototype, "metalness", void 0);
|
|
1296
|
-
|
|
1585
|
+
__decorate10([
|
|
1297
1586
|
Watch7({ emit: false, converter: PropertyConverters7.Boolean })
|
|
1298
1587
|
], StandardMaterialElement.prototype, "flatShading", void 0);
|
|
1299
|
-
StandardMaterialElement =
|
|
1588
|
+
StandardMaterialElement = __decorate10([
|
|
1300
1589
|
CustomElement7({ tagName: `${P7}-${TAG_MIDDLE_NAME}-material-standard` })
|
|
1301
1590
|
], StandardMaterialElement);
|
|
1302
1591
|
|
|
1303
1592
|
// packages/3d/dist/esm/primitives/primitive.js
|
|
1304
|
-
import { PacemEventTarget as PacemEventTarget3, Watch as Watch8, PropertyConverters as PropertyConverters8, Utils as
|
|
1305
|
-
var
|
|
1593
|
+
import { PacemEventTarget as PacemEventTarget3, Watch as Watch8, PropertyConverters as PropertyConverters8, Utils as Utils11 } from "@pacem/pacem-core";
|
|
1594
|
+
var __decorate11 = function(decorators, target, key, desc) {
|
|
1306
1595
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1307
1596
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1308
1597
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1311,165 +1600,18 @@ var __decorate9 = function(decorators, target, key, desc) {
|
|
|
1311
1600
|
var Pacem3DPrimitiveElement = class extends PacemEventTarget3 {
|
|
1312
1601
|
viewActivatedCallback() {
|
|
1313
1602
|
super.viewActivatedCallback();
|
|
1314
|
-
if (
|
|
1603
|
+
if (Utils11.isNull(this.geometry)) {
|
|
1315
1604
|
this.geometry = this.createDefaultGeometry();
|
|
1316
1605
|
}
|
|
1317
1606
|
}
|
|
1318
|
-
};
|
|
1319
|
-
|
|
1320
|
-
Watch8({ converter: PropertyConverters8.Json })
|
|
1321
|
-
], Pacem3DPrimitiveElement.prototype, "geometry", void 0);
|
|
1322
|
-
|
|
1323
|
-
// packages/3d/dist/esm/primitives/box.js
|
|
1324
|
-
import { CustomElement as CustomElement8, P as P8, Watch as Watch9, PropertyConverters as PropertyConverters9 } from "@pacem/pacem-core";
|
|
1325
|
-
|
|
1326
|
-
// packages/3d/dist/esm/geometry.js
|
|
1327
|
-
import { Utils as Utils11 } from "@pacem/pacem-core";
|
|
1328
|
-
|
|
1329
|
-
// packages/3d/dist/esm/decorators.js
|
|
1330
|
-
import { Utils as Utils10 } from "@pacem/pacem-core";
|
|
1331
|
-
function NotifyChange(callback) {
|
|
1332
|
-
return (target, prop, descriptor) => {
|
|
1333
|
-
const backingField = `_${prop}_${Utils10.uniqueCode()}_backingField`;
|
|
1334
|
-
function getter() {
|
|
1335
|
-
return this[backingField];
|
|
1336
|
-
}
|
|
1337
|
-
function setter(val) {
|
|
1338
|
-
if (val !== this[backingField]) {
|
|
1339
|
-
const old = this[backingField];
|
|
1340
|
-
this[backingField] = val;
|
|
1341
|
-
callback.call(this, prop, old, val);
|
|
1342
|
-
}
|
|
1343
|
-
}
|
|
1344
|
-
Object.defineProperty(target, prop, {
|
|
1345
|
-
get: function() {
|
|
1346
|
-
return getter.call(this);
|
|
1347
|
-
},
|
|
1348
|
-
set: function(val) {
|
|
1349
|
-
setter.call(this, val);
|
|
1350
|
-
},
|
|
1351
|
-
enumerable: true,
|
|
1352
|
-
configurable: false
|
|
1353
|
-
});
|
|
1354
|
-
};
|
|
1355
|
-
}
|
|
1356
|
-
|
|
1357
|
-
// packages/3d/dist/esm/geometry.js
|
|
1358
|
-
var __decorate10 = function(decorators, target, key, desc) {
|
|
1359
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1360
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1361
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
1362
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1363
|
-
};
|
|
1364
|
-
var NodeGeometry = class {
|
|
1365
|
-
constructor(positions = []) {
|
|
1366
|
-
this.positions = positions;
|
|
1367
|
-
}
|
|
1368
|
-
/** Computes the centroid (average) of the given positions. */
|
|
1369
|
-
static barycenter(positions) {
|
|
1370
|
-
var bary = { x: 0, y: 0, z: 0 };
|
|
1371
|
-
if (!Utils11.isNullOrEmpty(positions)) {
|
|
1372
|
-
var count = positions.length;
|
|
1373
|
-
for (var i = 0; i < positions.length; i++) {
|
|
1374
|
-
var pt = positions[i];
|
|
1375
|
-
bary.x += pt.x;
|
|
1376
|
-
bary.y += pt.y;
|
|
1377
|
-
bary.z += pt.z;
|
|
1378
|
-
}
|
|
1379
|
-
var countDbl = 1 * count;
|
|
1380
|
-
bary.x /= countDbl;
|
|
1381
|
-
bary.y /= countDbl;
|
|
1382
|
-
bary.z /= countDbl;
|
|
1383
|
-
}
|
|
1384
|
-
return bary;
|
|
1385
|
-
}
|
|
1386
|
-
/** Computes the axis-aligned {@link Box3D} enclosing the given positions. */
|
|
1387
|
-
static boundingBox(positions) {
|
|
1388
|
-
const output = {
|
|
1389
|
-
minX: Infinity,
|
|
1390
|
-
minY: Infinity,
|
|
1391
|
-
minZ: Infinity,
|
|
1392
|
-
maxX: -Infinity,
|
|
1393
|
-
maxY: -Infinity,
|
|
1394
|
-
maxZ: -Infinity
|
|
1395
|
-
};
|
|
1396
|
-
if (!Utils11.isNullOrEmpty(positions)) {
|
|
1397
|
-
for (var i = 0; i < positions.length; i++) {
|
|
1398
|
-
var pt = positions[i];
|
|
1399
|
-
output.minX = Math.min(output.minX, pt.x);
|
|
1400
|
-
output.minY = Math.min(output.minY, pt.y);
|
|
1401
|
-
output.minZ = Math.min(output.minZ, pt.z);
|
|
1402
|
-
output.maxX = Math.max(output.maxX, pt.x);
|
|
1403
|
-
output.maxY = Math.max(output.maxY, pt.y);
|
|
1404
|
-
output.maxZ = Math.max(output.maxZ, pt.z);
|
|
1405
|
-
}
|
|
1406
|
-
}
|
|
1407
|
-
return output;
|
|
1408
|
-
}
|
|
1409
|
-
/** Marks the geometry as stale, flagging it with {@link StalePropertyFlag.Geometry} for the next render. */
|
|
1410
|
-
setAsDirty() {
|
|
1411
|
-
setSelfAsDirty.call(this);
|
|
1412
|
-
}
|
|
1413
|
-
};
|
|
1414
|
-
function setSelfAsDirty() {
|
|
1415
|
-
const me = this;
|
|
1416
|
-
me.flags = [
|
|
1417
|
-
/* no further specifications, other than 'geometry' */
|
|
1418
|
-
StalePropertyFlag.Geometry
|
|
1419
|
-
];
|
|
1420
|
-
}
|
|
1421
|
-
var LineGeometry = class extends NodeGeometry {
|
|
1422
|
-
};
|
|
1423
|
-
__decorate10([
|
|
1424
|
-
NotifyChange(setSelfAsDirty)
|
|
1425
|
-
], LineGeometry.prototype, "positions", void 0);
|
|
1426
|
-
var MeshGeometry = class extends NodeGeometry {
|
|
1427
|
-
#boundingBox;
|
|
1428
|
-
#boundingSphere;
|
|
1429
|
-
#barycenter;
|
|
1430
|
-
/** Gets or sets the centroid of {@link positions}; computed on first access if not explicitly set. */
|
|
1431
|
-
get barycenter() {
|
|
1432
|
-
return this.#barycenter ??= NodeGeometry.barycenter(this.positions);
|
|
1433
|
-
}
|
|
1434
|
-
set barycenter(point) {
|
|
1435
|
-
this.#barycenter = point;
|
|
1436
|
-
}
|
|
1437
|
-
/** Gets or sets the axis-aligned bounding box; computed from {@link positions} on first access if not explicitly set. */
|
|
1438
|
-
get boundingBox() {
|
|
1439
|
-
return this.#boundingBox ??= NodeGeometry.boundingBox(this.positions);
|
|
1440
|
-
}
|
|
1441
|
-
set boundingBox(bbox) {
|
|
1442
|
-
this.#boundingBox = bbox;
|
|
1443
|
-
}
|
|
1444
|
-
/** Gets or sets the bounding sphere. */
|
|
1445
|
-
get boundingSphere() {
|
|
1446
|
-
return this.#boundingSphere;
|
|
1447
|
-
}
|
|
1448
|
-
set boundingSphere(sphere) {
|
|
1449
|
-
this.#boundingSphere = sphere;
|
|
1450
|
-
}
|
|
1451
|
-
constructor(positions, triangleIndices, textureCoordinates = [], normals = []) {
|
|
1452
|
-
super(positions);
|
|
1453
|
-
this.triangleIndices = triangleIndices;
|
|
1454
|
-
this.textureCoordinates = textureCoordinates;
|
|
1455
|
-
this.normals = normals;
|
|
1456
|
-
}
|
|
1457
|
-
};
|
|
1458
|
-
__decorate10([
|
|
1459
|
-
NotifyChange(setSelfAsDirty)
|
|
1460
|
-
], MeshGeometry.prototype, "positions", void 0);
|
|
1461
|
-
__decorate10([
|
|
1462
|
-
NotifyChange(setSelfAsDirty)
|
|
1463
|
-
], MeshGeometry.prototype, "triangleIndices", void 0);
|
|
1464
|
-
__decorate10([
|
|
1465
|
-
NotifyChange(setSelfAsDirty)
|
|
1466
|
-
], MeshGeometry.prototype, "textureCoordinates", void 0);
|
|
1467
|
-
__decorate10([
|
|
1468
|
-
NotifyChange(setSelfAsDirty)
|
|
1469
|
-
], MeshGeometry.prototype, "normals", void 0);
|
|
1607
|
+
};
|
|
1608
|
+
__decorate11([
|
|
1609
|
+
Watch8({ converter: PropertyConverters8.Json })
|
|
1610
|
+
], Pacem3DPrimitiveElement.prototype, "geometry", void 0);
|
|
1470
1611
|
|
|
1471
1612
|
// packages/3d/dist/esm/primitives/box.js
|
|
1472
|
-
|
|
1613
|
+
import { CustomElement as CustomElement8, P as P8, Watch as Watch9, PropertyConverters as PropertyConverters9 } from "@pacem/pacem-core";
|
|
1614
|
+
var __decorate12 = function(decorators, target, key, desc) {
|
|
1473
1615
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1474
1616
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1475
1617
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1653,31 +1795,31 @@ var PacemBoxElement = PacemBoxElement_1 = class PacemBoxElement2 extends Pacem3D
|
|
|
1653
1795
|
}
|
|
1654
1796
|
}
|
|
1655
1797
|
};
|
|
1656
|
-
|
|
1798
|
+
__decorate12([
|
|
1657
1799
|
Watch9({ emit: false, converter: PropertyConverters9.Number })
|
|
1658
1800
|
], PacemBoxElement.prototype, "width", void 0);
|
|
1659
|
-
|
|
1801
|
+
__decorate12([
|
|
1660
1802
|
Watch9({ emit: false, converter: PropertyConverters9.Number })
|
|
1661
1803
|
], PacemBoxElement.prototype, "height", void 0);
|
|
1662
|
-
|
|
1804
|
+
__decorate12([
|
|
1663
1805
|
Watch9({ emit: false, converter: PropertyConverters9.Number })
|
|
1664
1806
|
], PacemBoxElement.prototype, "depth", void 0);
|
|
1665
|
-
|
|
1807
|
+
__decorate12([
|
|
1666
1808
|
Watch9({ emit: false, converter: PropertyConverters9.Number })
|
|
1667
1809
|
], PacemBoxElement.prototype, "widthSegments", void 0);
|
|
1668
|
-
|
|
1810
|
+
__decorate12([
|
|
1669
1811
|
Watch9({ emit: false, converter: PropertyConverters9.Number })
|
|
1670
1812
|
], PacemBoxElement.prototype, "heightSegments", void 0);
|
|
1671
|
-
|
|
1813
|
+
__decorate12([
|
|
1672
1814
|
Watch9({ emit: false, converter: PropertyConverters9.Number })
|
|
1673
1815
|
], PacemBoxElement.prototype, "depthSegments", void 0);
|
|
1674
|
-
PacemBoxElement = PacemBoxElement_1 =
|
|
1816
|
+
PacemBoxElement = PacemBoxElement_1 = __decorate12([
|
|
1675
1817
|
CustomElement8({ tagName: P8 + "-" + TAG_MIDDLE_NAME + "-primitive-box" })
|
|
1676
1818
|
], PacemBoxElement);
|
|
1677
1819
|
|
|
1678
1820
|
// packages/3d/dist/esm/primitives/cone.js
|
|
1679
1821
|
import { CustomElement as CustomElement9, P as P9, Watch as Watch10, PropertyConverters as PropertyConverters10 } from "@pacem/pacem-core";
|
|
1680
|
-
var
|
|
1822
|
+
var __decorate13 = function(decorators, target, key, desc) {
|
|
1681
1823
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1682
1824
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1683
1825
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1796,28 +1938,28 @@ var PacemConeElement = PacemConeElement_1 = class PacemConeElement2 extends Pace
|
|
|
1796
1938
|
}
|
|
1797
1939
|
}
|
|
1798
1940
|
};
|
|
1799
|
-
|
|
1941
|
+
__decorate13([
|
|
1800
1942
|
Watch10({ emit: false, converter: PropertyConverters10.Number })
|
|
1801
1943
|
], PacemConeElement.prototype, "radius", void 0);
|
|
1802
|
-
|
|
1944
|
+
__decorate13([
|
|
1803
1945
|
Watch10({ emit: false, converter: PropertyConverters10.Number })
|
|
1804
1946
|
], PacemConeElement.prototype, "height", void 0);
|
|
1805
|
-
|
|
1947
|
+
__decorate13([
|
|
1806
1948
|
Watch10({ emit: false, converter: PropertyConverters10.Number })
|
|
1807
1949
|
], PacemConeElement.prototype, "sides", void 0);
|
|
1808
|
-
|
|
1950
|
+
__decorate13([
|
|
1809
1951
|
Watch10({ emit: false, converter: PropertyConverters10.Number })
|
|
1810
1952
|
], PacemConeElement.prototype, "heightSegments", void 0);
|
|
1811
|
-
|
|
1953
|
+
__decorate13([
|
|
1812
1954
|
Watch10({ emit: false, converter: PropertyConverters10.Number })
|
|
1813
1955
|
], PacemConeElement.prototype, "capSegments", void 0);
|
|
1814
|
-
PacemConeElement = PacemConeElement_1 =
|
|
1956
|
+
PacemConeElement = PacemConeElement_1 = __decorate13([
|
|
1815
1957
|
CustomElement9({ tagName: P9 + "-" + TAG_MIDDLE_NAME + "-primitive-cone" })
|
|
1816
1958
|
], PacemConeElement);
|
|
1817
1959
|
|
|
1818
1960
|
// packages/3d/dist/esm/primitives/cylinder.js
|
|
1819
1961
|
import { CustomElement as CustomElement10, P as P10, Watch as Watch11, PropertyConverters as PropertyConverters11 } from "@pacem/pacem-core";
|
|
1820
|
-
var
|
|
1962
|
+
var __decorate14 = function(decorators, target, key, desc) {
|
|
1821
1963
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1822
1964
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1823
1965
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1978,28 +2120,28 @@ var PacemCylinderElement = PacemCylinderElement_1 = class PacemCylinderElement2
|
|
|
1978
2120
|
}
|
|
1979
2121
|
}
|
|
1980
2122
|
};
|
|
1981
|
-
|
|
2123
|
+
__decorate14([
|
|
1982
2124
|
Watch11({ emit: false, converter: PropertyConverters11.Number })
|
|
1983
2125
|
], PacemCylinderElement.prototype, "radius", void 0);
|
|
1984
|
-
|
|
2126
|
+
__decorate14([
|
|
1985
2127
|
Watch11({ emit: false, converter: PropertyConverters11.Number })
|
|
1986
2128
|
], PacemCylinderElement.prototype, "height", void 0);
|
|
1987
|
-
|
|
2129
|
+
__decorate14([
|
|
1988
2130
|
Watch11({ emit: false, converter: PropertyConverters11.Number })
|
|
1989
2131
|
], PacemCylinderElement.prototype, "sides", void 0);
|
|
1990
|
-
|
|
2132
|
+
__decorate14([
|
|
1991
2133
|
Watch11({ emit: false, converter: PropertyConverters11.Number })
|
|
1992
2134
|
], PacemCylinderElement.prototype, "heightSegments", void 0);
|
|
1993
|
-
|
|
2135
|
+
__decorate14([
|
|
1994
2136
|
Watch11({ emit: false, converter: PropertyConverters11.Number })
|
|
1995
2137
|
], PacemCylinderElement.prototype, "capSegments", void 0);
|
|
1996
|
-
PacemCylinderElement = PacemCylinderElement_1 =
|
|
2138
|
+
PacemCylinderElement = PacemCylinderElement_1 = __decorate14([
|
|
1997
2139
|
CustomElement10({ tagName: P10 + "-" + TAG_MIDDLE_NAME + "-primitive-cylinder" })
|
|
1998
2140
|
], PacemCylinderElement);
|
|
1999
2141
|
|
|
2000
2142
|
// packages/3d/dist/esm/primitives/line.js
|
|
2001
2143
|
import { CustomElement as CustomElement11, P as P11, Watch as Watch12, PropertyConverters as PropertyConverters12 } from "@pacem/pacem-core";
|
|
2002
|
-
var
|
|
2144
|
+
var __decorate15 = function(decorators, target, key, desc) {
|
|
2003
2145
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2004
2146
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2005
2147
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -2025,17 +2167,17 @@ var PacemLineElement = PacemLineElement_1 = class PacemLineElement2 extends Pace
|
|
|
2025
2167
|
}
|
|
2026
2168
|
}
|
|
2027
2169
|
};
|
|
2028
|
-
|
|
2170
|
+
__decorate15([
|
|
2029
2171
|
Watch12({ emit: false, converter: PropertyConverters12.Json })
|
|
2030
2172
|
], PacemLineElement.prototype, "positions", void 0);
|
|
2031
|
-
PacemLineElement = PacemLineElement_1 =
|
|
2173
|
+
PacemLineElement = PacemLineElement_1 = __decorate15([
|
|
2032
2174
|
CustomElement11({ tagName: P11 + "-" + TAG_MIDDLE_NAME + "-primitive-line" })
|
|
2033
2175
|
], PacemLineElement);
|
|
2034
2176
|
|
|
2035
2177
|
// packages/3d/dist/esm/primitives/plane.js
|
|
2036
2178
|
import { CustomElement as CustomElement12, P as P12, Watch as Watch13, PropertyConverters as PropertyConverters13 } from "@pacem/pacem-core";
|
|
2037
2179
|
import { Geometry as Geometry3 } from "@pacem/pacem-numerical";
|
|
2038
|
-
var
|
|
2180
|
+
var __decorate16 = function(decorators, target, key, desc) {
|
|
2039
2181
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2040
2182
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2041
2183
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -2102,26 +2244,26 @@ var PacemPlaneElement = PacemPlaneElement_1 = class PacemPlaneElement2 extends P
|
|
|
2102
2244
|
}
|
|
2103
2245
|
}
|
|
2104
2246
|
};
|
|
2105
|
-
|
|
2247
|
+
__decorate16([
|
|
2106
2248
|
Watch13({ emit: false, converter: PropertyConverters13.Number })
|
|
2107
2249
|
], PacemPlaneElement.prototype, "width", void 0);
|
|
2108
|
-
|
|
2250
|
+
__decorate16([
|
|
2109
2251
|
Watch13({ emit: false, converter: PropertyConverters13.Number })
|
|
2110
2252
|
], PacemPlaneElement.prototype, "length", void 0);
|
|
2111
|
-
|
|
2253
|
+
__decorate16([
|
|
2112
2254
|
Watch13({ emit: false, converter: PropertyConverters13.Number })
|
|
2113
2255
|
], PacemPlaneElement.prototype, "widthSegments", void 0);
|
|
2114
|
-
|
|
2256
|
+
__decorate16([
|
|
2115
2257
|
Watch13({ emit: false, converter: PropertyConverters13.Number })
|
|
2116
2258
|
], PacemPlaneElement.prototype, "lengthSegments", void 0);
|
|
2117
|
-
PacemPlaneElement = PacemPlaneElement_1 =
|
|
2259
|
+
PacemPlaneElement = PacemPlaneElement_1 = __decorate16([
|
|
2118
2260
|
CustomElement12({ tagName: P12 + "-" + TAG_MIDDLE_NAME + "-primitive-plane" })
|
|
2119
2261
|
], PacemPlaneElement);
|
|
2120
2262
|
|
|
2121
2263
|
// packages/3d/dist/esm/primitives/polyhedra.js
|
|
2122
2264
|
import { CustomElement as CustomElement13, P as P13, Watch as Watch14, PropertyConverters as PropertyConverters14 } from "@pacem/pacem-core";
|
|
2123
2265
|
import { Geometry as Geometry4 } from "@pacem/pacem-numerical";
|
|
2124
|
-
var
|
|
2266
|
+
var __decorate17 = function(decorators, target, key, desc) {
|
|
2125
2267
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2126
2268
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2127
2269
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -2163,7 +2305,7 @@ var PolyhedronElement = class extends Pacem3DPrimitiveElement {
|
|
|
2163
2305
|
return this.createMeshGeometry(1);
|
|
2164
2306
|
}
|
|
2165
2307
|
};
|
|
2166
|
-
|
|
2308
|
+
__decorate17([
|
|
2167
2309
|
Watch14({ emit: false, converter: PropertyConverters14.Number })
|
|
2168
2310
|
], PolyhedronElement.prototype, "radius", void 0);
|
|
2169
2311
|
var PacemTetrahedronElement = PacemTetrahedronElement_1 = class PacemTetrahedronElement2 extends PolyhedronElement {
|
|
@@ -2198,7 +2340,7 @@ var PacemTetrahedronElement = PacemTetrahedronElement_1 = class PacemTetrahedron
|
|
|
2198
2340
|
return PacemTetrahedronElement_1.createMeshGeometry(radius);
|
|
2199
2341
|
}
|
|
2200
2342
|
};
|
|
2201
|
-
PacemTetrahedronElement = PacemTetrahedronElement_1 =
|
|
2343
|
+
PacemTetrahedronElement = PacemTetrahedronElement_1 = __decorate17([
|
|
2202
2344
|
CustomElement13({ tagName: P13 + "-" + TAG_MIDDLE_NAME + "-primitive-tetrahedron" })
|
|
2203
2345
|
], PacemTetrahedronElement);
|
|
2204
2346
|
var PacemOctahedronElement = PacemOctahedronElement_1 = class PacemOctahedronElement2 extends PolyhedronElement {
|
|
@@ -2233,7 +2375,7 @@ var PacemOctahedronElement = PacemOctahedronElement_1 = class PacemOctahedronEle
|
|
|
2233
2375
|
return PacemOctahedronElement_1.createMeshGeometry(radius);
|
|
2234
2376
|
}
|
|
2235
2377
|
};
|
|
2236
|
-
PacemOctahedronElement = PacemOctahedronElement_1 =
|
|
2378
|
+
PacemOctahedronElement = PacemOctahedronElement_1 = __decorate17([
|
|
2237
2379
|
CustomElement13({ tagName: P13 + "-" + TAG_MIDDLE_NAME + "-primitive-octahedron" })
|
|
2238
2380
|
], PacemOctahedronElement);
|
|
2239
2381
|
var PacemHexahedronElement = PacemHexahedronElement_1 = class PacemHexahedronElement2 extends PolyhedronElement {
|
|
@@ -2250,7 +2392,7 @@ var PacemHexahedronElement = PacemHexahedronElement_1 = class PacemHexahedronEle
|
|
|
2250
2392
|
return PacemHexahedronElement_1.createMeshGeometry(radius);
|
|
2251
2393
|
}
|
|
2252
2394
|
};
|
|
2253
|
-
PacemHexahedronElement = PacemHexahedronElement_1 =
|
|
2395
|
+
PacemHexahedronElement = PacemHexahedronElement_1 = __decorate17([
|
|
2254
2396
|
CustomElement13({ tagName: P13 + "-" + TAG_MIDDLE_NAME + "-primitive-hexahedron" })
|
|
2255
2397
|
], PacemHexahedronElement);
|
|
2256
2398
|
var PacemIcosahedronElement = PacemIcosahedronElement_1 = class PacemIcosahedronElement2 extends PolyhedronElement {
|
|
@@ -2407,7 +2549,7 @@ var PacemIcosahedronElement = PacemIcosahedronElement_1 = class PacemIcosahedron
|
|
|
2407
2549
|
return PacemIcosahedronElement_1.createMeshGeometry(radius);
|
|
2408
2550
|
}
|
|
2409
2551
|
};
|
|
2410
|
-
PacemIcosahedronElement = PacemIcosahedronElement_1 =
|
|
2552
|
+
PacemIcosahedronElement = PacemIcosahedronElement_1 = __decorate17([
|
|
2411
2553
|
CustomElement13({ tagName: P13 + "-" + TAG_MIDDLE_NAME + "-primitive-icosahedron" })
|
|
2412
2554
|
], PacemIcosahedronElement);
|
|
2413
2555
|
var PacemDodecahedronElement = PacemDodecahedronElement_1 = class PacemDodecahedronElement2 extends PolyhedronElement {
|
|
@@ -2723,13 +2865,13 @@ var PacemDodecahedronElement = PacemDodecahedronElement_1 = class PacemDodecahed
|
|
|
2723
2865
|
return PacemDodecahedronElement_1.createMeshGeometry(radius);
|
|
2724
2866
|
}
|
|
2725
2867
|
};
|
|
2726
|
-
PacemDodecahedronElement = PacemDodecahedronElement_1 =
|
|
2868
|
+
PacemDodecahedronElement = PacemDodecahedronElement_1 = __decorate17([
|
|
2727
2869
|
CustomElement13({ tagName: P13 + "-" + TAG_MIDDLE_NAME + "-primitive-dodecahedron" })
|
|
2728
2870
|
], PacemDodecahedronElement);
|
|
2729
2871
|
|
|
2730
2872
|
// packages/3d/dist/esm/primitives/sphere.js
|
|
2731
2873
|
import { CustomElement as CustomElement14, P as P14, Watch as Watch15, PropertyConverters as PropertyConverters15 } from "@pacem/pacem-core";
|
|
2732
|
-
var
|
|
2874
|
+
var __decorate18 = function(decorators, target, key, desc) {
|
|
2733
2875
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2734
2876
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2735
2877
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -2820,19 +2962,19 @@ var PacemSphereElement = PacemSphereElement_1 = class PacemSphereElement2 extend
|
|
|
2820
2962
|
}
|
|
2821
2963
|
}
|
|
2822
2964
|
};
|
|
2823
|
-
|
|
2965
|
+
__decorate18([
|
|
2824
2966
|
Watch15({ emit: false, converter: PropertyConverters15.Number })
|
|
2825
2967
|
], PacemSphereElement.prototype, "radius", void 0);
|
|
2826
|
-
|
|
2968
|
+
__decorate18([
|
|
2827
2969
|
Watch15({ emit: false, converter: PropertyConverters15.Number })
|
|
2828
2970
|
], PacemSphereElement.prototype, "segments", void 0);
|
|
2829
|
-
PacemSphereElement = PacemSphereElement_1 =
|
|
2971
|
+
PacemSphereElement = PacemSphereElement_1 = __decorate18([
|
|
2830
2972
|
CustomElement14({ tagName: P14 + "-" + TAG_MIDDLE_NAME + "-primitive-sphere" })
|
|
2831
2973
|
], PacemSphereElement);
|
|
2832
2974
|
|
|
2833
2975
|
// packages/3d/dist/esm/primitives/torus.js
|
|
2834
2976
|
import { CustomElement as CustomElement15, P as P15, Watch as Watch16, PropertyConverters as PropertyConverters16 } from "@pacem/pacem-core";
|
|
2835
|
-
var
|
|
2977
|
+
var __decorate19 = function(decorators, target, key, desc) {
|
|
2836
2978
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2837
2979
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2838
2980
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -2901,28 +3043,28 @@ var PacemTorusElement = PacemTorusElement_1 = class PacemTorusElement2 extends P
|
|
|
2901
3043
|
}
|
|
2902
3044
|
}
|
|
2903
3045
|
};
|
|
2904
|
-
|
|
3046
|
+
__decorate19([
|
|
2905
3047
|
Watch16({ emit: false, converter: PropertyConverters16.Number })
|
|
2906
3048
|
], PacemTorusElement.prototype, "radius", void 0);
|
|
2907
|
-
|
|
3049
|
+
__decorate19([
|
|
2908
3050
|
Watch16({ emit: false, converter: PropertyConverters16.Number })
|
|
2909
3051
|
], PacemTorusElement.prototype, "innerRadius", void 0);
|
|
2910
|
-
|
|
3052
|
+
__decorate19([
|
|
2911
3053
|
Watch16({ emit: false, converter: PropertyConverters16.Number })
|
|
2912
3054
|
], PacemTorusElement.prototype, "segments", void 0);
|
|
2913
|
-
|
|
3055
|
+
__decorate19([
|
|
2914
3056
|
Watch16({ emit: false, converter: PropertyConverters16.Number })
|
|
2915
3057
|
], PacemTorusElement.prototype, "sides", void 0);
|
|
2916
|
-
PacemTorusElement = PacemTorusElement_1 =
|
|
3058
|
+
PacemTorusElement = PacemTorusElement_1 = __decorate19([
|
|
2917
3059
|
CustomElement15({ tagName: P15 + "-" + TAG_MIDDLE_NAME + "-primitive-torus" })
|
|
2918
3060
|
], PacemTorusElement);
|
|
2919
3061
|
|
|
2920
3062
|
// packages/3d/dist/esm/adapters/shared.js
|
|
2921
3063
|
import { CustomEventUtils, Utils as Utils12 } from "@pacem/pacem-core";
|
|
2922
|
-
import { Point } from "@pacem/pacem-foundation";
|
|
3064
|
+
import { Point as Point2 } from "@pacem/pacem-foundation";
|
|
2923
3065
|
function _clipPoint(evt, rect) {
|
|
2924
3066
|
let x, y;
|
|
2925
|
-
if (
|
|
3067
|
+
if (Point2.isPoint(evt)) {
|
|
2926
3068
|
x = evt.x;
|
|
2927
3069
|
y = evt.y;
|
|
2928
3070
|
} else {
|
|
@@ -2984,7 +3126,7 @@ var AdapterUtils = class _AdapterUtils {
|
|
|
2984
3126
|
import { CustomElement as CustomElement16, P as P16, Watch as Watch17, PropertyConverters as PropertyConverters17, Utils as Utils13, CustomElementUtils as CustomElementUtils2 } from "@pacem/pacem-core";
|
|
2985
3127
|
import { Colors } from "@pacem/pacem-foundation";
|
|
2986
3128
|
import { Geometry as Geometry5 } from "@pacem/pacem-numerical";
|
|
2987
|
-
var
|
|
3129
|
+
var __decorate20 = function(decorators, target, key, desc) {
|
|
2988
3130
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2989
3131
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2990
3132
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -3577,10 +3719,10 @@ var Pacem3DThreeAdapterElement = class Pacem3DThreeAdapterElement2 extends Pacem
|
|
|
3577
3719
|
}
|
|
3578
3720
|
}
|
|
3579
3721
|
};
|
|
3580
|
-
|
|
3722
|
+
__decorate20([
|
|
3581
3723
|
Watch17({ emit: false, converter: PropertyConverters17.Boolean })
|
|
3582
3724
|
], Pacem3DThreeAdapterElement.prototype, "orbit", void 0);
|
|
3583
|
-
Pacem3DThreeAdapterElement =
|
|
3725
|
+
Pacem3DThreeAdapterElement = __decorate20([
|
|
3584
3726
|
CustomElement16({ tagName: P16 + "-3d-three-adapter" })
|
|
3585
3727
|
], Pacem3DThreeAdapterElement);
|
|
3586
3728
|
|
|
@@ -7124,7 +7266,7 @@ var RendererClass = class {
|
|
|
7124
7266
|
};
|
|
7125
7267
|
|
|
7126
7268
|
// packages/3d/dist/esm/adapters/webgpu/webgpuadapter.js
|
|
7127
|
-
var
|
|
7269
|
+
var __decorate21 = function(decorators, target, key, desc) {
|
|
7128
7270
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7129
7271
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7130
7272
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -7174,13 +7316,13 @@ var Pacem3DWgslScriptElement = class Pacem3DWgslScriptElement2 extends Component
|
|
|
7174
7316
|
super.disconnectedCallback();
|
|
7175
7317
|
}
|
|
7176
7318
|
};
|
|
7177
|
-
|
|
7319
|
+
__decorate21([
|
|
7178
7320
|
Watch18({ emit: false, converter: PropertyConverters18.String })
|
|
7179
7321
|
], Pacem3DWgslScriptElement.prototype, "type", void 0);
|
|
7180
|
-
|
|
7322
|
+
__decorate21([
|
|
7181
7323
|
Watch18({ emit: false, converter: PropertyConverters18.String })
|
|
7182
7324
|
], Pacem3DWgslScriptElement.prototype, "wgsl", void 0);
|
|
7183
|
-
Pacem3DWgslScriptElement =
|
|
7325
|
+
Pacem3DWgslScriptElement = __decorate21([
|
|
7184
7326
|
CustomElement17({ tagName: P18 + "-3d-wgsl-script" })
|
|
7185
7327
|
], Pacem3DWgslScriptElement);
|
|
7186
7328
|
var Pacem3DWebgpuAdapterElement = class Pacem3DWebgpuAdapterElement2 extends Pacem3DAdapterElement {
|
|
@@ -7412,23 +7554,23 @@ var Pacem3DWebgpuAdapterElement = class Pacem3DWebgpuAdapterElement2 extends Pac
|
|
|
7412
7554
|
return stage;
|
|
7413
7555
|
}
|
|
7414
7556
|
};
|
|
7415
|
-
|
|
7557
|
+
__decorate21([
|
|
7416
7558
|
Debounce(100)
|
|
7417
7559
|
], Pacem3DWebgpuAdapterElement.prototype, "_parseWgslModifiers", null);
|
|
7418
|
-
|
|
7560
|
+
__decorate21([
|
|
7419
7561
|
Watch18({ emit: false })
|
|
7420
7562
|
], Pacem3DWebgpuAdapterElement.prototype, "modifiers", void 0);
|
|
7421
|
-
|
|
7563
|
+
__decorate21([
|
|
7422
7564
|
Watch18({ emit: false, converter: PropertyConverters18.Boolean })
|
|
7423
7565
|
], Pacem3DWebgpuAdapterElement.prototype, "enableValidation", void 0);
|
|
7424
|
-
Pacem3DWebgpuAdapterElement =
|
|
7566
|
+
Pacem3DWebgpuAdapterElement = __decorate21([
|
|
7425
7567
|
CustomElement17({ tagName: P18 + "-3d-webgpu-adapter" })
|
|
7426
7568
|
], Pacem3DWebgpuAdapterElement);
|
|
7427
7569
|
|
|
7428
7570
|
// packages/3d/dist/esm/adapters/webgpu/behaviors/orbit-camera.js
|
|
7429
7571
|
import { CustomElement as CustomElement18, P as P19, Watch as Watch19, PropertyConverters as PropertyConverters19, Utils as Utils28, CustomEventUtils as CustomEventUtils2, avoidHandler, Behaviors, PropertyChangeEventName as PropertyChangeEventName3 } from "@pacem/pacem-core";
|
|
7430
7572
|
import { Geometry as Geometry9 } from "@pacem/pacem-numerical";
|
|
7431
|
-
var
|
|
7573
|
+
var __decorate22 = function(decorators, target, key, desc) {
|
|
7432
7574
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7433
7575
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7434
7576
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -7753,177 +7895,33 @@ var PacemOrbitCameraBehaviorElement = class PacemOrbitCameraBehaviorElement2 ext
|
|
|
7753
7895
|
}
|
|
7754
7896
|
}
|
|
7755
7897
|
};
|
|
7756
|
-
|
|
7898
|
+
__decorate22([
|
|
7757
7899
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7758
7900
|
], PacemOrbitCameraBehaviorElement.prototype, "maxAzimuth", void 0);
|
|
7759
|
-
|
|
7901
|
+
__decorate22([
|
|
7760
7902
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7761
7903
|
], PacemOrbitCameraBehaviorElement.prototype, "maxPolar", void 0);
|
|
7762
|
-
|
|
7904
|
+
__decorate22([
|
|
7763
7905
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7764
7906
|
], PacemOrbitCameraBehaviorElement.prototype, "minAzimuth", void 0);
|
|
7765
|
-
|
|
7907
|
+
__decorate22([
|
|
7766
7908
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7767
7909
|
], PacemOrbitCameraBehaviorElement.prototype, "minPolar", void 0);
|
|
7768
|
-
|
|
7910
|
+
__decorate22([
|
|
7769
7911
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7770
7912
|
], PacemOrbitCameraBehaviorElement.prototype, "zoomControl", void 0);
|
|
7771
|
-
|
|
7913
|
+
__decorate22([
|
|
7772
7914
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7773
7915
|
], PacemOrbitCameraBehaviorElement.prototype, "rotationControl", void 0);
|
|
7774
|
-
|
|
7916
|
+
__decorate22([
|
|
7775
7917
|
Watch19({ emit: false, converter: PropertyConverters19.Number })
|
|
7776
7918
|
], PacemOrbitCameraBehaviorElement.prototype, "panControl", void 0);
|
|
7777
|
-
|
|
7919
|
+
__decorate22([
|
|
7778
7920
|
Watch19({ emit: false, converter: BooleanOrNumberConverter })
|
|
7779
7921
|
], PacemOrbitCameraBehaviorElement.prototype, "inertia", void 0);
|
|
7780
|
-
PacemOrbitCameraBehaviorElement =
|
|
7922
|
+
PacemOrbitCameraBehaviorElement = __decorate22([
|
|
7781
7923
|
CustomElement18({ tagName: P19 + "-" + TAG_MIDDLE_NAME + "-orbit-camera" })
|
|
7782
7924
|
], PacemOrbitCameraBehaviorElement);
|
|
7783
|
-
|
|
7784
|
-
// packages/3d/dist/esm/index-drawing3d.js
|
|
7785
|
-
var index_drawing3d_exports = {};
|
|
7786
|
-
__export(index_drawing3d_exports, {
|
|
7787
|
-
BooleanOrNumberConverter: () => BooleanOrNumberConverter,
|
|
7788
|
-
DragEvent: () => DragEvent,
|
|
7789
|
-
KnownShader: () => KnownShader,
|
|
7790
|
-
LineGeometry: () => LineGeometry,
|
|
7791
|
-
MaterialElement: () => MaterialElement,
|
|
7792
|
-
MeshGeometry: () => MeshGeometry,
|
|
7793
|
-
NodeGeometry: () => NodeGeometry,
|
|
7794
|
-
NotifyChange: () => NotifyChange,
|
|
7795
|
-
Pacem3DAdapterElement: () => Pacem3DAdapterElement,
|
|
7796
|
-
Pacem3DCameraElement: () => Pacem3DCameraElement,
|
|
7797
|
-
Pacem3DGroupElement: () => Pacem3DGroupElement,
|
|
7798
|
-
Pacem3DLightElement: () => Pacem3DLightElement,
|
|
7799
|
-
Pacem3DMeshElement: () => Pacem3DMeshElement,
|
|
7800
|
-
Pacem3DObjectElement: () => Pacem3DObjectElement,
|
|
7801
|
-
Pacem3DOrthographicCameraElement: () => Pacem3DOrthographicCameraElement,
|
|
7802
|
-
Pacem3DPerspectiveCameraElement: () => Pacem3DPerspectiveCameraElement,
|
|
7803
|
-
Point3DConverter: () => Point3DConverter,
|
|
7804
|
-
Point3DOrNumberConverter: () => Point3DOrNumberConverter,
|
|
7805
|
-
QuaternionConverter: () => QuaternionConverter,
|
|
7806
|
-
RenderableElement: () => RenderableElement,
|
|
7807
|
-
RenderableEvent: () => RenderableEvent,
|
|
7808
|
-
StalePropertyFlag: () => StalePropertyFlag,
|
|
7809
|
-
UI3DEvent: () => UI3DEvent,
|
|
7810
|
-
Ui3DElement: () => Ui3DElement,
|
|
7811
|
-
computePlaneNormal: () => computePlaneNormal,
|
|
7812
|
-
computeSharpVertexNormals: () => computeSharpVertexNormals,
|
|
7813
|
-
isBasicMaterial: () => isBasicMaterial,
|
|
7814
|
-
isCamera: () => isCamera,
|
|
7815
|
-
isGeometry: () => isGeometry,
|
|
7816
|
-
isGroup: () => isGroup,
|
|
7817
|
-
isInteraction: () => isInteraction,
|
|
7818
|
-
isLambertMaterial: () => isLambertMaterial,
|
|
7819
|
-
isLight: () => isLight,
|
|
7820
|
-
isLineMaterial: () => isLineMaterial,
|
|
7821
|
-
isMaterial: () => isMaterial,
|
|
7822
|
-
isMesh: () => isMesh,
|
|
7823
|
-
isMeshGeometry: () => isMeshGeometry,
|
|
7824
|
-
isOrthographicCamera: () => isOrthographicCamera,
|
|
7825
|
-
isPerspectiveCamera: () => isPerspectiveCamera,
|
|
7826
|
-
isPhongMaterial: () => isPhongMaterial,
|
|
7827
|
-
isRenderable: () => isRenderable,
|
|
7828
|
-
isShaderMaterial: () => isShaderMaterial,
|
|
7829
|
-
isStage: () => isStage,
|
|
7830
|
-
isStandardMaterial: () => isStandardMaterial,
|
|
7831
|
-
isUi3DObject: () => isUi3DObject
|
|
7832
|
-
});
|
|
7833
|
-
|
|
7834
|
-
// packages/3d/dist/esm/parsers/parser.js
|
|
7835
|
-
import { Transformer } from "@pacem/pacem-core";
|
|
7836
|
-
import { Point as Point2 } from "@pacem/pacem-foundation";
|
|
7837
|
-
var __decorate22 = function(decorators, target, key, desc) {
|
|
7838
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7839
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
7840
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
7841
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7842
|
-
};
|
|
7843
|
-
var OBJParser = class {
|
|
7844
|
-
/**
|
|
7845
|
-
* Parses `v` (vertex), `vt` (texture coordinate), `vn` (normal) and `f` (face) records out of `content`,
|
|
7846
|
-
* triangulating any face with more than 3 vertices (fan triangulation).
|
|
7847
|
-
*/
|
|
7848
|
-
static parse(content) {
|
|
7849
|
-
const vertices = [];
|
|
7850
|
-
const vParser = /^v((\s+-?[\d\.]+){3})/gm;
|
|
7851
|
-
let arr = vParser.exec(content);
|
|
7852
|
-
while (arr && arr.length) {
|
|
7853
|
-
vertices.push(Point3DConverter.convert(arr[1]));
|
|
7854
|
-
arr = vParser.exec(content);
|
|
7855
|
-
}
|
|
7856
|
-
const vt = [];
|
|
7857
|
-
const tParser = /^vt((\s+-?[\d\.]+){2})/gm;
|
|
7858
|
-
arr = tParser.exec(content);
|
|
7859
|
-
while (arr && arr.length) {
|
|
7860
|
-
vt.push(Point2.parse(arr[1]));
|
|
7861
|
-
arr = tParser.exec(content);
|
|
7862
|
-
}
|
|
7863
|
-
const vn = [];
|
|
7864
|
-
const nParser = /^vn((\s+-?[\d\.]+){3})/gm;
|
|
7865
|
-
arr = nParser.exec(content);
|
|
7866
|
-
while (arr && arr.length) {
|
|
7867
|
-
vn.push(Point3DConverter.convert(arr[1]));
|
|
7868
|
-
arr = nParser.exec(content);
|
|
7869
|
-
}
|
|
7870
|
-
const normals = [];
|
|
7871
|
-
const uv = [];
|
|
7872
|
-
const positions = [];
|
|
7873
|
-
const fParser = /^f((\s+([\d]+\/[\d]+\/[\d]+)){3,})/gm;
|
|
7874
|
-
arr = fParser.exec(content);
|
|
7875
|
-
while (arr && arr.length) {
|
|
7876
|
-
const fjParser = /([\d]+)\/([\d]+)\/([\d]+)/g;
|
|
7877
|
-
const face = arr[1];
|
|
7878
|
-
let jArr = fjParser.exec(face);
|
|
7879
|
-
let jIndex = 0;
|
|
7880
|
-
var vIndex0, tIndex0, nIndex0;
|
|
7881
|
-
var vIndex, tIndex, nIndex;
|
|
7882
|
-
while (jArr && jArr.length) {
|
|
7883
|
-
if (jIndex > 2) {
|
|
7884
|
-
positions.push(vIndex0);
|
|
7885
|
-
uv.push(vt[tIndex0]);
|
|
7886
|
-
normals.push(vn[nIndex0]);
|
|
7887
|
-
positions.push(vIndex);
|
|
7888
|
-
uv.push(vt[tIndex]);
|
|
7889
|
-
normals.push(vn[nIndex]);
|
|
7890
|
-
}
|
|
7891
|
-
vIndex = parseInt(jArr[1]) - 1;
|
|
7892
|
-
tIndex = parseInt(jArr[2]) - 1;
|
|
7893
|
-
nIndex = parseInt(jArr[3]) - 1;
|
|
7894
|
-
positions.push(vIndex);
|
|
7895
|
-
uv.push(vt[tIndex]);
|
|
7896
|
-
normals.push(vn[nIndex]);
|
|
7897
|
-
if (jIndex === 0) {
|
|
7898
|
-
vIndex0 = vIndex;
|
|
7899
|
-
tIndex0 = tIndex;
|
|
7900
|
-
nIndex0 = nIndex;
|
|
7901
|
-
}
|
|
7902
|
-
jIndex++;
|
|
7903
|
-
jArr = fjParser.exec(face);
|
|
7904
|
-
}
|
|
7905
|
-
arr = fParser.exec(content);
|
|
7906
|
-
}
|
|
7907
|
-
return new MeshGeometry(vertices, positions, uv, normals);
|
|
7908
|
-
}
|
|
7909
|
-
};
|
|
7910
|
-
var Parser3D = class {
|
|
7911
|
-
/**
|
|
7912
|
-
* Parses `content` according to `type` into a {@link NodeGeometry} (currently only the `'obj'` Wavefront format,
|
|
7913
|
-
* via {@link OBJParser}) or a {@link Material}. Throws for any other/unsupported `type` (e.g. `'mtl'`, not yet implemented).
|
|
7914
|
-
*/
|
|
7915
|
-
static parseGeometry(content, type) {
|
|
7916
|
-
switch (type.toLowerCase()) {
|
|
7917
|
-
case "obj":
|
|
7918
|
-
return OBJParser.parse(content);
|
|
7919
|
-
default:
|
|
7920
|
-
throw new Error(`Type '${type}' is not supported.`);
|
|
7921
|
-
}
|
|
7922
|
-
}
|
|
7923
|
-
};
|
|
7924
|
-
__decorate22([
|
|
7925
|
-
Transformer("parse3D")
|
|
7926
|
-
], Parser3D, "parseGeometry", null);
|
|
7927
7925
|
export {
|
|
7928
7926
|
index_components_exports as Components,
|
|
7929
7927
|
index_drawing3d_exports as Drawing3D
|