abstract-3d 0.6.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/abstract-3d.d.ts +4 -0
- package/lib/abstract-3d.d.ts.map +1 -1
- package/lib/abstract-3d.js +10 -8
- package/lib/abstract-3d.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/renderers/dxf/color.d.ts +3 -1
- package/lib/renderers/dxf/color.d.ts.map +1 -1
- package/lib/renderers/dxf/color.js +299 -1
- package/lib/renderers/dxf/color.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding.d.ts +12 -4
- package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-encoding.js +18323 -223
- package/lib/renderers/dxf/dxf-encoding.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +3 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js +7 -7
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +3 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +3 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +3 -3
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +3 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +3 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +5 -5
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +3 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +5 -5
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
- package/lib/renderers/dxf/dxf.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf.js +22 -14
- package/lib/renderers/dxf/dxf.js.map +1 -1
- package/lib/renderers/react/react-camera.d.ts.map +1 -1
- package/lib/renderers/react/react-camera.js +24 -24
- package/lib/renderers/react/react-camera.js.map +1 -1
- package/lib/renderers/react/react-hotspot.js +1 -1
- package/lib/renderers/react/react-hotspot.js.map +1 -1
- package/lib/renderers/react/react-material.d.ts +2 -1
- package/lib/renderers/react/react-material.d.ts.map +1 -1
- package/lib/renderers/react/react-material.js +10 -3
- package/lib/renderers/react/react-material.js.map +1 -1
- package/lib/renderers/react/react-scene.d.ts.map +1 -1
- package/lib/renderers/react/react-scene.js +1 -2
- package/lib/renderers/react/react-scene.js.map +1 -1
- package/lib/renderers/step/step-encoding.d.ts.map +1 -1
- package/lib/renderers/step/step.d.ts.map +1 -1
- package/lib/renderers/stl/stl-encoding.d.ts.map +1 -1
- package/lib/renderers/stl/stl.d.ts.map +1 -1
- package/lib/renderers/svg/svg-encoding.d.ts.map +1 -1
- package/lib/renderers/svg/svg-encoding.js +13 -4
- package/lib/renderers/svg/svg-encoding.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -1
- package/lib/renderers/svg/svg.d.ts +1 -1
- package/lib/renderers/svg/svg.d.ts.map +1 -1
- package/lib/renderers/svg/svg.js +4 -2
- package/lib/renderers/svg/svg.js.map +1 -1
- package/package.json +6 -6
- package/src/abstract-3d.ts +18 -9
- package/src/index.ts +1 -0
- package/src/renderers/dxf/color.ts +304 -1
- package/src/renderers/dxf/dxf-encoding.ts +18331 -226
- package/src/renderers/dxf/dxf-geometries/dxf-box.ts +7 -7
- package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +2 -2
- package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +3 -3
- package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +3 -2
- package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +5 -5
- package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +5 -5
- package/src/renderers/dxf/dxf.ts +23 -15
- package/src/renderers/react/react-camera.tsx +28 -28
- package/src/renderers/react/react-hotspot.tsx +1 -1
- package/src/renderers/react/react-material.tsx +12 -2
- package/src/renderers/react/react-scene.tsx +1 -3
- package/src/renderers/svg/svg-encoding.ts +14 -12
- package/src/renderers/svg/svg.ts +7 -2
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import { Material } from "../../abstract-3d.js";
|
|
3
3
|
export type MaterialState = "Accept" | "Error" | "Warning";
|
|
4
4
|
export declare const ERROR_IMG_KEY = "error";
|
|
5
|
-
export declare function ReactMaterial({ material, id, selectedId, hoveredId, disabled, materialStateImages, state, isText, }: {
|
|
5
|
+
export declare function ReactMaterial({ material, id, selectedId, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }: {
|
|
6
6
|
readonly material: Material;
|
|
7
7
|
readonly id?: string;
|
|
8
8
|
readonly hoveredId?: string | undefined;
|
|
@@ -11,5 +11,6 @@ export declare function ReactMaterial({ material, id, selectedId, hoveredId, dis
|
|
|
11
11
|
readonly materialStateImages?: Record<string, string>;
|
|
12
12
|
readonly state?: MaterialState | undefined;
|
|
13
13
|
readonly isText: boolean;
|
|
14
|
+
readonly isHotSpot?: boolean;
|
|
14
15
|
}): React.JSX.Element;
|
|
15
16
|
//# sourceMappingURL=react-material.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-material.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"react-material.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKhD,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3D,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,EAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgDpB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
2
|
import { suspend } from "suspend-react";
|
|
3
3
|
import { DoubleSide, SRGBColorSpace, TextureLoader } from "three";
|
|
4
4
|
import { shade } from "../shared.js";
|
|
5
5
|
const decreasedOpacity = 0.2;
|
|
6
6
|
export const ERROR_IMG_KEY = "error";
|
|
7
|
-
export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabled, materialStateImages, state, isText, }) {
|
|
7
|
+
export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabled, materialStateImages, state, isText, isHotSpot, }) {
|
|
8
8
|
const mat = !state || material.image?.type === "UrlImage"
|
|
9
9
|
? material
|
|
10
10
|
: state === "Accept"
|
|
@@ -26,7 +26,7 @@ export function ReactMaterial({ material, id = "", selectedId, hoveredId, disabl
|
|
|
26
26
|
if (isText) {
|
|
27
27
|
return (React.createElement("meshBasicMaterial", { color: color, side: DoubleSide, transparent: true, ...(opacity < 1 ? { opacity } : materialDefaults) }));
|
|
28
28
|
}
|
|
29
|
-
return (React.createElement("meshStandardMaterial", { color: color, roughness: mat.roughness, metalness: mat.metalness, side: DoubleSide, ...(opacity < 1 || disabled
|
|
29
|
+
return (React.createElement("meshStandardMaterial", { color: color, roughness: mat.roughness, metalness: mat.metalness, side: DoubleSide, ...((opacity < 1 || disabled) && !isHotSpot
|
|
30
30
|
? { transparent: true, opacity: disabled ? opacity * decreasedOpacity : opacity }
|
|
31
31
|
: materialDefaults) }));
|
|
32
32
|
}
|
|
@@ -35,6 +35,13 @@ function TextureMaterial({ url, color, material, }) {
|
|
|
35
35
|
data.colorSpace = SRGBColorSpace;
|
|
36
36
|
res(data);
|
|
37
37
|
}, undefined, () => res(null))), [url]);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
return () => {
|
|
40
|
+
if (texture) {
|
|
41
|
+
texture.dispose();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}, [texture]);
|
|
38
45
|
return (React.createElement("meshBasicMaterial", { color: color, side: DoubleSide, alphaTest: 0.8, map: texture, ...(material.opacity !== undefined && material.opacity < 1 ? { opacity: material.opacity } : materialDefaults), transparent: true }));
|
|
39
46
|
}
|
|
40
47
|
const textureLoader = new TextureLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-material.js","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"react-material.js","sourceRoot":"","sources":["../../../src/renderers/react/react-material.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-scene.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"react-scene.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,aAAa,GACd,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,KACrC,IAAI,CAAC;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC5B,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,KACR,IAAI,CAAC;IACV,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IACtH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,MAAM,CAAC;CAC/C,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsDpB"}
|
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
|
2
2
|
import { ReactHotSpots } from "./react-hotspot.js";
|
|
3
3
|
import { ReactDimensions } from "./react-dimension.js";
|
|
4
4
|
import { ReactGroup } from "./react-group.js";
|
|
5
|
-
// dummy 2
|
|
6
5
|
export function ReactScene({ scene, selectedId, hoveredIdExternal, activeHotSpots, activeComponents, hotSpotTexts, showHotSpotTexts, showDimensions, materialStateImages, onClickGroup, onContextMenuGroup, onClickHotSpot, createGroupKey, createGroupId, }) {
|
|
7
6
|
const [hoveredId, setHoveredId] = React.useState(undefined);
|
|
8
7
|
return (React.createElement("group", { rotation: [
|
|
@@ -16,7 +15,7 @@ export function ReactScene({ scene, selectedId, hoveredIdExternal, activeHotSpot
|
|
|
16
15
|
] },
|
|
17
16
|
scene.groups.map((g, i) => {
|
|
18
17
|
const id = createGroupId ? createGroupId(g) : "";
|
|
19
|
-
return (React.createElement(ReactGroup, { key: createGroupKey ? createGroupKey(g,
|
|
18
|
+
return (React.createElement(ReactGroup, { key: createGroupKey ? createGroupKey(g, 0, g.data, id) : i, g: g, selectedId: selectedId, hotSpotsActive: activeHotSpots !== undefined, activeComponents: activeComponents, materialStateImages: materialStateImages, hoveredId: hoveredId, hoveredIdExternal: hoveredIdExternal, onClickGroup: onClickGroup, onContextMenuGroup: onContextMenuGroup, setHoveredId: setHoveredId, createGroupKey: createGroupKey, id: id, rootData: g.data }));
|
|
20
19
|
}),
|
|
21
20
|
React.createElement(ReactDimensions, { dimensions: scene.dimensions_deprecated, showDimensions: showDimensions, sceneRotation: scene.rotation_deprecated, sceneCenter: scene.center_deprecated }),
|
|
22
21
|
React.createElement(ReactHotSpots, { hotSpots: scene.hotSpots_deprecated, hotSpotZAdjPos: scene.size_deprecated.z / 2, activeHotSpots: activeHotSpots, hotSpotTexts: hotSpotTexts, hoveredId: hoveredId, onClickHotSpot: onClickHotSpot, setHoveredId: setHoveredId, showHotSpotTexts: showHotSpotTexts })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-scene.js","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAe,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,
|
|
1
|
+
{"version":3,"file":"react-scene.js","sourceRoot":"","sources":["../../../src/renderers/react/react-scene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAe,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,aAAa,GA0Bd;IACC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAChF,OAAO,CACL,+BACE,QAAQ,EAAE;YACR,KAAK,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC;YACjC,KAAK,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC;YACjC,KAAK,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC;SAClC,EACD,QAAQ,EAAE;YACR,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;SACnC;QAEA,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,CACL,oBAAC,UAAU,IACT,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1D,CAAC,EAAE,CAAC,EACJ,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,KAAK,SAAS,EAC5C,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,CAAC,CAAC,IAAI,GAChB,CACH,CAAC;QACJ,CAAC,CAAC;QACF,oBAAC,eAAe,IACd,UAAU,EAAE,KAAK,CAAC,qBAAqB,EACvC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,KAAK,CAAC,mBAAmB,EACxC,WAAW,EAAE,KAAK,CAAC,iBAAiB,GACpC;QACF,oBAAC,aAAa,IACZ,QAAQ,EAAE,KAAK,CAAC,mBAAmB,EACnC,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAC3C,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,GAClC,CACI,CACT,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/step/step-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAetE,eAAO,MAAM,MAAM,QAAO,MAQpB,CAAC;AAEP,eAAO,MAAM,MAAM,QAAO,MAGR,CAAC;AAEnB,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"step-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/step/step-encoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/renderers/step/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuF,MAAM,sBAAsB,CAAC;AAelI,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../../src/renderers/step/step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuF,MAAM,sBAAsB,CAAC;AAelI,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,KAAG,MAkBrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stl-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/stl/stl-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"stl-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/stl/stl-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,sBAAsB,CAAC;AAErD,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,EAAE,MAAM,IAAI,EAAE,MAAM,IAAI,KAAG,MAehE,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,MAAM,CAEjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stl.d.ts","sourceRoot":"","sources":["../../../src/renderers/stl/stl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuD,MAAM,sBAAsB,CAAC;AAOlG,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"stl.d.ts","sourceRoot":"","sources":["../../../src/renderers/stl/stl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAuD,MAAM,sBAAsB,CAAC;AAOlG,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,KAAG,MAMlC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAsB,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,GAAG,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,EAAE,UAAU,MAAM,KAAG,MAIrE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGxB,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAI,QAAQ,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGrB,CAAC;AAExF,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,KAAG,MAGhC,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,GAAG,IAAI,EAAE,MAAM,MAAM,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAGxE,CAAC;AAErC,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,QAAQ,GAAI,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,KAAG,MAa/E,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export const svg = (width, height, children) =>
|
|
1
|
+
import { vec2, vec2Scale } from "../../abstract-3d.js";
|
|
2
|
+
export const svg = (width, height, children) => {
|
|
3
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width.toFixed(0)} ${height.toFixed(0)}" width="${width.toFixed(0)}px" height="${height.toFixed(0)}px">${children} </svg>`;
|
|
4
|
+
};
|
|
3
5
|
export const svgLine = (p1, p2, stroke, strokeWidth) => `<line x1="${p1.x.toFixed(0)}" y1="${p1.y.toFixed(0)}" x2="${p2.x.toFixed(0)}" y2="${p2.y.toFixed(0)}" stroke="${stroke}" stroke-width="${strokeWidth}" />`;
|
|
4
6
|
export const svgPolygon = (points, fill, stroke, strokeWidth) => `<polygon points="${points
|
|
5
7
|
.reduce((a, c) => (a += `${c.x.toFixed(0)},${c.y.toFixed(0)} `), "")
|
|
@@ -7,14 +9,21 @@ export const svgPolygon = (points, fill, stroke, strokeWidth) => `<polygon point
|
|
|
7
9
|
export const svgCircle = (radius, pos, fill, stroke, strokeWidth) => `<circle r="${radius.toFixed(0)}" cx="${pos.x.toFixed(0)}" cy="${pos.y.toFixed(0)}" fill="${fill}" stroke="${stroke}" stroke-width="${strokeWidth}" />`;
|
|
8
10
|
export const svgText = (p, text, rot, color, font, fontSize) => `<text font-family="${font}" font-size="${fontSize}px" text-anchor="middle" alignment-baseline="middle" fill="${color}" transform="${translate(p)} ${rotate(rot)}">${text}</text>`;
|
|
9
11
|
export const svgImage = (p, size, rot, data) => {
|
|
12
|
+
const rad = rot * (Math.PI / 180);
|
|
13
|
+
const cos = Math.abs(Math.cos(rad));
|
|
14
|
+
const sin = Math.abs(Math.sin(rad));
|
|
15
|
+
const newSize = vec2(size.x * cos + size.y * sin, size.x * sin + size.y * cos);
|
|
10
16
|
const half = vec2Scale(size, 0.5);
|
|
17
|
+
const originalCenter = vec2(size.x / 2, size.y / 2);
|
|
18
|
+
const rotatedCenter = vec2(newSize.x / 2, newSize.y / 2);
|
|
19
|
+
const rotatatedTranslationDelta = vec2(originalCenter.x - rotatedCenter.x, originalCenter.y - rotatedCenter.y);
|
|
11
20
|
return data.type === "url"
|
|
12
21
|
? `<image x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${rotate(rot)}" ${transformOrigin(p, half)} width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" href="${data.url}" />`
|
|
13
|
-
: `<svg width="${
|
|
14
|
-
|
|
22
|
+
: `<svg width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" transform="${translate(p)} ${rotateAtPos(rot, half)} ${translate(rotatatedTranslationDelta)}">${data.svg}</svg>
|
|
15
23
|
`;
|
|
16
24
|
};
|
|
17
25
|
const transformOrigin = (p, half) => `transform-origin="${(p.x + half.x).toFixed(0)}px ${(p.y + half.y).toFixed(0)}px"`;
|
|
18
26
|
const rotate = (rot) => `rotate(${rot.toFixed(0)})`;
|
|
27
|
+
const rotateAtPos = (rot, p) => `rotate(${rot.toFixed(0)}, ${p.x.toFixed(0)}, ${p.y.toFixed(0)})`;
|
|
19
28
|
const translate = (p) => `translate(${p.x.toFixed(0)}, ${p.y.toFixed(0)})`;
|
|
20
29
|
//# sourceMappingURL=svg-encoding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClF,eAAO,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClF,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,aAAsC,CAAC;AAE/F,eAAO,MAAM,IAAI,MAAM,CAAC;AACxB,eAAO,MAAM,GAAG,MAAM,CAAC;AAEvB,eAAO,MAAM,IAAI,oBAAoB,CAAC;AACtC,eAAO,MAAM,KAAK,uBAAuB,CAAC;AAC1C,eAAO,MAAM,WAAW,2BAA2B,CAAC;AACpD,eAAO,MAAM,KAAK,oBAAoB,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { Scene, View } from "../../abstract-3d.js";
|
|
|
2
2
|
export declare function toSvg(scene: Scene, view: View, stroke: number, scale?: {
|
|
3
3
|
readonly size: number;
|
|
4
4
|
readonly scaleByWidth: boolean;
|
|
5
|
-
}, onlyStroke?: boolean, grayScale?: boolean, onlyStrokeFill?: string, font?: string, buffers?: Record<string, string
|
|
5
|
+
}, onlyStroke?: boolean, grayScale?: boolean, onlyStrokeFill?: string, font?: string, buffers?: Record<string, string>, rotation?: number): {
|
|
6
6
|
readonly image: string;
|
|
7
7
|
readonly width: number;
|
|
8
8
|
readonly height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EACL,IAAI,EAUL,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EACL,IAAI,EAUL,MAAM,sBAAsB,CAAC;AAe9B,wBAAgB,KAAK,CACnB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,EACjE,UAAU,CAAC,EAAE,OAAO,EACpB,SAAS,CAAC,EAAE,OAAO,EACnB,cAAc,GAAE,MAA8B,EAC9C,IAAI,GAAE,MAAW,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA+D7E"}
|
package/lib/renderers/svg/svg.js
CHANGED
|
@@ -10,7 +10,8 @@ import { text } from "./svg-geometries/svg-text.js";
|
|
|
10
10
|
import { cone } from "./svg-geometries/svg-cone.js";
|
|
11
11
|
import { rotationForCameraPos, sizeCenterForCameraPos } from "../shared.js";
|
|
12
12
|
import { svg } from "./svg-encoding.js";
|
|
13
|
-
|
|
13
|
+
// dummy
|
|
14
|
+
export function toSvg(scene, view, stroke, scale, onlyStroke, grayScale, onlyStrokeFill = "rgba(255,255,255,0)", font = "", buffers, rotation) {
|
|
14
15
|
const factor = scale
|
|
15
16
|
? scale.size /
|
|
16
17
|
(scale.scaleByWidth
|
|
@@ -21,7 +22,8 @@ export function toSvg(scene, view, stroke, scale, onlyStroke, grayScale, onlyStr
|
|
|
21
22
|
? scene.size_deprecated.z
|
|
22
23
|
: scene.size_deprecated.y)
|
|
23
24
|
: 1;
|
|
24
|
-
const
|
|
25
|
+
const baseRot = vec3RotCombine(rotationForCameraPos(view), scene.rotation_deprecated ?? vec3Zero);
|
|
26
|
+
const unitRot = rotation ? vec3RotCombine(vec3(0, 0, (rotation * Math.PI) / 180), baseRot) : baseRot;
|
|
25
27
|
const unitPos = vec3Rot(scene.center_deprecated ?? vec3Zero, vec3Zero, scene.rotation_deprecated ?? vec3Zero);
|
|
26
28
|
const [size, center] = sizeCenterForCameraPos(scene.size_deprecated, unitPos, unitRot, factor);
|
|
27
29
|
const unitHalfSize = vec3Scale(size, 0.5);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,IAAI,EACJ,SAAS,EAKT,OAAO,EACP,QAAQ,EACR,cAAc,EACd,IAAI,EAGJ,YAAY,GACb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAgB,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,UAAU,KAAK,CACnB,KAAY,EACZ,IAAU,EACV,MAAc,EACd,KAAiE,EACjE,UAAoB,EACpB,SAAmB,EACnB,iBAAyB,qBAAqB,EAC9C,OAAe,EAAE,EACjB,OAAgC;
|
|
1
|
+
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "abstract-3d",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Abstract 3D",
|
|
5
5
|
"author": "Divid AB <info@divid.se>",
|
|
6
6
|
"repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-3d",
|
|
@@ -18,20 +18,20 @@
|
|
|
18
18
|
"package.json"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@react-three/drei": "^10.0.
|
|
21
|
+
"@react-three/drei": "^10.0.3",
|
|
22
22
|
"@react-three/fiber": "^9.0.4",
|
|
23
23
|
"suspend-react": "^0.1.3",
|
|
24
|
-
"three": "^0.
|
|
24
|
+
"three": "^0.174.0",
|
|
25
25
|
"ts-exhaustive-check": "^1.0.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"react": "^19.0.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@types/react": "^19.0.
|
|
31
|
+
"@types/react": "^19.0.10",
|
|
32
32
|
"@types/react-reconciler": "^0.28.9",
|
|
33
|
-
"@types/three": "^0.
|
|
33
|
+
"@types/three": "^0.174.0",
|
|
34
34
|
"react": "^19.0.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "efc277b43e3223c8d231e1f20717347b3c052bbe"
|
|
37
37
|
}
|
package/src/abstract-3d.ts
CHANGED
|
@@ -256,6 +256,12 @@ export const vec3Normalize = (v: Vec3): Vec3 => vec3Scale(v, 1 / vec3Length(v));
|
|
|
256
256
|
|
|
257
257
|
export const vec2Greater = (a: Vec2, b: Vec2): Vec2 => vec2(a.x > b.x ? a.x : b.x, a.y > b.y ? a.y : b.y);
|
|
258
258
|
|
|
259
|
+
export const vec2DistSquared = (a: Vec2, b: Vec2): number =>
|
|
260
|
+
(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
|
|
261
|
+
|
|
262
|
+
export const vec2Dist = (a: Vec2, b: Vec2): number =>
|
|
263
|
+
vec2DistSquared(a, b);
|
|
264
|
+
|
|
259
265
|
export const vec2Mult = (a: Vec2, b: Vec2): Vec2 => vec2(a.x * b.x, a.y * b.y);
|
|
260
266
|
export const vec3Mult = (a: Vec3, b: Vec3): Vec3 => vec3(a.x * b.x, a.y * b.y, a.z * b.z);
|
|
261
267
|
|
|
@@ -272,6 +278,12 @@ export const vec3ZMean = (...v: ReadonlyArray<Vec3>): number => v.reduce((a, c)
|
|
|
272
278
|
export const vec3Greater = (a: Vec3, b: Vec3): Vec3 =>
|
|
273
279
|
vec3(a.x > b.x ? a.x : b.x, a.y > b.y ? a.y : b.y, a.z > b.z ? a.z : b.z);
|
|
274
280
|
|
|
281
|
+
export const vec3DistSquared = (a: Vec3, b: Vec3): number =>
|
|
282
|
+
(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2) + Math.pow(b.z - a.z, 2));
|
|
283
|
+
|
|
284
|
+
export const vec3Dist = (a: Vec3, b: Vec3): number =>
|
|
285
|
+
vec3DistSquared(a, b);
|
|
286
|
+
|
|
275
287
|
export const equals = (num1: number, num2: number, equailty = Number.EPSILON): boolean =>
|
|
276
288
|
Math.abs(num1 - num2) <= equailty;
|
|
277
289
|
export const isZero = (num: number, equailty = Number.EPSILON): boolean => Math.abs(num) <= equailty;
|
|
@@ -395,6 +407,7 @@ const quaternion2 = new Quaternion();
|
|
|
395
407
|
const euler1 = new Euler();
|
|
396
408
|
const euler2 = new Euler();
|
|
397
409
|
const vector = new Vector3();
|
|
410
|
+
const matrix = new Matrix4();
|
|
398
411
|
|
|
399
412
|
export function vec3RotCombine(outer: Vec3, inner: Vec3): Vec3 {
|
|
400
413
|
euler1.set(outer.x, outer.y, outer.z);
|
|
@@ -407,15 +420,11 @@ export function vec3RotCombine(outer: Vec3, inner: Vec3): Vec3 {
|
|
|
407
420
|
}
|
|
408
421
|
|
|
409
422
|
export function vec3RotNormal(referenceNormal: Vec3, eulerRot: Vec3): Vec3 {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
const normal = new Vector3();
|
|
416
|
-
normal.set(referenceNormal.x, referenceNormal.y, referenceNormal.z);
|
|
417
|
-
normal.applyMatrix4(rotationMatrix);
|
|
418
|
-
const normalized = normal.normalize();
|
|
423
|
+
euler1.set(eulerRot.x, eulerRot.y, eulerRot.z);
|
|
424
|
+
matrix.makeRotationFromEuler(euler1);
|
|
425
|
+
vector.set(referenceNormal.x, referenceNormal.y, referenceNormal.z);
|
|
426
|
+
vector.applyMatrix4(matrix);
|
|
427
|
+
const normalized = vector.normalize();
|
|
419
428
|
return vec3(normalized.x, normalized.y, normalized.z);
|
|
420
429
|
}
|
|
421
430
|
|
package/src/index.ts
CHANGED