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 +4 -0
- package/lib/renderers/dxf/dxf.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf.js +1 -1
- package/lib/renderers/dxf/dxf.js.map +1 -1
- package/lib/renderers/react/react-mesh.js +31 -47
- package/lib/renderers/react/react-mesh.js.map +1 -1
- package/lib/renderers/svg/svg-encoding.d.ts +1 -1
- package/lib/renderers/svg/svg-encoding.d.ts.map +1 -1
- package/lib/renderers/svg/svg-encoding.js +4 -17
- package/lib/renderers/svg/svg-encoding.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/shared.d.ts +2 -1
- package/lib/renderers/svg/svg-geometries/shared.d.ts.map +1 -1
- package/lib/renderers/svg/svg-geometries/shared.js +36 -0
- package/lib/renderers/svg/svg-geometries/shared.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.js +4 -4
- package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-text.d.ts.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-text.js +1 -34
- package/lib/renderers/svg/svg-geometries/svg-text.js.map +1 -1
- package/package.json +2 -2
- package/src/renderers/dxf/dxf.ts +1 -1
- package/src/renderers/react/react-mesh.tsx +31 -47
- package/src/renderers/svg/svg-encoding.ts +5 -26
- package/src/renderers/svg/svg-geometries/shared.ts +45 -1
- package/src/renderers/svg/svg-geometries/svg-plane.ts +3 -3
- package/src/renderers/svg/svg-geometries/svg-text.ts +2 -43
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;
|
|
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"}
|
package/lib/renderers/dxf/dxf.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAGL,cAAc,EACd,QAAQ,EAGR,YAAY,EACZ,KAAK,EACL,aAAa,EACb,IAAI,EACJ,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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
|
-
|
|
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,
|
|
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":"AAAA,wCAAwC;AACxC,kDAAkD;AAClD,oDAAoD;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,KAAK,EACL,eAAe,EACf,IAAI,EACJ,aAAa,EACb,UAAU,EACV,KAAK,EACL,cAAc,EACd,YAAY,EACZ,OAAO,GACR,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,SAAS,EAGT,OAAO,EACP,OAAO,EAKP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,OAAO,EACP,cAAc,EACd,QAAQ,EACR,OAAO,EACP,MAAM,GACP,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC;IACL,cAAc;IACd,aAAa;IACb,YAAY;IACZ,UAAU;IACV,OAAO;IACP,KAAK;IACL,WAAW;IACX,IAAI;IACJ,KAAK;IACL,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AACtC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;AAC7E,MAAM,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AACvF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AAC1C,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAE3C,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,QAAQ,GAIT;IACC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,MAAM,aAAa,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD,8BACE,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,eAAe,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAC/C,QAAQ,CACO,CACnB,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnD,OAAO,CACL,8BACE,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ,CACR,CAAC;QACJ,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzF,MAAM,aAAa,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,CAAC;YACxE,MAAM,OAAO,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACxF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD,8BACE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,EACxD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,eAAe,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,IAAG,QAAQ,CAAmB,CAClE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,cAAc,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC3G,MAAM,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;gBAC1C,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,IAAI,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpE,MAAM,SAAS,GAAG,OAAO,CACvB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,CAAC,EACvG,GAAG,CACJ,CAAC;gBACF,MAAM,SAAS,GAAG,OAAO,CACvB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,QAAQ,CAAC,EACnG,GAAG,CACJ,CAAC;gBACF,OAAO,CACL;oBACE,8BACE,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ;oBACP,8BACE,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACjD,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ;oBACP,8BACE,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACjD,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ,CACF,CACR,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,MAAM,aAAa,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpD,8BACE,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACjD,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ,CACR,CAAC,CAAC,CAAC,CACF,oBAAC,eAAe,IAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,IAC1C,QAAQ,CACO,CACnB,CAAC;QACJ,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACtC,OAAO,CACL,8BAAM,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,QAAC,aAAa,UACrG,QAAQ,CACJ,CACR,CAAC;QACJ,CAAC;QACD,KAAK,OAAO;YACV,OAAO,oBAAC,YAAY,IAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,IAAG,QAAQ,CAAgB,CAAC;QACnE,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YACnD,OAAO,CACL,oBAAC,IAAI,IACH,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACjD,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,QAAQ,EAClB,aAAa,EAAE,KAAK,EACpB,UAAU,EAAE,GAAG;gBAMd,QAAQ;gBACR,IAAI,CACA,CACR,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChD,OAAO,CACL,oBAAC,IAAI,IACH,MAAM,EAAE;oBACN,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC3B,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBACtB,EACD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAE1B,QAAQ,CACJ,CACR,CAAC;QACJ,CAAC;QACD,KAAK,SAAS;YACZ,OAAO,oBAAC,OAAO,IAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,IAAG,QAAQ,CAAW,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAG,QAAQ,CAAQ,CAAC;QACtD;YACE,OAAO,kCAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,GAAG,EACH,KAAK,EACL,QAAQ,GAKT;IACC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAClH,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO;IACL,wDAAwD;IACxD,8BAAM,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9G,8BAAM,QAAQ,EAAE,eAAe,gBAAc,CAAC,KAAK,GAAG,CAAC,EAAE,UAAU,QAAC,aAAa,UAC9E,QAAQ,CACJ,CACF,CACR,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,CAAC,EACD,QAAQ,GAIT;IACC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;YACvB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;YACvB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAER,OAAO;IACL,wDAAwD;IACxD,8BAAM,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClG,8BAAM,QAAQ,EAAE,eAAe,gBAAc,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,UAAU,QAAC,aAAa,UACpF,QAAQ,CACJ,CACF,CACR,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,GAAG,EACH,QAAQ,GAIT;IACC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,OAAO;IACL,wDAAwD;IACxD,8BAAM,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9G,8BAAM,QAAQ,EAAE,eAAe,gBAAc,IAAI,CAAC,EAAE,GAAG,CAAC,gBAAc,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,QAAC,aAAa,UAC5G,QAAQ,CACJ,CACF,CACR,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAAsC,EAAE,KAAY;IACjE,KAAK;QACH,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAC9B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,WAAW;gBACd,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACrC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBACrG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,MAAM;YACR,CAAC;YACD;gBACE,eAAe,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,EACf,OAAO,EACP,QAAQ,GAIT;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YACxC,OAAO,IAAI,YAAY,CAAC;gBACtB,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;gBACL,EAAG,CAAC,CAAC;aACN,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9B,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,8BACE,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EACzE,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EACvD,UAAU,QACV,aAAa;QAEb,wCAAgB,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACrG,yCACE,MAAM,EAAC,qBAAqB,EAC5B,WAAW,EAAE,IAAI,EACjB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,EAC1B,QAAQ,EAAE,CAAC,GACX,CACa;QAChB,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,EAAS,CAAC;AAE3B,SAAS,IAAI,CAAC,EACZ,IAAI,EACJ,QAAQ,GAIT;IACC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,IAAI,YAAY,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa;YAC/B,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAC/B,CAAC,EACD,IAAI,CAAC,MAAM,EACX,CAAC,EACD,KAAK,CACN,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,8BACE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAChE,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAC9C,QAAQ,EAAE,YAAY,EACtB,UAAU,QACV,aAAa,UAEZ,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,WAAY,SAAQ,KAAc;IACtC,MAAM,CAAS;IACf,WAAW,CAAS;IACpB,UAAU,CAAS;IAEnB,YAAY,WAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,QAAQ,CAAC,CAAS,EAAE,cAAc,GAAG,IAAI,OAAO,EAAE;QAChD,OAAO,cAAc,CAAC,GAAG,CACvB,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAC/D,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAC/D,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -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:
|
|
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;
|
|
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
|
|
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="${
|
|
75
|
-
: `<svg width="${
|
|
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":"AAAA,OAAO,EAAE,oBAAoB,EAAgB,IAAI,EAAQ,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAQ,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAgB,IAAI,EAAQ,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAQ,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAU,EAAE;IAC7E,OAAO,wDAAwD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAC/F,CAAC,CACF,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,QAAQ,SAAS,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAQ,EAAE,EAAQ,EAAE,MAAc,EAAE,WAAmB,EAAU,EAAE,CACzF,aAAa,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/F,CAAC,CACF,aAAa,MAAM,mBAAmB,WAAW,MAAM,CAAC;AAE3D,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,GAAS,EAAE,MAA2B,EAAE,IAAY,EAAE,OAAe,EAAE,MAAc,EAAE,WAAmB,EAAE,KAA2B;IAChL,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,oBAAoB,MAAM;SACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;SACnE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,mBAAmB,WAAW,KAAK,aAAa,IAAI,CAAC;IAC3I,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,GAAS,EAAE,GAAS,EAAE,IAAY,EAAE,OAAe,EAAE,MAAc,EAAE,WAAmB,EAAE,MAAc,EAAE,KAA2B;IAC7K,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,cAAc,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,mBAAmB,WAAW,KAAK,aAAa,IAAI,CAAC;IACzN,OAAO,IAAI,GAAG,GAAG,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,GAAS,EAAE,IAAY,EAAE,MAAc,EAAE,WAAmB,EAAE,MAAc,EAAE,KAA2B,EAAU,EAAE,CAC9J,cAAc,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CAC5E,CAAC,CACF,WAAW,IAAI,aAAa,MAAM,mBAAmB,WAAW,MAAM,CAAC;AAE1E,SAAS,WAAW,CAAC,MAAc,EAAE,GAAS,EAAE,IAAU,EAAE,KAA0B;IACpF,MAAM,EAAE,GAAG,QAAQ,OAAO,EAAE,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACxB,aAAa,EAAE;;QAEX,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;cACtC;QACV,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC,CAAC;QACF,EAAE;QACF,EAAE;KACH,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,GAAS,EAAE,IAAU,EAAE,KAA0B;IACrF,MAAM,SAAS,GAAkB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACjF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrC,SAAS,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBACnJ,MAAM;YACR,CAAC;YACD,KAAK,YAAY;gBACf,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAClF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC1C,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAA;gBACxL,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,IAAY,EAAE,QAAgB,EAAU,EAAE,CAC7G,sBAAsB,IAAI,gBAAgB,QAAQ,8DAA8D,KAAK,gBAAgB,MAAM,MAAM,IAAI,SAAS,CAAC;AAMjK,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAO,EAAE,IAAU,EAAE,GAAS,EAAE,IAAkB,EAAU,EAAE;IACrF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK;QACxB,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,gBAAgB,MAAM,WAAW,IAAI,CAAC,GAAG,MAAM;QAC3F,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,MAAM,KAAK,IAAI,CAAC,GAAG;GACpG,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -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;
|
|
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":"
|
|
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,
|
|
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 (
|
|
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
|
|
26
|
-
const img = svgImage(
|
|
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":"AAAA,OAAO,EAIL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,IAAI,
|
|
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,
|
|
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;
|
|
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
|
+
"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": "
|
|
38
|
+
"gitHead": "ece20c3c200821a7e90eff44f7a545cdca37e110"
|
|
39
39
|
}
|
package/src/renderers/dxf/dxf.ts
CHANGED
|
@@ -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
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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="${
|
|
98
|
-
|
|
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 (
|
|
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
|
|
53
|
-
const img = svgImage(
|
|
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
|
+
}
|