abstract-3d 2.6.20 → 2.7.0
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/abstract-3d.d.ts +13 -1
- package/lib/abstract-3d.d.ts.map +1 -1
- package/lib/abstract-3d.js +77 -0
- package/lib/abstract-3d.js.map +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-color.d.ts +5 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-color.d.ts.map +1 -0
- package/lib/renderers/dxf/{color.js → dxf-encoding/dxf-color.js} +24 -19
- package/lib/renderers/dxf/dxf-encoding/dxf-color.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts +13 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-common.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-common.js +23 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-common.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts +6 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js +50 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-dimension.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts +2 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-footer.d.ts.map +1 -0
- package/lib/renderers/dxf/{dxf-encoding.js → dxf-encoding/dxf-footer.js} +3 -1819
- package/lib/renderers/dxf/{dxf-encoding.js.map → dxf-encoding/dxf-footer.js.map} +1 -1
- package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts +3 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-header.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-header.js +1653 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-header.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-line.d.ts +5 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-line.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-line.js +29 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-line.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts +5 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-polyline.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js +73 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-polyline.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-quad.d.ts +5 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-quad.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-quad.js +39 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-quad.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-text.d.ts +19 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-text.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-text.js +70 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-text.js.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-triangle.d.ts +5 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-triangle.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-triangle.js +3 -0
- package/lib/renderers/dxf/dxf-encoding/dxf-triangle.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js +8 -8
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +4 -4
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +6 -5
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts +4 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js +13 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-dimension.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-image.js +8 -7
- package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +3 -3
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +7 -6
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts +2 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +6 -5
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-text.d.ts +4 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-text.d.ts.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-text.js +8 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-text.js.map +1 -0
- package/lib/renderers/dxf/dxf.d.ts +4 -3
- package/lib/renderers/dxf/dxf.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf.js +36 -22
- package/lib/renderers/dxf/dxf.js.map +1 -1
- package/lib/renderers/dxf/index.d.ts +1 -1
- package/lib/renderers/dxf/index.d.ts.map +1 -1
- package/lib/renderers/react/react-dimension.d.ts +4 -3
- package/lib/renderers/react/react-dimension.d.ts.map +1 -1
- package/lib/renderers/react/react-dimension.js +4 -3
- package/lib/renderers/react/react-dimension.js.map +1 -1
- package/lib/renderers/svg/svg.d.ts.map +1 -1
- package/lib/renderers/svg/svg.js +6 -27
- package/lib/renderers/svg/svg.js.map +1 -1
- package/lib/utils.d.ts +3 -0
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +30 -0
- package/lib/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/abstract-3d.ts +127 -7
- package/src/renderers/dxf/{color.ts → dxf-encoding/dxf-color.ts} +27 -20
- package/src/renderers/dxf/dxf-encoding/dxf-common.ts +31 -0
- package/src/renderers/dxf/dxf-encoding/dxf-dimension.ts +60 -0
- package/src/renderers/dxf/{dxf-encoding.ts → dxf-encoding/dxf-footer.ts} +4 -1870
- package/src/renderers/dxf/dxf-encoding/dxf-header.ts +1657 -0
- package/src/renderers/dxf/dxf-encoding/dxf-line.ts +35 -0
- package/src/renderers/dxf/dxf-encoding/dxf-polyline.ts +83 -0
- package/src/renderers/dxf/dxf-encoding/dxf-quad.ts +47 -0
- package/src/renderers/dxf/dxf-encoding/dxf-text.ts +71 -0
- package/src/renderers/dxf/dxf-encoding/dxf-triangle.ts +12 -0
- package/src/renderers/dxf/dxf-geometries/dxf-box.ts +18 -8
- package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +13 -4
- package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +13 -11
- package/src/renderers/dxf/dxf-geometries/dxf-dimension.ts +14 -0
- package/src/renderers/dxf/dxf-geometries/dxf-image.ts +11 -9
- package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +7 -6
- package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +8 -6
- package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +8 -6
- package/src/renderers/dxf/dxf-geometries/dxf-text.ts +9 -0
- package/src/renderers/dxf/dxf.ts +57 -39
- package/src/renderers/dxf/index.ts +1 -1
- package/src/renderers/react/react-dimension.tsx +8 -4
- package/src/renderers/svg/svg.ts +6 -34
- package/src/utils.ts +39 -0
- package/lib/renderers/dxf/color.d.ts +0 -7
- package/lib/renderers/dxf/color.d.ts.map +0 -1
- package/lib/renderers/dxf/color.js.map +0 -1
- package/lib/renderers/dxf/dxf-encoding.d.ts +0 -17
- package/lib/renderers/dxf/dxf-encoding.d.ts.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { vec2Scale, vec3TransRot, vec3RotCombine, vec3Zero,
|
|
2
|
-
import {
|
|
1
|
+
import { vec2Scale, vec3, vec3TransRot, vec3RotCombine, vec3Zero, } from "../../../abstract-3d.js";
|
|
2
|
+
import { dxfEncQuad } from "../dxf-encoding/dxf-quad.js";
|
|
3
3
|
export function dxfPlane(p, m, parentPos, parentRot, handleRef) {
|
|
4
4
|
const half = vec2Scale(p.size, 0.5);
|
|
5
5
|
const pos = vec3TransRot(p.pos, parentPos, parentRot);
|
|
6
6
|
const rot = vec3RotCombine(parentRot, p.rot ?? vec3Zero);
|
|
7
7
|
const vec3tr = (x, y) => vec3TransRot(vec3(x, y, 0), pos, rot);
|
|
8
|
-
return
|
|
8
|
+
return dxfEncQuad(vec3tr(-half.x, -half.y), vec3tr(half.x, -half.y), vec3tr(half.x, half.y), vec3tr(-half.x, half.y), m.normal, handleRef);
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=dxf-plane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-plane.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,QAAQ,
|
|
1
|
+
{"version":3,"file":"dxf-plane.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-plane.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,SAAS,EACT,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,QAAQ,GACT,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,UAAU,QAAQ,CAAC,CAAQ,EAAE,CAAW,EAAE,SAAe,EAAE,SAAe,EAAE,SAAiB;IACjG,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,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,MAAM,GAAG,CAAC,CAAS,EAAE,CAAS,EAAQ,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrF,OAAO,UAAU,CACf,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACvB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EACtB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EACvB,CAAC,CAAC,MAAM,EACR,SAAS,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Polygon, Material, Vec3 } from "../../../abstract-3d.js";
|
|
2
|
-
import { Handle } from "../dxf-encoding.js";
|
|
1
|
+
import { type Polygon, type Material, type Vec3 } from "../../../abstract-3d.js";
|
|
2
|
+
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
3
|
export declare function dxfPolygon(p: Polygon, m: Material, parentPos: Vec3, parentRot: Vec3, handleRef: Handle): string;
|
|
4
4
|
//# sourceMappingURL=dxf-polygon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-polygon.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAA0C,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"dxf-polygon.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-polygon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAA0C,MAAM,yBAAyB,CAAC;AACzH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAO5D,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAyE/G"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { vec3RotCombine, vec3TransRot, vec3Zero } from "../../../abstract-3d.js";
|
|
2
|
+
import { dxfEncQuad } from "../dxf-encoding/dxf-quad.js";
|
|
3
|
+
import { dxfEncTriangle } from "../dxf-encoding/dxf-triangle.js";
|
|
3
4
|
const QUAD_STRIDE = 4;
|
|
4
5
|
const TRIANGLE_STRIDE = 3;
|
|
5
6
|
export function dxfPolygon(p, m, parentPos, parentRot, handleRef) {
|
|
@@ -15,7 +16,7 @@ export function dxfPolygon(p, m, parentPos, parentRot, handleRef) {
|
|
|
15
16
|
const vec3 = points[i + 2];
|
|
16
17
|
const vec4 = points[i + 3];
|
|
17
18
|
if (vec1 && vec2 && vec3 && vec4) {
|
|
18
|
-
polygonString +=
|
|
19
|
+
polygonString += dxfEncQuad(vec1, vec2, vec3, vec4, col, handleRef);
|
|
19
20
|
}
|
|
20
21
|
i += QUAD_STRIDE;
|
|
21
22
|
}
|
|
@@ -27,7 +28,7 @@ export function dxfPolygon(p, m, parentPos, parentRot, handleRef) {
|
|
|
27
28
|
const vec2 = points[i - 1];
|
|
28
29
|
const vec3 = points[i - 2];
|
|
29
30
|
if (vec1 && vec2 && vec3) {
|
|
30
|
-
polygonString +=
|
|
31
|
+
polygonString += dxfEncTriangle(vec3, vec2, vec1, col, handleRef);
|
|
31
32
|
}
|
|
32
33
|
break;
|
|
33
34
|
}
|
|
@@ -36,7 +37,7 @@ export function dxfPolygon(p, m, parentPos, parentRot, handleRef) {
|
|
|
36
37
|
const vec2 = points[i - 1];
|
|
37
38
|
const vec3 = points[i + 1];
|
|
38
39
|
if (vec1 && vec2 && vec3) {
|
|
39
|
-
polygonString +=
|
|
40
|
+
polygonString += dxfEncTriangle(vec2, vec1, vec3, col, handleRef);
|
|
40
41
|
}
|
|
41
42
|
break;
|
|
42
43
|
}
|
|
@@ -45,7 +46,7 @@ export function dxfPolygon(p, m, parentPos, parentRot, handleRef) {
|
|
|
45
46
|
const vec2 = points[i + 1];
|
|
46
47
|
const vec3 = points[i + 2];
|
|
47
48
|
if (vec1 && vec2 && vec3) {
|
|
48
|
-
polygonString +=
|
|
49
|
+
polygonString += dxfEncTriangle(vec1, vec2, vec3, col, handleRef);
|
|
49
50
|
}
|
|
50
51
|
break;
|
|
51
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-polygon.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-polygon.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dxf-polygon.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-polygon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Shape, Material, Vec3 } from "../../../abstract-3d.js";
|
|
2
|
-
import { Handle } from "../dxf-encoding.js";
|
|
1
|
+
import { type Shape, type Material, type Vec3 } from "../../../abstract-3d.js";
|
|
2
|
+
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
3
|
export declare function dxfPolygon(s: Shape, m: Material, parentPos: Vec3, parentRot: Vec3, handleRef: Handle): string;
|
|
4
4
|
//# sourceMappingURL=dxf-shape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-shape.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-shape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAgD,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"dxf-shape.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-shape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAgD,MAAM,yBAAyB,CAAC;AAC7H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAO5D,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAsD7G"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { vec3TransRot, vec3RotCombine, vec3Zero, vec3 } from "../../../abstract-3d.js";
|
|
2
|
-
import {
|
|
2
|
+
import { dxfEncQuad } from "../dxf-encoding/dxf-quad.js";
|
|
3
|
+
import { dxfEncTriangle } from "../dxf-encoding/dxf-triangle.js";
|
|
3
4
|
const QUAD_STRIDE = 4;
|
|
4
5
|
const TRIANGLE_STRIDE = 3;
|
|
5
6
|
export function dxfPolygon(s, m, parentPos, parentRot, handleRef) {
|
|
@@ -15,7 +16,7 @@ export function dxfPolygon(s, m, parentPos, parentRot, handleRef) {
|
|
|
15
16
|
const p3 = points[i + 2];
|
|
16
17
|
const p4 = points[i + 3];
|
|
17
18
|
if (p1 && p2 && p3 && p4) {
|
|
18
|
-
polygonString +=
|
|
19
|
+
polygonString += dxfEncQuad(p1, p2, p3, p4, m.normal, handleRef);
|
|
19
20
|
}
|
|
20
21
|
}
|
|
21
22
|
}
|
|
@@ -27,7 +28,7 @@ export function dxfPolygon(s, m, parentPos, parentRot, handleRef) {
|
|
|
27
28
|
const p2 = points[i - 1];
|
|
28
29
|
const p3 = points[i];
|
|
29
30
|
if (p1 && p2 && p3) {
|
|
30
|
-
polygonString +=
|
|
31
|
+
polygonString += dxfEncTriangle(p1, p2, p3, m.normal, handleRef);
|
|
31
32
|
}
|
|
32
33
|
break;
|
|
33
34
|
}
|
|
@@ -36,7 +37,7 @@ export function dxfPolygon(s, m, parentPos, parentRot, handleRef) {
|
|
|
36
37
|
const p2 = points[i];
|
|
37
38
|
const p3 = points[i + 1];
|
|
38
39
|
if (p1 && p2 && p3) {
|
|
39
|
-
polygonString +=
|
|
40
|
+
polygonString += dxfEncTriangle(p1, p2, p3, m.normal, handleRef);
|
|
40
41
|
}
|
|
41
42
|
break;
|
|
42
43
|
}
|
|
@@ -45,7 +46,7 @@ export function dxfPolygon(s, m, parentPos, parentRot, handleRef) {
|
|
|
45
46
|
const p2 = points[i + 1];
|
|
46
47
|
const p3 = points[i + 2];
|
|
47
48
|
if (p1 && p2 && p3) {
|
|
48
|
-
polygonString +=
|
|
49
|
+
polygonString += dxfEncTriangle(p1, p2, p3, m.normal, handleRef);
|
|
49
50
|
}
|
|
50
51
|
break;
|
|
51
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-shape.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-shape.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dxf-shape.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type Text, type Material, type Vec3 } from "../../../abstract-3d.js";
|
|
2
|
+
import type { Handle } from "../dxf-encoding/dxf-common.js";
|
|
3
|
+
export declare function dxfText(t: Text, _m: Material, parentPos: Vec3, parentRot: Vec3, handleRef: Handle): string;
|
|
4
|
+
//# sourceMappingURL=dxf-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dxf-text.d.ts","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAA0C,MAAM,yBAAyB,CAAC;AACtH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAG5D,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI1G"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { vec3RotCombine, vec3TransRot, vec3Zero } from "../../../abstract-3d.js";
|
|
2
|
+
import { dxfEncText } from "../dxf-encoding/dxf-text.js";
|
|
3
|
+
export function dxfText(t, _m, parentPos, parentRot, handleRef) {
|
|
4
|
+
const pos = vec3TransRot(t.pos, parentPos, parentRot);
|
|
5
|
+
const rot = vec3RotCombine(parentRot, t.rot ?? vec3Zero);
|
|
6
|
+
return dxfEncText(pos, rot.z, t.text, t.fontSize, 7, handleRef);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=dxf-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dxf-text.js","sourceRoot":"","sources":["../../../../src/renderers/dxf/dxf-geometries/dxf-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEtH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,UAAU,OAAO,CAAC,CAAO,EAAE,EAAY,EAAE,SAAe,EAAE,SAAe,EAAE,SAAiB;IAChG,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,OAAO,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Scene,
|
|
2
|
-
import { DxfOrigin } from "./dxf-encoding.js";
|
|
3
|
-
import { Optional } from "../../utils.js";
|
|
1
|
+
import { type Scene, type Vec3, type View } from "../../abstract-3d.js";
|
|
2
|
+
import { type DxfOrigin } from "./dxf-encoding/dxf-common.js";
|
|
3
|
+
import { type Optional } from "../../utils.js";
|
|
4
4
|
export type DxfOptions = {
|
|
5
5
|
readonly view: View;
|
|
6
6
|
readonly origin: DxfOrigin;
|
|
7
7
|
readonly cylinderSideCount: number;
|
|
8
|
+
readonly showDimensions: boolean;
|
|
8
9
|
};
|
|
9
10
|
export type DxfScenesOptionsBase = Omit<DxfOptions, "origin"> & {
|
|
10
11
|
readonly origin: Exclude<DxfOrigin, "SameAsScene">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dxf.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,KAAK,EACV,KAAK,IAAI,EACT,KAAK,IAAI,EAeV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAA6B,KAAK,SAAS,EAAwC,MAAM,8BAA8B,CAAC;AAC/H,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,gBAAgB,CAAC;AAWtE,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;CAAE,CAAC;AAEvH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAmBlH;AAED,eAAO,MAAM,MAAM,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,CAAC,UAAU,CAAC,KAAG,MAKrE,CAAC;AA4HF,eAAO,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,UAAU,QAAQ,CAAC,UAAU,CAAC,KAAG,MAiBxE,CAAC"}
|
package/lib/renderers/dxf/dxf.js
CHANGED
|
@@ -1,29 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DEFAULT_CIRCLE_SIDE_COUNT,
|
|
1
|
+
import { bounds3Center, bounds3FromPosAndSize, bounds3Merge, bounds3ToSize, boundsScene, group, rotationForCameraPos, sizeBoundsForCameraPos, vec3, vec3Add, vec3RotCombine, vec3Sub, vec3TransRot, vec3Zero } from "../../abstract-3d.js";
|
|
2
|
+
import { DEFAULT_CIRCLE_SIDE_COUNT, dxfBuild, dxfHandleInit } from "./dxf-encoding/dxf-common.js";
|
|
3
|
+
import { calculateVisibleViews } from "../../utils.js";
|
|
3
4
|
import { dxfPlane } from "./dxf-geometries/dxf-plane.js";
|
|
4
5
|
import { dxfBox } from "./dxf-geometries/dxf-box.js";
|
|
5
6
|
import { dxfCylinder } from "./dxf-geometries/dxf-cylinder.js";
|
|
6
7
|
import { dxfCone } from "./dxf-geometries/dxf-cone.js";
|
|
7
8
|
import { dxfPolygon } from "./dxf-geometries/dxf-polygon.js";
|
|
8
9
|
import { dxfImage } from "./dxf-geometries/dxf-image.js";
|
|
10
|
+
import { dxfDimension } from "./dxf-geometries/dxf-dimension.js";
|
|
9
11
|
export function renderScenes(scenes, baseOptions) {
|
|
10
12
|
let allGroups = "";
|
|
13
|
+
let allDimensions = "";
|
|
11
14
|
const allBounds = Array();
|
|
12
|
-
const handle =
|
|
15
|
+
const handle = dxfHandleInit();
|
|
13
16
|
const originOffset = originOffsetFromScenes(scenes, baseOptions?.origin ?? "Center");
|
|
14
17
|
for (const view of scenes) {
|
|
15
|
-
const { groups, size, center } = renderInternal(view.scene, optionsDef({ ...baseOptions, ...view.options, origin: "Center" }), vec3Add(view.pos, originOffset), handle);
|
|
18
|
+
const { groups, dimensions, size, center } = renderInternal(view.scene, optionsDef({ ...baseOptions, ...view.options, origin: "Center" }), vec3Add(view.pos, originOffset), handle);
|
|
16
19
|
allGroups += groups;
|
|
20
|
+
allDimensions += dimensions;
|
|
17
21
|
allBounds.push(bounds3FromPosAndSize(center, size));
|
|
18
22
|
}
|
|
19
23
|
const bounds = bounds3Merge(...allBounds);
|
|
20
|
-
return
|
|
24
|
+
return dxfBuild(allGroups, allDimensions, bounds, bounds3ToSize(bounds), bounds3Center(bounds));
|
|
21
25
|
}
|
|
22
26
|
export const render = (scene, options) => {
|
|
23
27
|
const opts = optionsDef(options);
|
|
24
28
|
const bounds = boundsScene(scene);
|
|
25
|
-
const { groups, size, center } = renderInternal(scene, opts, vec3Zero,
|
|
26
|
-
return
|
|
29
|
+
const { groups, dimensions, size, center } = renderInternal(scene, opts, vec3Zero, dxfHandleInit());
|
|
30
|
+
return dxfBuild(groups, dimensions, bounds, size, center);
|
|
27
31
|
};
|
|
28
32
|
const renderInternal = (scene, options, offset, handleRef) => {
|
|
29
33
|
const unitRot = vec3RotCombine(rotationForCameraPos(options.view), scene.rotation_deprecated ?? vec3Zero);
|
|
@@ -32,8 +36,10 @@ const renderInternal = (scene, options, offset, handleRef) => {
|
|
|
32
36
|
const bounds = bounds3FromPosAndSize(unitCenter, size);
|
|
33
37
|
const dxfOriginOffset = originOffsetFromBounds(bounds, options.origin);
|
|
34
38
|
const pos = options.origin === "SameAsScene" ? vec3Zero : vec3NegateY(vec3Add(unitCenter, vec3Add(offset, dxfOriginOffset)));
|
|
39
|
+
const visibleViews = calculateVisibleViews(options.view, scene.rotation_deprecated);
|
|
35
40
|
return {
|
|
36
41
|
groups: scene.groups.reduce((a, c) => a + dxfGroup(c, pos, unitRot, options, handleRef), ""),
|
|
42
|
+
dimensions: dxfDimensions(scene.dimensions_deprecated, vec3Zero, unitRot, visibleViews, options, handleRef),
|
|
37
43
|
size,
|
|
38
44
|
center: pos,
|
|
39
45
|
};
|
|
@@ -94,6 +100,16 @@ function dxfGroup(g, parentPos, parentRot, options, handleRef) {
|
|
|
94
100
|
dxf += dxfImage(mesh.geometry, pos, rot, handleRef);
|
|
95
101
|
break;
|
|
96
102
|
}
|
|
103
|
+
case "Line": {
|
|
104
|
+
//const start = vec3TransRot(mesh.geometry.start, pos, rot);
|
|
105
|
+
//const end = vec3TransRot(mesh.geometry.end, pos, rot);
|
|
106
|
+
//dxf += dxfEncLine(start, end, 7, handleRef);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
case "Text": {
|
|
110
|
+
//dxf += dxfText(mesh.geometry, mesh.material, pos, rot, handleRef);
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
97
113
|
default:
|
|
98
114
|
break;
|
|
99
115
|
}
|
|
@@ -103,11 +119,18 @@ function dxfGroup(g, parentPos, parentRot, options, handleRef) {
|
|
|
103
119
|
}
|
|
104
120
|
return dxf;
|
|
105
121
|
}
|
|
122
|
+
function dxfDimensions(d, parentPos, parentRot, _visibleViews, options, handleRef) {
|
|
123
|
+
if (!d || !options.showDimensions) {
|
|
124
|
+
return "";
|
|
125
|
+
}
|
|
126
|
+
return d.dimensions.map((d) => dxfDimension(d, parentPos, parentRot, handleRef)).join("");
|
|
127
|
+
}
|
|
106
128
|
function optionsDef(options) {
|
|
107
129
|
return {
|
|
108
130
|
view: options?.view ?? "front",
|
|
109
131
|
origin: options?.origin ?? "BottomLeftFront",
|
|
110
|
-
cylinderSideCount: DEFAULT_CIRCLE_SIDE_COUNT,
|
|
132
|
+
cylinderSideCount: options?.cylinderSideCount ?? DEFAULT_CIRCLE_SIDE_COUNT,
|
|
133
|
+
showDimensions: options?.showDimensions ?? true,
|
|
111
134
|
};
|
|
112
135
|
}
|
|
113
136
|
// This is the original
|
|
@@ -117,21 +140,12 @@ export const renderOld = (scene, options) => {
|
|
|
117
140
|
const unitRot = vec3RotCombine(rotationForCameraPos(opts.view), scene.rotation_deprecated ?? vec3Zero);
|
|
118
141
|
const bounds = bounds3FromPosAndSize(center, scene.size_deprecated);
|
|
119
142
|
const offset = vec3Sub(opts.origin === "Center" ? vec3Zero : vec3(Math.abs(bounds.min.x), Math.abs(bounds.min.y), -bounds.max.z), center);
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
x: bounds.max.x + offset.x,
|
|
123
|
-
y: bounds.max.y + offset.y,
|
|
124
|
-
z: bounds.max.z + offset.z,
|
|
125
|
-
},
|
|
126
|
-
min: {
|
|
127
|
-
x: bounds.min.x + offset.x,
|
|
128
|
-
y: bounds.min.y + offset.y,
|
|
129
|
-
z: bounds.min.z + offset.z,
|
|
130
|
-
},
|
|
131
|
-
};
|
|
143
|
+
const dimensionsPos = vec3TransRot(center, offset, unitRot);
|
|
144
|
+
const visibleViews = calculateVisibleViews(opts.view, scene.rotation_deprecated);
|
|
132
145
|
const bounds2 = bounds3FromPosAndSize(offset, scene.size_deprecated);
|
|
133
146
|
const groupRoot = group([], offset, vec3Zero, scene.groups);
|
|
134
|
-
const handleRef =
|
|
135
|
-
|
|
147
|
+
const handleRef = dxfHandleInit();
|
|
148
|
+
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, visibleViews, opts, handleRef);
|
|
149
|
+
return dxfBuild(dxfGroup(groupRoot, center, unitRot, opts, handleRef), dimensions, bounds2, scene.size_deprecated, center);
|
|
136
150
|
};
|
|
137
151
|
//# sourceMappingURL=dxf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dxf.js","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Dimensions, Vec3, Dimension } from "../../abstract-3d.js";
|
|
2
|
+
import { Dimensions, Vec3, Dimension, Material } from "../../abstract-3d.js";
|
|
3
3
|
export declare const ReactDimensions: React.MemoExoticComponent<({ dimensions, showDimensions, sceneRotation, sceneCenter, }: {
|
|
4
4
|
readonly dimensions: Dimensions | undefined;
|
|
5
5
|
readonly showDimensions: boolean;
|
|
6
6
|
readonly sceneRotation: Vec3 | undefined;
|
|
7
7
|
readonly sceneCenter: Vec3 | undefined;
|
|
8
8
|
}) => React.JSX.Element>;
|
|
9
|
-
export declare function ReactDimension({
|
|
10
|
-
readonly
|
|
9
|
+
export declare function ReactDimension({ dimension, material, visible, children, sceneRotation, sceneCenter, }: {
|
|
10
|
+
readonly dimension: Dimension;
|
|
11
|
+
readonly material: Material;
|
|
11
12
|
readonly visible: boolean;
|
|
12
13
|
readonly children: React.JSX.Element;
|
|
13
14
|
readonly sceneRotation: Vec3 | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-dimension.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-dimension.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"react-dimension.d.ts","sourceRoot":"","sources":["../../../src/renderers/react/react-dimension.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAsE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIjJ,eAAO,MAAM,eAAe,0FAMvB;IACD,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;CACxC,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBtB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE;IACD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;CACxC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqBpB"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useFrame } from "@react-three/fiber";
|
|
3
3
|
import React from "react";
|
|
4
|
-
import { vec3TransRot, vec3Flip } from "../../abstract-3d.js";
|
|
4
|
+
import { vec3TransRot, vec3Flip, dimensionConvertToTypeMesh, vec3Zero } from "../../abstract-3d.js";
|
|
5
5
|
import { ReactMaterial } from "./react-material.js";
|
|
6
6
|
import { ReactMesh } from "./react-mesh.js";
|
|
7
7
|
export const ReactDimensions = React.memo(({ dimensions, showDimensions, sceneRotation, sceneCenter, }) => {
|
|
8
8
|
const dimensionMaterial = React.useMemo(() => (dimensions?.material ? _jsx(ReactMaterial, { isText: true, material: dimensions?.material }) : _jsx(_Fragment, {})), []);
|
|
9
|
-
return (_jsx(_Fragment, { children: dimensions?.dimensions.map((dimension, i) => (_jsx(ReactDimension, {
|
|
9
|
+
return (_jsx(_Fragment, { children: dimensions?.dimensions.map((dimension, i) => (_jsx(ReactDimension, { dimension: dimension, material: dimensions.material, visible: showDimensions, sceneRotation: sceneRotation, sceneCenter: sceneCenter, children: dimensionMaterial }, i))) }));
|
|
10
10
|
});
|
|
11
|
-
export function ReactDimension({
|
|
11
|
+
export function ReactDimension({ dimension, material, visible, children, sceneRotation, sceneCenter, }) {
|
|
12
|
+
const d = dimensionConvertToTypeMesh(dimension, sceneRotation ?? vec3Zero, material);
|
|
12
13
|
const ref = React.useRef(undefined);
|
|
13
14
|
useFrame(({ camera }) => {
|
|
14
15
|
ref.current.visible =
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-dimension.js","sourceRoot":"","sources":["../../../src/renderers/react/react-dimension.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAA+B,YAAY,EAAE,QAAQ,EAAQ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"react-dimension.js","sourceRoot":"","sources":["../../../src/renderers/react/react-dimension.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EAOL,IAAI,
|
|
1
|
+
{"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,EAOL,IAAI,EAgBL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAiB,MAAM,4BAA4B,CAAC;AASvE,OAAO,EAAwC,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAIhF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtG,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,CAkB7G;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,WAAW,CAShF"}
|
package/lib/renderers/svg/svg.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { exhaustiveCheck } from "ts-exhaustive-check";
|
|
2
|
-
import { vec2, vec3Rot, vec3Zero, vec3RotCombine, vec3, vec3TransRot, rotationForCameraPos, sizeBoundsForCameraPos, bounds2FromPosAndSize, bounds2ToSize, bounds2Merge, vec2Zero, vec3Flip, } from "../../abstract-3d.js";
|
|
2
|
+
import { vec2, vec3Rot, vec3Zero, vec3RotCombine, vec3, vec3TransRot, rotationForCameraPos, sizeBoundsForCameraPos, bounds2FromPosAndSize, bounds2ToSize, bounds2Merge, vec2Zero, vec3Flip, dimensionConvertToTypeMesh, } from "../../abstract-3d.js";
|
|
3
3
|
import { box } from "./svg-geometries/svg-box.js";
|
|
4
4
|
import { cylinder } from "./svg-geometries/svg-cylinder.js";
|
|
5
5
|
import { line } from "./svg-geometries/svg-line.js";
|
|
@@ -8,6 +8,7 @@ import { shape } from "./svg-geometries/svg-shape.js";
|
|
|
8
8
|
import { polygon } from "./svg-geometries/svg-polygon.js";
|
|
9
9
|
import { text } from "./svg-geometries/svg-text.js";
|
|
10
10
|
import { cone } from "./svg-geometries/svg-cone.js";
|
|
11
|
+
import { calculateVisibleViews, isViewVisible } from "../../utils.js";
|
|
11
12
|
import { svg } from "./svg-encoding.js";
|
|
12
13
|
import { image } from "./svg-geometries/svg-image.js";
|
|
13
14
|
export function renderScenes(scenes, baseOptions) {
|
|
@@ -56,32 +57,10 @@ function renderInternal(scene, options, offset) {
|
|
|
56
57
|
}
|
|
57
58
|
const dimOpts = { ...opts, only_stroke: false, gray_scale: false };
|
|
58
59
|
elements.sort((a, b) => a.zOrder - b.zOrder);
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
case "back":
|
|
64
|
-
return vec3(0, 0, -1);
|
|
65
|
-
case "top":
|
|
66
|
-
return vec3(0, 1, 0);
|
|
67
|
-
case "bottom":
|
|
68
|
-
return vec3(0, -1, 0);
|
|
69
|
-
case "right":
|
|
70
|
-
return vec3(1, 0, 0);
|
|
71
|
-
case "left":
|
|
72
|
-
return vec3(-1, 0, 0);
|
|
73
|
-
default:
|
|
74
|
-
return vec3(0, 0, 1);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const cam = vec3Rot(cameraPositionForView(opts.view), vec3Zero, scene.rotation_deprecated ?? vec3Zero);
|
|
78
|
-
const visibleViews = {
|
|
79
|
-
[cam.x >= 0 ? "right" : "left"]: opts.view === "right" || opts.view === "left",
|
|
80
|
-
[cam.y >= 0 ? "top" : "bottom"]: opts.view === "top" || opts.view === "bottom",
|
|
81
|
-
[cam.z >= 0 ? "front" : "back"]: opts.view === "front" || opts.view === "back",
|
|
82
|
-
};
|
|
83
|
-
for (const d of scene.dimensions_deprecated?.dimensions ?? []) {
|
|
84
|
-
if (d.views[0] && visibleViews[d.views[0]] === true) {
|
|
60
|
+
const visibleViews = calculateVisibleViews(opts.view, scene.rotation_deprecated);
|
|
61
|
+
for (const dim of scene.dimensions_deprecated?.dimensions ?? []) {
|
|
62
|
+
const d = dimensionConvertToTypeMesh(dim, scene.rotation_deprecated ?? vec3Zero, scene.dimensions_deprecated?.material);
|
|
63
|
+
if (isViewVisible(d.views[0], visibleViews)) {
|
|
85
64
|
const pos = vec3TransRot(d.pos, unitCenterFlipped, unitRot);
|
|
86
65
|
const rot = vec3RotCombine(unitRot, d.rot);
|
|
87
66
|
for (const m of d.meshes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,IAAI,EAIJ,OAAO,EACP,QAAQ,EACR,cAAc,EACd,IAAI,EAGJ,YAAY,EAEZ,oBAAoB,EACpB,sBAAsB,EAEtB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Vec3, View } from "./abstract-3d.js";
|
|
1
2
|
export declare function parseRgb(color: string): {
|
|
2
3
|
readonly r: number;
|
|
3
4
|
readonly g: number;
|
|
@@ -21,6 +22,8 @@ export declare function rgbGrayScale(color: string): string;
|
|
|
21
22
|
* @returns {string|null} Either Hex or RGB color. Null if invalid color or percentage number.
|
|
22
23
|
*/
|
|
23
24
|
export declare function shade(p: number, from: string, to?: string): string | undefined;
|
|
25
|
+
export declare function calculateVisibleViews(originalView: View, sceneRotation: Vec3 | undefined): Record<string, boolean>;
|
|
26
|
+
export declare function isViewVisible(view: View | undefined, visibleViews: Record<string, boolean>): boolean;
|
|
24
27
|
export type Optional<T> = {
|
|
25
28
|
readonly [K in keyof T]?: T[K];
|
|
26
29
|
};
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,IAAI,EAAqB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGvE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAItG;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAuB1G;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;GAUG;AAEH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8F9E;AAED,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BlH;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAEpG;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
|