abstract-3d 0.1.11 → 0.1.12
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/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/shared.d.ts +2 -3
- package/lib/renderers/shared.d.ts.map +1 -1
- package/lib/renderers/shared.js +14 -61
- package/lib/renderers/shared.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.d.ts.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.js +6 -6
- package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts +1 -1
- package/lib/renderers/svg/svg-geometries/svg-polygon.d.ts.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-polygon.js +5 -5
- package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -1
- package/lib/renderers/svg/svg.d.ts.map +1 -1
- package/lib/renderers/svg/svg.js +6 -6
- package/lib/renderers/svg/svg.js.map +1 -1
- package/package.json +2 -2
- package/src/renderers/dxf/dxf.ts +2 -9
- package/src/renderers/shared.ts +12 -66
- package/src/renderers/svg/svg-geometries/svg-plane.ts +6 -6
- package/src/renderers/svg/svg-geometries/svg-polygon.ts +5 -5
- package/src/renderers/svg/svg.ts +1 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AASzC,eAAO,MAAM,KAAK,UAAW,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAG,
|
|
1
|
+
{"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAC;AASzC,eAAO,MAAM,KAAK,UAAW,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAG,MASxD,CAAC"}
|
package/lib/renderers/dxf/dxf.js
CHANGED
|
@@ -36,7 +36,7 @@ const toDxf = (scene, view) => {
|
|
|
36
36
|
var _a, _b, _c;
|
|
37
37
|
const unitRot = A3D.vec3RotCombine((0, shared_1.rotationForCameraPos)(view), (_a = scene.rotation_deprecated) !== null && _a !== void 0 ? _a : A3D.vec3Zero);
|
|
38
38
|
const rotatedCenter = A3D.vec3Rot((_b = scene.center_deprecated) !== null && _b !== void 0 ? _b : A3D.vec3Zero, A3D.vec3Zero, (_c = scene.rotation_deprecated) !== null && _c !== void 0 ? _c : A3D.vec3Zero);
|
|
39
|
-
const [size, center] = (0, shared_1.sizeCenterForCameraPos)(scene.size_deprecated, rotatedCenter,
|
|
39
|
+
const [size, center] = (0, shared_1.sizeCenterForCameraPos)(scene.size_deprecated, rotatedCenter, A3D.vec3Zero, 1);
|
|
40
40
|
return (0, dxf_encoding_1.dxfHeader)(size, center) + scene.groups.reduce((a, c) => a + dxfGroup(c, center, unitRot), "") + dxf_encoding_1.dxfFooter;
|
|
41
41
|
};
|
|
42
42
|
exports.toDxf = toDxf;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAyC;AACzC,iDAAsD;AACtD,0DAAsD;AACtD,sDAAkD;AAClD,gEAA4D;AAC5D,wDAAoD;AACpD,8DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Vec3, View
|
|
2
|
-
export declare function sizeCenterForCameraPos(size: Vec3, center: Vec3,
|
|
1
|
+
import { Vec3, View } from "../abstract-3d";
|
|
2
|
+
export declare function sizeCenterForCameraPos(size: Vec3, center: Vec3, rotation: Vec3, factor: number): readonly [Vec3, Vec3];
|
|
3
3
|
export declare function rotationForCameraPos(view: View): Vec3;
|
|
4
|
-
export declare const dimBoundZero: DimensionBounds;
|
|
5
4
|
export declare function rgbGray(color: string): string;
|
|
6
5
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/renderers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,IAAI,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/renderers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,IAAI,EASL,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,MAAM,GACb,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAcvB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAgBrD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI7C"}
|
package/lib/renderers/shared.js
CHANGED
|
@@ -1,59 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.rgbGray = exports.
|
|
3
|
+
exports.rgbGray = exports.rotationForCameraPos = exports.sizeCenterForCameraPos = void 0;
|
|
4
4
|
const abstract_3d_1 = require("../abstract-3d");
|
|
5
|
-
function sizeCenterForCameraPos(size, center,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// vec3Add(center, vec3((dimBound.back.max.x - dimBound.back.min.x) / 2, (dimBound.back.max.y - dimBound.back.min.y) / 2, 0)),
|
|
18
|
-
// ];
|
|
19
|
-
// case "top":
|
|
20
|
-
// return [
|
|
21
|
-
// vec3Add(size, vec3(dimBound.top.min.x + dimBound.top.max.x, 0, dimBound.top.min.y + dimBound.top.max.y)),
|
|
22
|
-
// vec3Add(center, vec3((dimBound.top.max.x - dimBound.top.min.x) / 2, (dimBound.top.max.y - dimBound.top.min.y) / 2, 0)),
|
|
23
|
-
// ];
|
|
24
|
-
// case "bottom":
|
|
25
|
-
// return [
|
|
26
|
-
// vec3Add(size, vec3(dimBound.bottom.min.x + dimBound.bottom.max.x, 0, dimBound.bottom.min.y + dimBound.bottom.max.y)),
|
|
27
|
-
// vec3Add(center, vec3((dimBound.bottom.max.x - dimBound.bottom.min.x) / 2, (dimBound.bottom.max.y - dimBound.bottom.min.y) / 2, 0)),
|
|
28
|
-
// ];
|
|
29
|
-
// case "right":
|
|
30
|
-
// return [
|
|
31
|
-
// vec3Add(size, vec3(0, dimBound.right.min.y + dimBound.right.max.y, dimBound.right.min.x + dimBound.right.max.x)),
|
|
32
|
-
// vec3Add(center, vec3((dimBound.right.max.x - dimBound.right.min.x) / 2, (dimBound.right.max.y - dimBound.right.min.y) / 2, 0)),
|
|
33
|
-
// ];
|
|
34
|
-
// case "left":
|
|
35
|
-
// return [
|
|
36
|
-
// vec3Add(size, vec3(0, dimBound.left.min.y + dimBound.left.max.y, dimBound.left.min.x + dimBound.left.max.x)),
|
|
37
|
-
// vec3Add(center, vec3((dimBound.left.max.x - dimBound.left.min.x) / 2, (dimBound.left.max.y - dimBound.left.min.y) / 2, 0)),
|
|
38
|
-
// ];
|
|
39
|
-
// }
|
|
40
|
-
// })();
|
|
41
|
-
const [sizeAdj, centerAdj] = (() => {
|
|
42
|
-
return [size, center];
|
|
43
|
-
})();
|
|
44
|
-
const half = (0, abstract_3d_1.vec3Scale)(sizeAdj, 0.5);
|
|
45
|
-
const min = (0, abstract_3d_1.vec3Sub)(centerAdj, half);
|
|
46
|
-
const max = (0, abstract_3d_1.vec3Add)(centerAdj, half);
|
|
47
|
-
const v1 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, min.y, max.z), centerAdj, rotation);
|
|
48
|
-
const v2 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, min.y, max.z), centerAdj, rotation);
|
|
49
|
-
const v3 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, max.y, max.z), centerAdj, rotation);
|
|
50
|
-
const v4 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, max.y, max.z), centerAdj, rotation);
|
|
51
|
-
const v5 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, min.y, min.z), centerAdj, rotation);
|
|
52
|
-
const v6 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, min.y, min.z), centerAdj, rotation);
|
|
53
|
-
const v7 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, max.y, min.z), centerAdj, rotation);
|
|
54
|
-
const v8 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, max.y, min.z), centerAdj, rotation);
|
|
5
|
+
function sizeCenterForCameraPos(size, center, rotation, factor) {
|
|
6
|
+
const half = (0, abstract_3d_1.vec3Scale)(size, 0.5);
|
|
7
|
+
const min = (0, abstract_3d_1.vec3Sub)(center, half);
|
|
8
|
+
const max = (0, abstract_3d_1.vec3Add)(center, half);
|
|
9
|
+
const v1 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, min.y, max.z), center, rotation);
|
|
10
|
+
const v2 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, min.y, max.z), center, rotation);
|
|
11
|
+
const v3 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, max.y, max.z), center, rotation);
|
|
12
|
+
const v4 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, max.y, max.z), center, rotation);
|
|
13
|
+
const v5 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, min.y, min.z), center, rotation);
|
|
14
|
+
const v6 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, min.y, min.z), center, rotation);
|
|
15
|
+
const v7 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(max.x, max.y, min.z), center, rotation);
|
|
16
|
+
const v8 = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(min.x, max.y, min.z), center, rotation);
|
|
55
17
|
const bounds = (0, abstract_3d_1.bounds3FromVec3Array)([v1, v2, v3, v4, v5, v6, v7, v8]);
|
|
56
|
-
return [(0, abstract_3d_1.vec3Scale)((0, abstract_3d_1.bounds3ToSize)(bounds), factor), (0, abstract_3d_1.vec3Scale)(
|
|
18
|
+
return [(0, abstract_3d_1.vec3Scale)((0, abstract_3d_1.bounds3ToSize)(bounds), factor), (0, abstract_3d_1.vec3Scale)(center, factor)];
|
|
57
19
|
}
|
|
58
20
|
exports.sizeCenterForCameraPos = sizeCenterForCameraPos;
|
|
59
21
|
function rotationForCameraPos(view) {
|
|
@@ -74,15 +36,6 @@ function rotationForCameraPos(view) {
|
|
|
74
36
|
}
|
|
75
37
|
}
|
|
76
38
|
exports.rotationForCameraPos = rotationForCameraPos;
|
|
77
|
-
exports.dimBoundZero = {
|
|
78
|
-
front: abstract_3d_1.bounds3Zero,
|
|
79
|
-
back: abstract_3d_1.bounds3Zero,
|
|
80
|
-
top: abstract_3d_1.bounds3Zero,
|
|
81
|
-
bottom: abstract_3d_1.bounds3Zero,
|
|
82
|
-
right: abstract_3d_1.bounds3Zero,
|
|
83
|
-
left: abstract_3d_1.bounds3Zero,
|
|
84
|
-
threeD: abstract_3d_1.bounds3Zero,
|
|
85
|
-
};
|
|
86
39
|
function rgbGray(color) {
|
|
87
40
|
var _a, _b, _c, _d;
|
|
88
41
|
const parts = (_a = color.split("(")[1]) === null || _a === void 0 ? void 0 : _a.slice(0, -1).split(",");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/renderers/shared.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/renderers/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as A3D from "../../../abstract-3d";
|
|
2
2
|
import { zOrderElement } from "./shared";
|
|
3
3
|
import { EmbededImage } from "../svg-encoding";
|
|
4
|
-
export declare function plane(p: A3D.Plane, point: (x: number, y: number) => A3D.Vec2, color: string, onlyStroke: boolean | undefined, grayScale: boolean | undefined,
|
|
4
|
+
export declare function plane(p: A3D.Plane, point: (x: number, y: number) => A3D.Vec2, color: string, onlyStroke: boolean | undefined, grayScale: boolean | undefined, stroke: number, onlyStrokeFill: string, parentPos: A3D.Vec3, parentRot: A3D.Vec3, view: A3D.View, image?: EmbededImage | undefined): ReadonlyArray<zOrderElement>;
|
|
5
5
|
//# sourceMappingURL=svg-plane.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-plane.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAsB,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAC;AAGrE,wBAAgB,KAAK,CACnB,CAAC,EAAE,GAAG,CAAC,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC,IAAI,EACzC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,
|
|
1
|
+
{"version":3,"file":"svg-plane.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAsB,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAwB,MAAM,iBAAiB,CAAC;AAGrE,wBAAgB,KAAK,CACnB,CAAC,EAAE,GAAG,CAAC,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC,IAAI,EACzC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,GAAG,CAAC,IAAI,EACnB,SAAS,EAAE,GAAG,CAAC,IAAI,EACnB,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,GAC/B,aAAa,CAAC,aAAa,CAAC,CA0B9B"}
|
|
@@ -28,13 +28,15 @@ const A3D = __importStar(require("../../../abstract-3d"));
|
|
|
28
28
|
const shared_1 = require("./shared");
|
|
29
29
|
const svg_encoding_1 = require("../svg-encoding");
|
|
30
30
|
const shared_2 = require("../../shared");
|
|
31
|
-
function plane(p, point, color, onlyStroke, grayScale,
|
|
31
|
+
function plane(p, point, color, onlyStroke, grayScale, stroke, onlyStrokeFill, parentPos, parentRot, view, image) {
|
|
32
32
|
var _a;
|
|
33
33
|
const half = A3D.vec2Scale(p.size, 0.5);
|
|
34
34
|
const pos = A3D.vec3TransRot(p.pos, parentPos, parentRot);
|
|
35
35
|
const rot = A3D.vec3RotCombine(parentRot, (_a = p.rot) !== null && _a !== void 0 ? _a : A3D.vec3Zero);
|
|
36
36
|
const vec3tr = (point) => A3D.vec3TransRot(point, pos, rot);
|
|
37
|
+
const v1 = vec3tr(A3D.vec3(-half.x, -half.y, 0));
|
|
37
38
|
const v2 = vec3tr(A3D.vec3(half.x, -half.y, 0));
|
|
39
|
+
const v3 = vec3tr(A3D.vec3(half.x, half.y, 0));
|
|
38
40
|
const v4 = vec3tr(A3D.vec3(-half.x, half.y, 0));
|
|
39
41
|
if (view === "front" && image) {
|
|
40
42
|
const [leftX, rightX] = v4.x > v2.x ? [v2.x, v4.x] : [v4.x, v2.x];
|
|
@@ -45,13 +47,11 @@ function plane(p, point, color, onlyStroke, grayScale, _stroke, onlyStrokeFill,
|
|
|
45
47
|
const img = (0, svg_encoding_1.svgImage)(bottomLeft, A3D.vec2(topRight.x - bottomLeft.x, topRight.y - bottomLeft.y), degrees, image);
|
|
46
48
|
return [(0, shared_1.zElem)(img, (v2.z + v4.z) / 2)];
|
|
47
49
|
}
|
|
48
|
-
const v1 = vec3tr(A3D.vec3(-half.x, -half.y, 0));
|
|
49
|
-
const v3 = vec3tr(A3D.vec3(half.x, half.y, 0));
|
|
50
50
|
const points = [point(v1.x, v1.y), point(v2.x, v2.y), point(v3.x, v3.y), point(v4.x, v4.y)];
|
|
51
|
-
const [
|
|
52
|
-
? [grayScale ? shared_1.gray : color, onlyStrokeFill,
|
|
51
|
+
const [strokeColor, fill, strokeThickness] = onlyStroke
|
|
52
|
+
? [grayScale ? shared_1.gray : color, onlyStrokeFill, stroke]
|
|
53
53
|
: [shared_1.black, grayScale ? (0, shared_2.rgbGray)(color) : color, 0];
|
|
54
|
-
return [(0, shared_1.zElem)((0, svg_encoding_1.svgPolygon)(points, fill,
|
|
54
|
+
return [(0, shared_1.zElem)((0, svg_encoding_1.svgPolygon)(points, fill, strokeColor, strokeThickness), A3D.vec3ZMean(v1, v2, v3, v4))];
|
|
55
55
|
}
|
|
56
56
|
exports.plane = plane;
|
|
57
57
|
//# sourceMappingURL=svg-plane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-plane.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4C;AAC5C,qCAA6D;AAC7D,kDAAqE;AACrE,yCAAuC;AAEvC,SAAgB,KAAK,CACnB,CAAY,EACZ,KAAyC,EACzC,KAAa,EACb,UAA+B,EAC/B,SAA8B,EAC9B,
|
|
1
|
+
{"version":3,"file":"svg-plane.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-plane.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Polygon, Vec3, Vec2 } from "../../../abstract-3d";
|
|
2
2
|
import { zOrderElement } from "./shared";
|
|
3
|
-
export declare function polygon(p: Polygon, point: (x: number, y: number) => Vec2, color: string, onlyStroke: boolean | undefined, grayScale: boolean | undefined, onlyStrokeFill: string,
|
|
3
|
+
export declare function polygon(p: Polygon, point: (x: number, y: number) => Vec2, color: string, onlyStroke: boolean | undefined, grayScale: boolean | undefined, onlyStrokeFill: string, stroke: number, parentPos: Vec3, parentRot: Vec3): ReadonlyArray<zOrderElement>;
|
|
4
4
|
//# sourceMappingURL=svg-polygon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-polygon.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,IAAI,EAAE,IAAI,EAA0C,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAe,aAAa,EAAe,MAAM,UAAU,CAAC;AAInE,wBAAgB,OAAO,CACrB,CAAC,EAAE,OAAO,EACV,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,cAAc,EAAE,MAAM,EACtB,
|
|
1
|
+
{"version":3,"file":"svg-polygon.d.ts","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,IAAI,EAAE,IAAI,EAA0C,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAe,aAAa,EAAe,MAAM,UAAU,CAAC;AAInE,wBAAgB,OAAO,CACrB,CAAC,EAAE,OAAO,EACV,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,EACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,SAAS,EAAE,OAAO,GAAG,SAAS,EAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,GACd,aAAa,CAAC,aAAa,CAAC,CAS9B"}
|
|
@@ -5,16 +5,16 @@ const abstract_3d_1 = require("../../../abstract-3d");
|
|
|
5
5
|
const shared_1 = require("./shared");
|
|
6
6
|
const svg_encoding_1 = require("../svg-encoding");
|
|
7
7
|
const shared_2 = require("../../shared");
|
|
8
|
-
function polygon(p, point, color, onlyStroke, grayScale, onlyStrokeFill,
|
|
8
|
+
function polygon(p, point, color, onlyStroke, grayScale, onlyStrokeFill, stroke, parentPos, parentRot) {
|
|
9
9
|
var _a;
|
|
10
10
|
const pos = (0, abstract_3d_1.vec3TransRot)(p.pos, parentPos, parentRot);
|
|
11
11
|
const rot = (0, abstract_3d_1.vec3RotCombine)(parentRot, (_a = p.rot) !== null && _a !== void 0 ? _a : abstract_3d_1.vec3Zero);
|
|
12
12
|
const rotatedPoints = p.points.map((p) => (0, abstract_3d_1.vec3TransRot)(p, pos, rot));
|
|
13
13
|
const points = rotatedPoints.map(({ x, y }) => point(x, y));
|
|
14
|
-
const [strokeColor, fill] = onlyStroke
|
|
15
|
-
? [grayScale ? shared_1.gray : color, onlyStrokeFill]
|
|
16
|
-
: [shared_1.transparent, grayScale ? (0, shared_2.rgbGray)(color) : color];
|
|
17
|
-
return [(0, shared_1.zElem)((0, svg_encoding_1.svgPolygon)(points, fill, strokeColor,
|
|
14
|
+
const [strokeColor, fill, strokeThickness] = onlyStroke
|
|
15
|
+
? [grayScale ? shared_1.gray : color, onlyStrokeFill, stroke]
|
|
16
|
+
: [shared_1.transparent, grayScale ? (0, shared_2.rgbGray)(color) : color, 0];
|
|
17
|
+
return [(0, shared_1.zElem)((0, svg_encoding_1.svgPolygon)(points, fill, strokeColor, strokeThickness), (0, abstract_3d_1.vec3ZMean)(...rotatedPoints))];
|
|
18
18
|
}
|
|
19
19
|
exports.polygon = polygon;
|
|
20
20
|
//# sourceMappingURL=svg-polygon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-polygon.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-polygon.ts"],"names":[],"mappings":";;;AAAA,sDAA8G;AAC9G,qCAAmE;AACnE,kDAA6C;AAC7C,yCAAuC;AAEvC,SAAgB,OAAO,CACrB,CAAU,EACV,KAAqC,EACrC,KAAa,EACb,UAA+B,EAC/B,SAA8B,EAC9B,cAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"svg-polygon.js","sourceRoot":"","sources":["../../../../src/renderers/svg/svg-geometries/svg-polygon.ts"],"names":[],"mappings":";;;AAAA,sDAA8G;AAC9G,qCAAmE;AACnE,kDAA6C;AAC7C,yCAAuC;AAEvC,SAAgB,OAAO,CACrB,CAAU,EACV,KAAqC,EACrC,KAAa,EACb,UAA+B,EAC/B,SAA8B,EAC9B,cAAsB,EACtB,MAAc,EACd,SAAe,EACf,SAAe;;IAEf,MAAM,GAAG,GAAG,IAAA,0BAAY,EAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAA,4BAAc,EAAC,SAAS,EAAE,MAAA,CAAC,CAAC,GAAG,mCAAI,sBAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAY,EAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,GAAG,UAAU;QACrD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAI,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC;QACpD,CAAC,CAAC,CAAC,oBAAW,EAAE,SAAS,CAAC,CAAC,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAA,cAAK,EAAC,IAAA,yBAAU,EAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,IAAA,uBAAS,EAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC;AAnBD,0BAmBC"}
|
|
@@ -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,mBAAmB,CAAC;AAa3B,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,GAC/B;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,EACL,IAAI,EAUL,MAAM,mBAAmB,CAAC;AAa3B,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,GAC/B;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA6D7E"}
|
package/lib/renderers/svg/svg.js
CHANGED
|
@@ -14,7 +14,7 @@ const svg_cone_1 = require("./svg-geometries/svg-cone");
|
|
|
14
14
|
const shared_1 = require("../shared");
|
|
15
15
|
const svg_encoding_1 = require("./svg-encoding");
|
|
16
16
|
function toSvg(scene, view, stroke, scale, onlyStroke, grayScale, onlyStrokeFill = "rgba(255,255,255,0)", font = "", buffers) {
|
|
17
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
18
18
|
const factor = scale
|
|
19
19
|
? scale.size /
|
|
20
20
|
(scale.scaleByWidth
|
|
@@ -27,7 +27,7 @@ function toSvg(scene, view, stroke, scale, onlyStroke, grayScale, onlyStrokeFill
|
|
|
27
27
|
: 1;
|
|
28
28
|
const unitRot = (0, abstract_3d_1.vec3RotCombine)((0, shared_1.rotationForCameraPos)(view), (_a = scene.rotation_deprecated) !== null && _a !== void 0 ? _a : abstract_3d_1.vec3Zero);
|
|
29
29
|
const unitPos = (0, abstract_3d_1.vec3Rot)((_b = scene.center_deprecated) !== null && _b !== void 0 ? _b : abstract_3d_1.vec3Zero, abstract_3d_1.vec3Zero, (_c = scene.rotation_deprecated) !== null && _c !== void 0 ? _c : abstract_3d_1.vec3Zero);
|
|
30
|
-
const [size, center] = (0, shared_1.sizeCenterForCameraPos)(scene.size_deprecated, unitPos,
|
|
30
|
+
const [size, center] = (0, shared_1.sizeCenterForCameraPos)(scene.size_deprecated, unitPos, unitRot, factor);
|
|
31
31
|
const unitHalfSize = (0, abstract_3d_1.vec3Scale)(size, 0.5);
|
|
32
32
|
const centerAdj = (0, abstract_3d_1.vec3)(center.x - stroke * 0.75, center.y + stroke * 0.75, center.z);
|
|
33
33
|
const width = size.x + 1.5 * stroke;
|
|
@@ -36,17 +36,17 @@ function toSvg(scene, view, stroke, scale, onlyStroke, grayScale, onlyStrokeFill
|
|
|
36
36
|
const point = (x, y) => (0, abstract_3d_1.vec2)(-centerAdj.x + unitHalfSize.x + x * factor, centerAdj.y + unitHalfSize.y - y * factor);
|
|
37
37
|
for (const g of scene.groups) {
|
|
38
38
|
const pos = (0, abstract_3d_1.vec3Rot)(g.pos, unitPos, unitRot);
|
|
39
|
-
const rot = (0, abstract_3d_1.vec3RotCombine)(unitRot, (
|
|
39
|
+
const rot = (0, abstract_3d_1.vec3RotCombine)(unitRot, (_d = g.rot) !== null && _d !== void 0 ? _d : abstract_3d_1.vec3Zero);
|
|
40
40
|
elements.push(...svgGroup(g, pos, rot, point, view, factor, onlyStroke, grayScale, onlyStrokeFill, font, stroke, buffers));
|
|
41
41
|
}
|
|
42
42
|
elements.sort((a, b) => a.zOrder - b.zOrder);
|
|
43
|
-
const cameraPos = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(1, 1, 1), abstract_3d_1.vec3Zero, (
|
|
44
|
-
for (const d of (
|
|
43
|
+
const cameraPos = (0, abstract_3d_1.vec3Rot)((0, abstract_3d_1.vec3)(1, 1, 1), abstract_3d_1.vec3Zero, (_e = scene.rotation_deprecated) !== null && _e !== void 0 ? _e : abstract_3d_1.vec3Zero);
|
|
44
|
+
for (const d of (_g = (_f = scene.dimensions_deprecated) === null || _f === void 0 ? void 0 : _f.dimensions) !== null && _g !== void 0 ? _g : []) {
|
|
45
45
|
if (flipViews(d.views[0], cameraPos) === view) {
|
|
46
46
|
const pos = (0, abstract_3d_1.vec3Rot)(d.pos, unitPos, unitRot);
|
|
47
47
|
const rot = (0, abstract_3d_1.vec3RotCombine)(unitRot, d.rot);
|
|
48
48
|
for (const m of d.meshes) {
|
|
49
|
-
elements.push(...svgMesh(m, pos, rot, point, view, factor, (
|
|
49
|
+
elements.push(...svgMesh(m, pos, rot, point, view, factor, (_j = (_h = scene.dimensions_deprecated) === null || _h === void 0 ? void 0 : _h.material.normal) !== null && _j !== void 0 ? _j : "", false, false, onlyStrokeFill, font, stroke));
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":";;;AAAA,6DAAsD;AACtD,mDAc2B;AAE3B,sDAA+C;AAC/C,gEAAyD;AACzD,wDAAiD;AACjD,0DAAmD;AACnD,0DAAmD;AACnD,8DAAuD;AACvD,wDAAiD;AACjD,wDAAiD;AACjD,sCAAyE;AACzE,iDAAmD;AAEnD,SAAgB,KAAK,CACnB,KAAY,EACZ,IAAU,EACV,MAAc,EACd,KAAiE,EACjE,UAAoB,EACpB,SAAmB,EACnB,iBAAyB,qBAAqB,EAC9C,OAAe,EAAE,EACjB,OAAgC;;IAEhC,MAAM,MAAM,GAAG,KAAK;QAClB,CAAC,CAAC,KAAK,CAAC,IAAI;YACV,CAAC,KAAK,CAAC,YAAY;gBACjB,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;oBACnC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACzB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3B,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ;oBACrC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACzB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,OAAO,GAAG,IAAA,4BAAc,EAAC,IAAA,6BAAoB,EAAC,IAAI,CAAC,EAAE,MAAA,KAAK,CAAC,mBAAmB,mCAAI,sBAAQ,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,IAAA,qBAAO,EAAC,MAAA,KAAK,CAAC,iBAAiB,mCAAI,sBAAQ,EAAE,sBAAQ,EAAE,MAAA,KAAK,CAAC,mBAAmB,mCAAI,sBAAQ,CAAC,CAAC;IAC9G,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAA,+BAAsB,
|
|
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.1.
|
|
3
|
+
"version": "0.1.12",
|
|
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",
|
|
@@ -27,5 +27,5 @@
|
|
|
27
27
|
"@types/react-reconciler": "^0.28.8",
|
|
28
28
|
"@types/three": "0.165.0"
|
|
29
29
|
},
|
|
30
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "6f90392ec997c950ae3aaf4d5928c953d17381c1"
|
|
31
31
|
}
|
package/src/renderers/dxf/dxf.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { dxfBox } from "./dxf-geometries/dxf-box";
|
|
|
5
5
|
import { dxfCylinder } from "./dxf-geometries/dxf-cylinder";
|
|
6
6
|
import { dxfCone } from "./dxf-geometries/dxf-cone";
|
|
7
7
|
import { dxfPolygon } from "./dxf-geometries/dxf-polygon";
|
|
8
|
-
import {
|
|
8
|
+
import { rotationForCameraPos, sizeCenterForCameraPos } from "../shared";
|
|
9
9
|
|
|
10
10
|
export const toDxf = (scene: A3D.Scene, view: A3D.View): string => {
|
|
11
11
|
const unitRot = A3D.vec3RotCombine(rotationForCameraPos(view), scene.rotation_deprecated ?? A3D.vec3Zero);
|
|
@@ -14,14 +14,7 @@ export const toDxf = (scene: A3D.Scene, view: A3D.View): string => {
|
|
|
14
14
|
A3D.vec3Zero,
|
|
15
15
|
scene.rotation_deprecated ?? A3D.vec3Zero
|
|
16
16
|
);
|
|
17
|
-
const [size, center] = sizeCenterForCameraPos(
|
|
18
|
-
scene.size_deprecated,
|
|
19
|
-
rotatedCenter,
|
|
20
|
-
dimBoundZero,
|
|
21
|
-
A3D.vec3Zero,
|
|
22
|
-
view,
|
|
23
|
-
1
|
|
24
|
-
);
|
|
17
|
+
const [size, center] = sizeCenterForCameraPos(scene.size_deprecated, rotatedCenter, A3D.vec3Zero, 1);
|
|
25
18
|
return dxfHeader(size, center) + scene.groups.reduce((a, c) => a + dxfGroup(c, center, unitRot), "") + dxfFooter;
|
|
26
19
|
};
|
|
27
20
|
|
package/src/renderers/shared.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Vec3,
|
|
3
3
|
View,
|
|
4
|
-
DimensionBounds,
|
|
5
4
|
vec3Add,
|
|
6
5
|
vec3,
|
|
7
6
|
vec3Sub,
|
|
@@ -10,70 +9,27 @@ import {
|
|
|
10
9
|
bounds3FromVec3Array,
|
|
11
10
|
bounds3ToSize,
|
|
12
11
|
vec3Zero,
|
|
13
|
-
bounds3Zero,
|
|
14
12
|
} from "../abstract-3d";
|
|
15
13
|
|
|
16
14
|
export function sizeCenterForCameraPos(
|
|
17
15
|
size: Vec3,
|
|
18
16
|
center: Vec3,
|
|
19
|
-
_dimBound: DimensionBounds | undefined,
|
|
20
17
|
rotation: Vec3,
|
|
21
|
-
_view: View,
|
|
22
18
|
factor: number
|
|
23
19
|
): readonly [Vec3, Vec3] {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// vec3Add(center, vec3((dimBound.back.max.x - dimBound.back.min.x) / 2, (dimBound.back.max.y - dimBound.back.min.y) / 2, 0)),
|
|
36
|
-
// ];
|
|
37
|
-
// case "top":
|
|
38
|
-
// return [
|
|
39
|
-
// vec3Add(size, vec3(dimBound.top.min.x + dimBound.top.max.x, 0, dimBound.top.min.y + dimBound.top.max.y)),
|
|
40
|
-
// vec3Add(center, vec3((dimBound.top.max.x - dimBound.top.min.x) / 2, (dimBound.top.max.y - dimBound.top.min.y) / 2, 0)),
|
|
41
|
-
// ];
|
|
42
|
-
// case "bottom":
|
|
43
|
-
// return [
|
|
44
|
-
// vec3Add(size, vec3(dimBound.bottom.min.x + dimBound.bottom.max.x, 0, dimBound.bottom.min.y + dimBound.bottom.max.y)),
|
|
45
|
-
// vec3Add(center, vec3((dimBound.bottom.max.x - dimBound.bottom.min.x) / 2, (dimBound.bottom.max.y - dimBound.bottom.min.y) / 2, 0)),
|
|
46
|
-
// ];
|
|
47
|
-
// case "right":
|
|
48
|
-
// return [
|
|
49
|
-
// vec3Add(size, vec3(0, dimBound.right.min.y + dimBound.right.max.y, dimBound.right.min.x + dimBound.right.max.x)),
|
|
50
|
-
// vec3Add(center, vec3((dimBound.right.max.x - dimBound.right.min.x) / 2, (dimBound.right.max.y - dimBound.right.min.y) / 2, 0)),
|
|
51
|
-
// ];
|
|
52
|
-
// case "left":
|
|
53
|
-
// return [
|
|
54
|
-
// vec3Add(size, vec3(0, dimBound.left.min.y + dimBound.left.max.y, dimBound.left.min.x + dimBound.left.max.x)),
|
|
55
|
-
// vec3Add(center, vec3((dimBound.left.max.x - dimBound.left.min.x) / 2, (dimBound.left.max.y - dimBound.left.min.y) / 2, 0)),
|
|
56
|
-
// ];
|
|
57
|
-
// }
|
|
58
|
-
// })();
|
|
59
|
-
|
|
60
|
-
const [sizeAdj, centerAdj] = (() => {
|
|
61
|
-
return [size, center];
|
|
62
|
-
})();
|
|
63
|
-
|
|
64
|
-
const half = vec3Scale(sizeAdj, 0.5);
|
|
65
|
-
const min = vec3Sub(centerAdj, half);
|
|
66
|
-
const max = vec3Add(centerAdj, half);
|
|
67
|
-
const v1 = vec3Rot(vec3(min.x, min.y, max.z), centerAdj, rotation);
|
|
68
|
-
const v2 = vec3Rot(vec3(max.x, min.y, max.z), centerAdj, rotation);
|
|
69
|
-
const v3 = vec3Rot(vec3(max.x, max.y, max.z), centerAdj, rotation);
|
|
70
|
-
const v4 = vec3Rot(vec3(min.x, max.y, max.z), centerAdj, rotation);
|
|
71
|
-
const v5 = vec3Rot(vec3(min.x, min.y, min.z), centerAdj, rotation);
|
|
72
|
-
const v6 = vec3Rot(vec3(max.x, min.y, min.z), centerAdj, rotation);
|
|
73
|
-
const v7 = vec3Rot(vec3(max.x, max.y, min.z), centerAdj, rotation);
|
|
74
|
-
const v8 = vec3Rot(vec3(min.x, max.y, min.z), centerAdj, rotation);
|
|
20
|
+
const half = vec3Scale(size, 0.5);
|
|
21
|
+
const min = vec3Sub(center, half);
|
|
22
|
+
const max = vec3Add(center, half);
|
|
23
|
+
const v1 = vec3Rot(vec3(min.x, min.y, max.z), center, rotation);
|
|
24
|
+
const v2 = vec3Rot(vec3(max.x, min.y, max.z), center, rotation);
|
|
25
|
+
const v3 = vec3Rot(vec3(max.x, max.y, max.z), center, rotation);
|
|
26
|
+
const v4 = vec3Rot(vec3(min.x, max.y, max.z), center, rotation);
|
|
27
|
+
const v5 = vec3Rot(vec3(min.x, min.y, min.z), center, rotation);
|
|
28
|
+
const v6 = vec3Rot(vec3(max.x, min.y, min.z), center, rotation);
|
|
29
|
+
const v7 = vec3Rot(vec3(max.x, max.y, min.z), center, rotation);
|
|
30
|
+
const v8 = vec3Rot(vec3(min.x, max.y, min.z), center, rotation);
|
|
75
31
|
const bounds = bounds3FromVec3Array([v1, v2, v3, v4, v5, v6, v7, v8]);
|
|
76
|
-
return [vec3Scale(bounds3ToSize(bounds), factor), vec3Scale(
|
|
32
|
+
return [vec3Scale(bounds3ToSize(bounds), factor), vec3Scale(center, factor)];
|
|
77
33
|
}
|
|
78
34
|
|
|
79
35
|
export function rotationForCameraPos(view: View): Vec3 {
|
|
@@ -94,16 +50,6 @@ export function rotationForCameraPos(view: View): Vec3 {
|
|
|
94
50
|
}
|
|
95
51
|
}
|
|
96
52
|
|
|
97
|
-
export const dimBoundZero: DimensionBounds = {
|
|
98
|
-
front: bounds3Zero,
|
|
99
|
-
back: bounds3Zero,
|
|
100
|
-
top: bounds3Zero,
|
|
101
|
-
bottom: bounds3Zero,
|
|
102
|
-
right: bounds3Zero,
|
|
103
|
-
left: bounds3Zero,
|
|
104
|
-
threeD: bounds3Zero,
|
|
105
|
-
};
|
|
106
|
-
|
|
107
53
|
export function rgbGray(color: string): string {
|
|
108
54
|
const parts = color.split("(")[1]?.slice(0, -1).split(",");
|
|
109
55
|
const c = Number(parts?.[0] ?? 416) * 0.3 + Number(parts?.[1] ?? 212) * 0.587 + Number(parts?.[2] ?? 1100) * 0.114;
|
|
@@ -9,7 +9,7 @@ export function plane(
|
|
|
9
9
|
color: string,
|
|
10
10
|
onlyStroke: boolean | undefined,
|
|
11
11
|
grayScale: boolean | undefined,
|
|
12
|
-
|
|
12
|
+
stroke: number,
|
|
13
13
|
onlyStrokeFill: string,
|
|
14
14
|
parentPos: A3D.Vec3,
|
|
15
15
|
parentRot: A3D.Vec3,
|
|
@@ -21,7 +21,9 @@ export function plane(
|
|
|
21
21
|
const rot = A3D.vec3RotCombine(parentRot, p.rot ?? A3D.vec3Zero);
|
|
22
22
|
const vec3tr = (point: A3D.Vec3): A3D.Vec3 => A3D.vec3TransRot(point, pos, rot);
|
|
23
23
|
|
|
24
|
+
const v1 = vec3tr(A3D.vec3(-half.x, -half.y, 0));
|
|
24
25
|
const v2 = vec3tr(A3D.vec3(half.x, -half.y, 0));
|
|
26
|
+
const v3 = vec3tr(A3D.vec3(half.x, half.y, 0));
|
|
25
27
|
const v4 = vec3tr(A3D.vec3(-half.x, half.y, 0));
|
|
26
28
|
|
|
27
29
|
if (view === "front" && image) {
|
|
@@ -34,11 +36,9 @@ export function plane(
|
|
|
34
36
|
return [zElem(img, (v2.z + v4.z) / 2)];
|
|
35
37
|
}
|
|
36
38
|
|
|
37
|
-
const v1 = vec3tr(A3D.vec3(-half.x, -half.y, 0));
|
|
38
|
-
const v3 = vec3tr(A3D.vec3(half.x, half.y, 0));
|
|
39
39
|
const points = [point(v1.x, v1.y), point(v2.x, v2.y), point(v3.x, v3.y), point(v4.x, v4.y)];
|
|
40
|
-
const [
|
|
41
|
-
? [grayScale ? gray : color, onlyStrokeFill,
|
|
40
|
+
const [strokeColor, fill, strokeThickness] = onlyStroke
|
|
41
|
+
? [grayScale ? gray : color, onlyStrokeFill, stroke]
|
|
42
42
|
: [black, grayScale ? rgbGray(color) : color, 0];
|
|
43
|
-
return [zElem(svgPolygon(points, fill,
|
|
43
|
+
return [zElem(svgPolygon(points, fill, strokeColor, strokeThickness), A3D.vec3ZMean(v1, v2, v3, v4))];
|
|
44
44
|
}
|
|
@@ -10,7 +10,7 @@ export function polygon(
|
|
|
10
10
|
onlyStroke: boolean | undefined,
|
|
11
11
|
grayScale: boolean | undefined,
|
|
12
12
|
onlyStrokeFill: string,
|
|
13
|
-
|
|
13
|
+
stroke: number,
|
|
14
14
|
parentPos: Vec3,
|
|
15
15
|
parentRot: Vec3
|
|
16
16
|
): ReadonlyArray<zOrderElement> {
|
|
@@ -18,8 +18,8 @@ export function polygon(
|
|
|
18
18
|
const rot = vec3RotCombine(parentRot, p.rot ?? vec3Zero);
|
|
19
19
|
const rotatedPoints = p.points.map((p) => vec3TransRot(p, pos, rot));
|
|
20
20
|
const points = rotatedPoints.map(({ x, y }) => point(x, y));
|
|
21
|
-
const [strokeColor, fill] = onlyStroke
|
|
22
|
-
? [grayScale ? gray : color, onlyStrokeFill]
|
|
23
|
-
: [transparent, grayScale ? rgbGray(color) : color];
|
|
24
|
-
return [zElem(svgPolygon(points, fill, strokeColor,
|
|
21
|
+
const [strokeColor, fill, strokeThickness] = onlyStroke
|
|
22
|
+
? [grayScale ? gray : color, onlyStrokeFill, stroke]
|
|
23
|
+
: [transparent, grayScale ? rgbGray(color) : color, 0];
|
|
24
|
+
return [zElem(svgPolygon(points, fill, strokeColor, strokeThickness), vec3ZMean(...rotatedPoints))];
|
|
25
25
|
}
|
package/src/renderers/svg/svg.ts
CHANGED
|
@@ -49,14 +49,7 @@ export function toSvg(
|
|
|
49
49
|
: 1;
|
|
50
50
|
const unitRot = vec3RotCombine(rotationForCameraPos(view), scene.rotation_deprecated ?? vec3Zero);
|
|
51
51
|
const unitPos = vec3Rot(scene.center_deprecated ?? vec3Zero, vec3Zero, scene.rotation_deprecated ?? vec3Zero);
|
|
52
|
-
const [size, center] = sizeCenterForCameraPos(
|
|
53
|
-
scene.size_deprecated,
|
|
54
|
-
unitPos,
|
|
55
|
-
scene.dimensions_deprecated?.bounds,
|
|
56
|
-
unitRot,
|
|
57
|
-
view,
|
|
58
|
-
factor
|
|
59
|
-
);
|
|
52
|
+
const [size, center] = sizeCenterForCameraPos(scene.size_deprecated, unitPos, unitRot, factor);
|
|
60
53
|
const unitHalfSize = vec3Scale(size, 0.5);
|
|
61
54
|
const centerAdj = vec3(center.x - stroke * 0.75, center.y + stroke * 0.75, center.z);
|
|
62
55
|
const width = size.x + 1.5 * stroke;
|