abstract-3d 1.3.3 → 1.3.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## v1.3.4
6
+
7
+ - Bugfix Polygon: THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.
8
+
5
9
  ## v1.3.1
6
10
 
7
11
  - Text bounds calculation
@@ -1 +1 @@
1
- {"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,IAAI,EAUL,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAE,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,KAAG,MAcpE,CAAC"}
1
+ {"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,IAAI,EAUL,MAAM,sBAAsB,CAAC;AAQ9B,OAAO,EAAE,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAE9D,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AACrD,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7E,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,SAAS,QAAQ,CAAC,UAAU,CAAC,KAAG,MAcpE,CAAC"}
@@ -5,8 +5,8 @@ import { dxfBox } from "./dxf-geometries/dxf-box.js";
5
5
  import { dxfCylinder } from "./dxf-geometries/dxf-cylinder.js";
6
6
  import { dxfCone } from "./dxf-geometries/dxf-cone.js";
7
7
  import { dxfPolygon } from "./dxf-geometries/dxf-polygon.js";
8
- import { rotationForCameraPos } from "../shared.js";
9
8
  import { generateUUID } from "three/src/math/MathUtils.js";
9
+ import { rotationForCameraPos } from "../shared.js";
10
10
  export const render = (scene, options) => {
11
11
  const opts = { view: options.view ?? "front", origin: options.origin ?? "BottomLeftFront" };
12
12
  const unitRot = vec3RotCombine(rotationForCameraPos(opts.view), scene.rotation_deprecated ?? vec3Zero);
@@ -1 +1 @@
1
- {"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"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"}
@@ -168,57 +168,41 @@ function holes(holes, shape) {
168
168
  });
169
169
  }
170
170
  function Polygon({ polygon, children, }) {
171
- const ref = React.useRef(undefined);
172
171
  const vertices = React.useMemo(() => {
173
- let newVertices = undefined;
174
- switch (polygon.points.length) {
175
- default:
176
- case 3: {
177
- newVertices = new Float32Array(polygon.points.length * 3);
178
- let i = 0;
179
- polygon.points.forEach((p) => {
180
- newVertices[i++] = p.x;
181
- newVertices[i++] = p.y;
182
- newVertices[i++] = p.z;
183
- });
184
- break;
185
- }
186
- case 4: {
187
- const v0 = polygon.points[0];
188
- const v1 = polygon.points[1];
189
- const v2 = polygon.points[2];
190
- const v3 = polygon.points[3];
191
- newVertices = new Float32Array([
192
- v0.x,
193
- v0.y,
194
- v0.z,
195
- v1.x,
196
- v1.y,
197
- v1.z,
198
- v2.x,
199
- v2.y,
200
- v2.z,
201
- v2.x,
202
- v2.y,
203
- v2.z,
204
- v3.x,
205
- v3.y,
206
- v3.z,
207
- v0.x,
208
- v0.y,
209
- v0.z,
210
- ]);
211
- break;
212
- }
213
- }
214
- if (ref.current) {
215
- ref.current.needsUpdate = true;
172
+ if (polygon.points.length === 4) {
173
+ const [v0, v1, v2, v3] = polygon.points;
174
+ return new Float32Array([
175
+ v0.x,
176
+ v0.y,
177
+ v0.z,
178
+ v1.x,
179
+ v1.y,
180
+ v1.z,
181
+ v2.x,
182
+ v2.y,
183
+ v2.z,
184
+ v2.x,
185
+ v2.y,
186
+ v2.z,
187
+ v3.x,
188
+ v3.y,
189
+ v3.z,
190
+ v0.x,
191
+ v0.y,
192
+ v0.z,
193
+ ]);
216
194
  }
217
- return newVertices;
195
+ const arr = new Float32Array(9);
196
+ polygon.points.forEach((p, i) => {
197
+ arr[i * 3 + 0] = p.x;
198
+ arr[i * 3 + 1] = p.y;
199
+ arr[i * 3 + 2] = p.z;
200
+ });
201
+ return arr;
218
202
  }, [polygon]);
219
203
  return (React.createElement("mesh", { rotation: [polygon.rot?.x ?? 0, polygon.rot?.y ?? 0, polygon.rot?.z ?? 0], position: [polygon.pos.x, polygon.pos.y, polygon.pos.z], castShadow: true, receiveShadow: true },
220
- React.createElement("bufferGeometry", { attach: "geometry", onUpdate: (self) => self.computeVertexNormals() },
221
- React.createElement("bufferAttribute", { attach: "attributes-position", needsUpdate: true, ref: ref, args: fakeArgs, array: vertices, count: vertices.length / 3, itemSize: 3 })),
204
+ React.createElement("bufferGeometry", { key: vertices.length, attach: "geometry", onUpdate: (self) => self.computeVertexNormals() },
205
+ React.createElement("bufferAttribute", { attach: "attributes-position", needsUpdate: true, args: fakeArgs, array: vertices, count: vertices.length / 3, itemSize: 3 })),
222
206
  children));
223
207
  }
224
208
  const fakeArgs = [];
@@ -1 +1 @@
1
- {"version":3,"file":"react-mesh.js","sourceRoot":"","sources":["../../../src/renderers/react/react-mesh.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-mesh.js","sourceRoot":"","sources":["../../../src/renderers/react/react-mesh.tsx"],"names":[],"mappings":"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"}
@@ -12,5 +12,5 @@ export type EmbededImage = {
12
12
  readonly type: "svg";
13
13
  readonly svg: string;
14
14
  };
15
- export declare const svgImage: (p: Vec2, size: Vec2, rot: number, data: EmbededImage) => string;
15
+ export declare const svgImage: (p: Vec2, size: Vec2, rot: Vec3, data: EmbededImage) => string;
16
16
  //# sourceMappingURL=svg-encoding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAQ,IAAI,EAAqC,IAAI,EAAqB,MAAM,sBAAsB,CAAC;AAElJ,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,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAQ1L;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAKvL;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,EAAE,QAAQ,MAAM,EAAE,QAAQ,aAAa,CAAC,IAAI,CAAC,KAAG,MAG9E,CAAC;AAyC1E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAC0D,CAAC;AAEjK,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,MAuB/E,CAAC"}
1
+ {"version":3,"file":"svg-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,IAAI,EAAQ,IAAI,EAAqC,IAAI,EAAqB,MAAM,sBAAsB,CAAC;AAGlJ,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,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAQ1L;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAKvL;AAED,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,aAAa,MAAM,EAAE,QAAQ,MAAM,EAAE,QAAQ,aAAa,CAAC,IAAI,CAAC,KAAG,MAG9E,CAAC;AAyC1E,eAAO,MAAM,OAAO,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAC0D,CAAC;AAEjK,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,IAAI,EAAE,MAAM,YAAY,KAAG,MAO7E,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { bounds2FromVec2Array, vec2, vec2Add, vec2Scale, vec2Sub, vec3, vec3Rot, vec3Zero } from "../../abstract-3d.js";
2
+ import { eulerToSvgMatrix } from "./svg-geometries/shared.js";
2
3
  export const svg = (width, height, children) => {
3
4
  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
5
  };
@@ -58,27 +59,13 @@ function svgMaskHoles(factor, rot, size, holes) {
58
59
  }
59
60
  export const svgText = (text, matrix, color, font, fontSize) => `<text font-family="${font}" font-size="${fontSize}px" text-anchor="middle" alignment-baseline="middle" fill="${color}" transform="${matrix} ">${text}</text>`;
60
61
  export const svgImage = (p, size, rot, data) => {
61
- const rad = rot * (Math.PI / 180);
62
- const cos = Math.abs(Math.cos(rad));
63
- const sin = Math.abs(Math.sin(rad));
64
- const newSize = vec2(size.x * cos + size.y * sin, size.x * sin + size.y * cos);
65
62
  const half = vec2Scale(size, 0.5);
66
- const originalCenter = vec2(size.x / 2, size.y / 2);
67
- const rotatedCenter = vec2(newSize.x / 2, newSize.y / 2);
68
- const delta = vec2(originalCenter.x - rotatedCenter.x, originalCenter.y - rotatedCenter.y);
69
- const [newSizeX, newSizeY] = [newSize.x.toFixed(0), size.y.toFixed(0)];
70
- if (newSizeX === "0" || newSizeY === "0") {
71
- return "";
72
- }
63
+ const matrix = eulerToSvgMatrix(rot, p, half);
73
64
  return data.type === "url"
74
- ? `<image width="${newSizeX}" height="${newSizeY}" x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${rotate(rot)}" ${transformOrigin(p, half)} href="${data.url}" />`
75
- : `<svg width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" transform="${translate(p)} ${rotateAtPos(rot, half)} ${translate(delta)}">${data.svg}</svg>
65
+ ? `<image width="${size.x}" height="${size.y}" transform="${matrix}" href="${data.url}" />`
66
+ : `<svg width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" transform="${matrix}">${data.svg}</svg>
76
67
  `;
77
68
  };
78
- const transformOrigin = (p, half) => `transform-origin="${(p.x + half.x).toFixed(0)}px ${(p.y + half.y).toFixed(0)}px"`;
79
- const rotate = (rot) => `rotate(${rot.toFixed(0)})`;
80
- const rotateAtPos = (rot, p) => `rotate(${rot.toFixed(0)}, ${p.x.toFixed(0)}, ${p.y.toFixed(0)})`;
81
- const translate = (p) => `translate(${p.x.toFixed(0)}, ${p.y.toFixed(0)})`;
82
69
  const counter = (() => {
83
70
  let counter = 0;
84
71
  return () => counter++;
@@ -1 +1 @@
1
- {"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { View } from "../../../abstract-3d.js";
1
+ import { Vec2, Vec3, View } from "../../../abstract-3d.js";
2
2
  export type zOrderElement = {
3
3
  readonly element: string;
4
4
  readonly zOrder: number;
@@ -25,4 +25,5 @@ export type SvgOptions = {
25
25
  readonly imageDataByUrl: Record<string, ImageDataUri>;
26
26
  readonly rotation: number;
27
27
  };
28
+ export declare function eulerToSvgMatrix(rot: Vec3, pos: Vec2, origin?: Vec2): string;
28
29
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,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;AAEvC,MAAM,MAAM,YAAY,GACpB,yBAAyB,MAAM,EAAE,GACjC,0BAA0B,MAAM,EAAE,GAClC,sBAAsB,MAAM,EAAE,CAAC;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,IAAI,EAAQ,IAAI,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEvE,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;AAEvC,MAAM,MAAM,YAAY,GACpB,yBAAyB,MAAM,EAAE,GACjC,0BAA0B,MAAM,EAAE,GAClC,sBAAsB,MAAM,EAAE,CAAC;AAEnC,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IACtF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CA0C5E"}
@@ -1,3 +1,4 @@
1
+ import { vec2, vec3 } from "../../../abstract-3d.js";
1
2
  export const zElem = (element, zOrder) => ({ element, zOrder });
2
3
  export const stBW = 0.7;
3
4
  export const stN = 0.1;
@@ -5,4 +6,39 @@ export const gray = "rgb(85, 85, 85)";
5
6
  export const white = "rgb(255, 255, 255)";
6
7
  export const transparent = "rgba(255, 255, 255, 0)";
7
8
  export const black = "rgb(15, 15, 15)";
9
+ export function eulerToSvgMatrix(rot, pos, origin) {
10
+ const rx = rot.x;
11
+ const ry = rot.y;
12
+ const rz = rot.z;
13
+ const cx = Math.cos(rx);
14
+ const cy = Math.cos(ry);
15
+ const cz = Math.cos(rz);
16
+ const sx = Math.sin(rx);
17
+ const sy = Math.sin(ry);
18
+ const sz = Math.sin(rz);
19
+ const rotate3D = (v) => {
20
+ return {
21
+ x: v.x * (cy * cz) + v.y * (-cy * sz) + v.z * sy,
22
+ y: v.x * (sx * sy * cz + cx * sz) + v.y * (-sx * sy * sz + cx * cz) + v.z * (-sx * cy),
23
+ z: v.x * (-cx * sy * cz + sx * sz) + v.y * (cx * sy * sz + sx * cz) + v.z * (cx * cy),
24
+ };
25
+ };
26
+ const ori = origin ?? vec2(0, 0);
27
+ const originRotated = rotate3D(vec3(ori.x, ori.y, 0));
28
+ const xRot = rotate3D({ x: 1, y: 0, z: 0 });
29
+ const yRot = rotate3D({ x: 0, y: -1, z: 0 });
30
+ const x2D = { x: xRot.x, y: -xRot.y };
31
+ const y2D = { x: yRot.x, y: -yRot.y };
32
+ const lenX = Math.hypot(x2D.x, x2D.y);
33
+ const lenY = Math.hypot(y2D.x, y2D.y);
34
+ const xN = { x: x2D.x / lenX, y: x2D.y / lenX };
35
+ const yN = { x: y2D.x / lenY, y: y2D.y / lenY };
36
+ const a = xN.x * lenX;
37
+ const b = xN.y * lenX;
38
+ const c = yN.x * lenY;
39
+ const d = yN.y * lenY;
40
+ const e = pos.x - originRotated.x;
41
+ const f = pos.y - originRotated.y;
42
+ return `matrix(${a} ${b} ${c} ${d} ${e} ${f})`;
43
+ }
8
44
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,MAAc,EAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC;AAEvB,MAAM,CAAC,MAAM,IAAI,GAAG,iBAAiB,CAAC;AACtC,MAAM,CAAC,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;AACpD,MAAM,CAAC,MAAM,KAAK,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/shared.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3, isZero, vec2, vec3ZMean, } from "../../../abstract-3d.js";
1
+ import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero, vec3, vec2, vec3ZMean, } from "../../../abstract-3d.js";
2
2
  import { gray, black, zElem } from "./shared.js";
3
3
  import { svgImage, svgPolygon } from "../svg-encoding.js";
4
4
  import { rgbGrayScale } from "../../shared.js";
@@ -17,13 +17,13 @@ export function plane(p, point, factor, material, opts, parentPos, parentRot, ho
17
17
  : material.imageUrl
18
18
  ? { type: "url", url: imageData ?? material.imageUrl }
19
19
  : undefined;
20
- if (opts.view === "front" && image) {
20
+ if (image) {
21
21
  const [leftX, rightX] = v4.x > v2.x ? [v2.x, v4.x] : [v4.x, v2.x];
22
22
  const [bottomY, topY] = v4.y > v2.y ? [v4.y, v2.y] : [v2.y, v4.y];
23
23
  const bottomLeft = point(leftX, bottomY);
24
24
  const topRight = point(rightX, topY);
25
- const degrees = isZero(rot.z, 0.1) ? 0 : rot.z * (-180 / Math.PI);
26
- const img = svgImage(bottomLeft, vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), degrees, image);
25
+ const p = point(pos.x, pos.y);
26
+ const img = svgImage(p, vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), rot, image);
27
27
  return [zElem(img, (v2.z + v4.z) / 2)];
28
28
  }
29
29
  const points = [point(v1.x, v1.y), point(v2.x, v2.y), point(v3.x, v3.y), point(v4.x, v4.y)];
@@ -1 +1 @@
1
- {"version":3,"file":"svg-plane.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-plane.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svg-text.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAA0C,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,UAAU,EAAS,aAAa,EAAE,MAAM,aAAa,CAAC;AAI/D,wBAAgB,IAAI,CAClB,CAAC,EAAE,IAAI,EACP,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,EACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,aAAa,CAAC,CAc9B"}
1
+ {"version":3,"file":"svg-text.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAA0C,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAoB,UAAU,EAAS,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjF,wBAAgB,IAAI,CAClB,CAAC,EAAE,IAAI,EACP,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,EACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,MAAM,GACb,aAAa,CAAC,aAAa,CAAC,CAc9B"}
@@ -1,5 +1,5 @@
1
1
  import { vec3TransRot, vec3RotCombine, vec3Zero } from "../../../abstract-3d.js";
2
- import { zElem } from "./shared.js";
2
+ import { eulerToSvgMatrix, zElem } from "./shared.js";
3
3
  import { svgText } from "../svg-encoding.js";
4
4
  // dummy
5
5
  export function text(t, point, fill, opts, parentPos, parentRot, factor) {
@@ -16,37 +16,4 @@ export function text(t, point, fill, opts, parentPos, parentRot, factor) {
16
16
  }
17
17
  return texts;
18
18
  }
19
- function eulerToSvgMatrix(rot, pos) {
20
- const rx = rot.x;
21
- const ry = rot.y;
22
- const rz = rot.z;
23
- const cx = Math.cos(rx);
24
- const cy = Math.cos(ry);
25
- const cz = Math.cos(rz);
26
- const sx = Math.sin(rx);
27
- const sy = Math.sin(ry);
28
- const sz = Math.sin(rz);
29
- const rotate3D = (v) => {
30
- return {
31
- x: v.x * (cy * cz) + v.y * (-cy * sz) + v.z * sy,
32
- y: v.x * (sx * sy * cz + cx * sz) + v.y * (-sx * sy * sz + cx * cz) + v.z * (-sx * cy),
33
- z: v.x * (-cx * sy * cz + sx * sz) + v.y * (cx * sy * sz + sx * cz) + v.z * (cx * cy),
34
- };
35
- };
36
- const xRot = rotate3D({ x: 1, y: 0, z: 0 });
37
- const yRot = rotate3D({ x: 0, y: -1, z: 0 });
38
- const x2D = { x: xRot.x, y: -xRot.y };
39
- const y2D = { x: yRot.x, y: -yRot.y };
40
- const lenX = Math.hypot(x2D.x, x2D.y);
41
- const lenY = Math.hypot(y2D.x, y2D.y);
42
- let xN = { x: x2D.x / lenX, y: x2D.y / lenX };
43
- let yN = { x: y2D.x / lenY, y: y2D.y / lenY };
44
- const a = xN.x * lenX;
45
- const b = xN.y * lenX;
46
- const c = yN.x * lenY;
47
- const d = yN.y * lenY;
48
- const e = pos.x;
49
- const f = pos.y;
50
- return `matrix(${a} ${b} ${c} ${d} ${e} ${f})`;
51
- }
52
19
  //# sourceMappingURL=svg-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"svg-text.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAc,KAAK,EAAiB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,QAAQ;AACR,MAAM,UAAU,IAAI,CAClB,CAAO,EACP,KAAqC,EACrC,IAAY,EACZ,IAAgB,EAChB,SAAe,EACf,SAAe,EACf,MAAc;IAEd,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,KAAK,EAAiB,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAS,EAAE,GAAS;IAC5C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACjB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAQ,EAAE;QACjC,OAAO;YACL,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;YAChD,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;YACtF,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7C,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAC9C,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAE9C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAEhB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"svg-text.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAc,KAAK,EAAiB,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,QAAQ;AACR,MAAM,UAAU,IAAI,CAClB,CAAO,EACP,KAAqC,EACrC,IAAY,EACZ,IAAgB,EAChB,SAAe,EACf,SAAe,EACf,MAAc;IAEd,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,KAAK,EAAiB,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,QAAQ,GAAG,GAAG,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-3d",
3
- "version": "1.3.3",
3
+ "version": "1.3.6",
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",
@@ -35,5 +35,5 @@
35
35
  "@types/three": "^0.180.0",
36
36
  "react": "^19.0.0"
37
37
  },
38
- "gitHead": "da4dfdb088eb5cd25153dde5abee79304290ca93"
38
+ "gitHead": "ece20c3c200821a7e90eff44f7a545cdca37e110"
39
39
  }
@@ -17,8 +17,8 @@ import { dxfBox } from "./dxf-geometries/dxf-box.js";
17
17
  import { dxfCylinder } from "./dxf-geometries/dxf-cylinder.js";
18
18
  import { dxfCone } from "./dxf-geometries/dxf-cone.js";
19
19
  import { dxfPolygon } from "./dxf-geometries/dxf-polygon.js";
20
- import { Optional, rotationForCameraPos } from "../shared.js";
21
20
  import { generateUUID } from "three/src/math/MathUtils.js";
21
+ import { Optional, rotationForCameraPos } from "../shared.js";
22
22
 
23
23
  export type DxfOrigin = "BottomLeftFront" | "Center";
24
24
  export type DxfOptions = { readonly view: View; readonly origin: DxfOrigin };
@@ -376,53 +376,38 @@ function Polygon({
376
376
  readonly polygon: A3dPolygon;
377
377
  readonly children?: React.JSX.Element;
378
378
  }): React.JSX.Element {
379
- const ref = React.useRef<BufferAttribute>(undefined!);
380
379
  const vertices = React.useMemo(() => {
381
- let newVertices: Float32Array = undefined!;
382
- switch (polygon.points.length) {
383
- default:
384
- case 3: {
385
- newVertices = new Float32Array(polygon.points.length * 3);
386
- let i = 0;
387
- polygon.points.forEach((p) => {
388
- newVertices[i++] = p.x;
389
- newVertices[i++] = p.y;
390
- newVertices[i++] = p.z;
391
- });
392
- break;
393
- }
394
- case 4: {
395
- const v0 = polygon.points[0]!;
396
- const v1 = polygon.points[1]!;
397
- const v2 = polygon.points[2]!;
398
- const v3 = polygon.points[3]!;
399
- newVertices = new Float32Array([
400
- v0.x,
401
- v0.y,
402
- v0.z,
403
- v1.x,
404
- v1.y,
405
- v1.z,
406
- v2.x,
407
- v2.y,
408
- v2.z,
409
- v2.x,
410
- v2.y,
411
- v2.z,
412
- v3.x,
413
- v3.y,
414
- v3.z,
415
- v0.x,
416
- v0.y,
417
- v0.z,
418
- ]);
419
- break;
420
- }
421
- }
422
- if (ref.current) {
423
- ref.current.needsUpdate = true;
380
+ if (polygon.points.length === 4) {
381
+ const [v0, v1, v2, v3] = polygon.points;
382
+ return new Float32Array([
383
+ v0!.x,
384
+ v0!.y,
385
+ v0!.z,
386
+ v1!.x,
387
+ v1!.y,
388
+ v1!.z,
389
+ v2!.x,
390
+ v2!.y,
391
+ v2!.z,
392
+ v2!.x,
393
+ v2!.y,
394
+ v2!.z,
395
+ v3!.x,
396
+ v3!.y,
397
+ v3!.z,
398
+ v0!.x,
399
+ v0!.y,
400
+ v0!.z,
401
+ ]);
424
402
  }
425
- return newVertices;
403
+
404
+ const arr = new Float32Array(9);
405
+ polygon.points.forEach((p, i) => {
406
+ arr[i * 3 + 0] = p.x;
407
+ arr[i * 3 + 1] = p.y;
408
+ arr[i * 3 + 2] = p.z;
409
+ });
410
+ return arr;
426
411
  }, [polygon]);
427
412
 
428
413
  return (
@@ -432,11 +417,10 @@ function Polygon({
432
417
  castShadow
433
418
  receiveShadow
434
419
  >
435
- <bufferGeometry attach="geometry" onUpdate={(self) => self.computeVertexNormals()}>
420
+ <bufferGeometry key={vertices.length} attach="geometry" onUpdate={(self) => self.computeVertexNormals()}>
436
421
  <bufferAttribute
437
422
  attach="attributes-position"
438
423
  needsUpdate={true}
439
- ref={ref}
440
424
  args={fakeArgs}
441
425
  array={vertices}
442
426
  count={vertices.length / 3}
@@ -1,4 +1,5 @@
1
1
  import { bounds2FromVec2Array, equals, Hole, vec2, Vec2, vec2Add, vec2Scale, vec2Sub, vec3, Vec3, vec3Rot, vec3Zero } from "../../abstract-3d.js";
2
+ import { eulerToSvgMatrix } from "./svg-geometries/shared.js";
2
3
 
3
4
  export const svg = (width: number, height: number, children: string): string => {
4
5
  return `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width.toFixed(0)} ${height.toFixed(
@@ -79,37 +80,15 @@ export type EmbededImage =
79
80
  | { readonly type: "url"; readonly url: string }
80
81
  | { readonly type: "svg"; readonly svg: string };
81
82
 
82
- export const svgImage = (p: Vec2, size: Vec2, rot: number, data: EmbededImage): string => {
83
- const rad = rot * (Math.PI / 180);
84
- const cos = Math.abs(Math.cos(rad));
85
- const sin = Math.abs(Math.sin(rad));
86
- const newSize = vec2(size.x * cos + size.y * sin, size.x * sin + size.y * cos);
83
+ export const svgImage = (p: Vec2, size: Vec2, rot: Vec3, data: EmbededImage): string => {
87
84
  const half = vec2Scale(size, 0.5);
88
- const originalCenter = vec2(size.x / 2, size.y / 2);
89
- const rotatedCenter = vec2(newSize.x / 2, newSize.y / 2);
90
- const delta = vec2(originalCenter.x - rotatedCenter.x, originalCenter.y - rotatedCenter.y);
91
- const [newSizeX, newSizeY] = [newSize.x.toFixed(0), size.y.toFixed(0)];
92
- if (newSizeX === "0" || newSizeY === "0") {
93
- return "";
94
- }
95
-
85
+ const matrix = eulerToSvgMatrix(rot, p, half);
96
86
  return data.type === "url"
97
- ? `<image width="${newSizeX}" height="${newSizeY}" x="${p.x.toFixed(0)}" y="${p.y.toFixed(0)}" transform="${rotate(
98
- rot
99
- )}" ${transformOrigin(p, half)} href="${data.url}" />`
100
- : `<svg width="${newSize.x.toFixed(0)}" height="${newSize.y.toFixed(0)}" transform="${translate(p)} ${rotateAtPos(
101
- rot,
102
- half
103
- )} ${translate(delta)}">${data.svg}</svg>
87
+ ? `<image width="${size.x}" height="${size.y}" transform="${matrix}" href="${data.url}" />`
88
+ : `<svg width="${size.x.toFixed(0)}" height="${size.y.toFixed(0)}" transform="${matrix}">${data.svg}</svg>
104
89
  `;
105
90
  };
106
91
 
107
- const transformOrigin = (p: Vec2, half: Vec2): string =>
108
- `transform-origin="${(p.x + half.x).toFixed(0)}px ${(p.y + half.y).toFixed(0)}px"`;
109
-
110
- const rotate = (rot: number): string => `rotate(${rot.toFixed(0)})`;
111
- const rotateAtPos = (rot: number, p: Vec2): string => `rotate(${rot.toFixed(0)}, ${p.x.toFixed(0)}, ${p.y.toFixed(0)})`;
112
- const translate = (p: Vec2): string => `translate(${p.x.toFixed(0)}, ${p.y.toFixed(0)})`;
113
92
  const counter = (() => {
114
93
  let counter = 0;
115
94
  return () => counter++;
@@ -1,4 +1,4 @@
1
- import { View } from "../../../abstract-3d.js";
1
+ import { vec2, Vec2, vec3, Vec3, View } from "../../../abstract-3d.js";
2
2
 
3
3
  export type zOrderElement = { readonly element: string; readonly zOrder: number };
4
4
  export const zElem = (element: string, zOrder: number): zOrderElement => ({ element, zOrder });
@@ -27,3 +27,47 @@ export type SvgOptions = {
27
27
  readonly imageDataByUrl: Record<string, ImageDataUri>;
28
28
  readonly rotation: number;
29
29
  };
30
+
31
+ export function eulerToSvgMatrix(rot: Vec3, pos: Vec2, origin?: Vec2): string {
32
+ const rx = rot.x;
33
+ const ry = rot.y;
34
+ const rz = rot.z;
35
+
36
+ const cx = Math.cos(rx);
37
+ const cy = Math.cos(ry);
38
+ const cz = Math.cos(rz);
39
+ const sx = Math.sin(rx);
40
+ const sy = Math.sin(ry);
41
+ const sz = Math.sin(rz);
42
+
43
+ const rotate3D = (v: Vec3): Vec3 => {
44
+ return {
45
+ x: v.x * (cy * cz) + v.y * (-cy * sz) + v.z * sy,
46
+ y: v.x * (sx * sy * cz + cx * sz) + v.y * (-sx * sy * sz + cx * cz) + v.z * (-sx * cy),
47
+ z: v.x * (-cx * sy * cz + sx * sz) + v.y * (cx * sy * sz + sx * cz) + v.z * (cx * cy),
48
+ };
49
+ };
50
+
51
+ const ori = origin ?? vec2(0, 0);
52
+ const originRotated = rotate3D(vec3(ori.x, ori.y, 0));
53
+
54
+ const xRot = rotate3D({ x: 1, y: 0, z: 0 });
55
+ const yRot = rotate3D({ x: 0, y: -1, z: 0 });
56
+
57
+ const x2D = { x: xRot.x, y: -xRot.y };
58
+ const y2D = { x: yRot.x, y: -yRot.y };
59
+
60
+ const lenX = Math.hypot(x2D.x, x2D.y);
61
+ const lenY = Math.hypot(y2D.x, y2D.y);
62
+ const xN = { x: x2D.x / lenX, y: x2D.y / lenX };
63
+ const yN = { x: y2D.x / lenY, y: y2D.y / lenY };
64
+
65
+ const a = xN.x * lenX;
66
+ const b = xN.y * lenX;
67
+ const c = yN.x * lenY;
68
+ const d = yN.y * lenY;
69
+ const e = pos.x - originRotated.x;
70
+ const f = pos.y - originRotated.y;
71
+
72
+ return `matrix(${a} ${b} ${c} ${d} ${e} ${f})`;
73
+ }
@@ -44,13 +44,13 @@ export function plane(
44
44
  ? { type: "url", url: imageData ?? material.imageUrl }
45
45
  : undefined;
46
46
 
47
- if (opts.view === "front" && image) {
47
+ if (image) {
48
48
  const [leftX, rightX] = v4.x > v2.x ? [v2.x, v4.x] : [v4.x, v2.x];
49
49
  const [bottomY, topY] = v4.y > v2.y ? [v4.y, v2.y] : [v2.y, v4.y];
50
50
  const bottomLeft = point(leftX, bottomY);
51
51
  const topRight = point(rightX, topY);
52
- const degrees = isZero(rot.z, 0.1) ? 0 : rot.z * (-180 / Math.PI);
53
- const img = svgImage(bottomLeft, vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), degrees, image);
52
+ const p = point(pos.x, pos.y);
53
+ const img = svgImage(p, vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), rot, image);
54
54
  return [zElem(img, (v2.z + v4.z) / 2)];
55
55
  }
56
56
 
@@ -1,5 +1,5 @@
1
1
  import { Text, Vec2, Vec3, vec3TransRot, vec3RotCombine, vec3Zero } from "../../../abstract-3d.js";
2
- import { SvgOptions, zElem, zOrderElement } from "./shared.js";
2
+ import { eulerToSvgMatrix, SvgOptions, zElem, zOrderElement } from "./shared.js";
3
3
  import { svgText } from "../svg-encoding.js";
4
4
 
5
5
  // dummy
@@ -25,45 +25,4 @@ export function text(
25
25
  }
26
26
 
27
27
  return texts;
28
- }
29
-
30
- function eulerToSvgMatrix(rot: Vec3, pos: Vec2): string {
31
- const rx = rot.x;
32
- const ry = rot.y;
33
- const rz = rot.z;
34
-
35
- const cx = Math.cos(rx);
36
- const cy = Math.cos(ry);
37
- const cz = Math.cos(rz);
38
- const sx = Math.sin(rx);
39
- const sy = Math.sin(ry);
40
- const sz = Math.sin(rz);
41
-
42
- const rotate3D = (v: Vec3): Vec3 => {
43
- return {
44
- x: v.x * (cy * cz) + v.y * (-cy * sz) + v.z * sy,
45
- y: v.x * (sx * sy * cz + cx * sz) + v.y * (-sx * sy * sz + cx * cz) + v.z * (-sx * cy),
46
- z: v.x * (-cx * sy * cz + sx * sz) + v.y * (cx * sy * sz + sx * cz) + v.z * (cx * cy),
47
- };
48
- };
49
-
50
- const xRot = rotate3D({ x: 1, y: 0, z: 0 });
51
- const yRot = rotate3D({ x: 0, y: -1, z: 0 });
52
-
53
- const x2D = { x: xRot.x, y: -xRot.y };
54
- const y2D = { x: yRot.x, y: -yRot.y };
55
-
56
- const lenX = Math.hypot(x2D.x, x2D.y);
57
- const lenY = Math.hypot(y2D.x, y2D.y);
58
- let xN = { x: x2D.x / lenX, y: x2D.y / lenX };
59
- let yN = { x: y2D.x / lenY, y: y2D.y / lenY };
60
-
61
- const a = xN.x * lenX;
62
- const b = xN.y * lenX;
63
- const c = yN.x * lenY;
64
- const d = yN.y * lenY;
65
- const e = pos.x;
66
- const f = pos.y;
67
-
68
- return `matrix(${a} ${b} ${c} ${d} ${e} ${f})`;
69
- }
28
+ }