abstract-3d 1.6.3 → 1.6.5

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.
Files changed (52) hide show
  1. package/lib/renderers/dxf/color.d.ts +2 -0
  2. package/lib/renderers/dxf/color.d.ts.map +1 -1
  3. package/lib/renderers/dxf/color.js +3 -0
  4. package/lib/renderers/dxf/color.js.map +1 -1
  5. package/lib/renderers/dxf/dxf-encoding.d.ts +9 -8
  6. package/lib/renderers/dxf/dxf-encoding.d.ts.map +1 -1
  7. package/lib/renderers/dxf/dxf-encoding.js +48 -117
  8. package/lib/renderers/dxf/dxf-encoding.js.map +1 -1
  9. package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -1
  10. package/lib/renderers/dxf/dxf-geometries/dxf-box.js +7 -8
  11. package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -1
  12. package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -1
  13. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +7 -8
  14. package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -1
  15. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -1
  16. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +13 -16
  17. package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -1
  18. package/lib/renderers/dxf/dxf-geometries/dxf-image.d.ts.map +1 -1
  19. package/lib/renderers/dxf/dxf-geometries/dxf-image.js +12 -79
  20. package/lib/renderers/dxf/dxf-geometries/dxf-image.js.map +1 -1
  21. package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -1
  22. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +2 -2
  23. package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -1
  24. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
  25. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +5 -5
  26. package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
  27. package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
  28. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +37 -13
  29. package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
  30. package/lib/renderers/dxf/dxf.d.ts.map +1 -1
  31. package/lib/renderers/dxf/dxf.js +10 -10
  32. package/lib/renderers/dxf/dxf.js.map +1 -1
  33. package/lib/renderers/svg/svg-encoding.d.ts.map +1 -1
  34. package/lib/renderers/svg/svg-encoding.js +42 -2
  35. package/lib/renderers/svg/svg-encoding.js.map +1 -1
  36. package/lib/renderers/svg/svg.js +2 -1
  37. package/lib/renderers/svg/svg.js.map +1 -1
  38. package/package.json +3 -3
  39. package/src/renderers/dxf/color.ts +5 -0
  40. package/src/renderers/dxf/dxf-encoding.ts +61 -127
  41. package/src/renderers/dxf/dxf-geometries/dxf-box.ts +7 -9
  42. package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +7 -9
  43. package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +15 -18
  44. package/src/renderers/dxf/dxf-geometries/dxf-image.ts +27 -97
  45. package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +2 -3
  46. package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +5 -8
  47. package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +37 -14
  48. package/src/renderers/dxf/dxf.ts +28 -22
  49. package/src/renderers/svg/svg-encoding.ts +45 -3
  50. package/src/renderers/svg/svg.ts +3 -5
  51. package/src/.DS_Store +0 -0
  52. package/src/renderers/.DS_Store +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg-encoding.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg-encoding.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,8 @@ function renderInternal(scene, options, offset) {
42
42
  };
43
43
  const baseRot = vec3RotCombine(rotationForCameraPos(opts.view), scene.rotation_deprecated ?? vec3Zero);
44
44
  const unitRot = opts.rotation ? vec3RotCombine(vec3(0, 0, (opts.rotation * Math.PI) / 180), baseRot) : baseRot;
45
- const [unitSize, unitCenter] = sizeCenterBoundsForCameraPos(scene.size_deprecated, scene.center_deprecated ?? vec3Zero, unitRot);
45
+ const rotatedCenter = vec3Rot(scene.center_deprecated ?? vec3Zero, vec3Zero, scene.rotation_deprecated ?? vec3Zero);
46
+ const [unitSize, unitCenter] = sizeCenterBoundsForCameraPos(scene.size_deprecated, rotatedCenter, unitRot);
46
47
  const svgSize = vec2(unitSize.x + 1.5 * opts.stroke_thickness, unitSize.y + 1.5 * opts.stroke_thickness);
47
48
  const svgCenter = vec2(offset.x + opts.stroke_thickness * 0.75, offset.y + opts.stroke_thickness * 0.75);
48
49
  const point = (x, y) => vec2(svgCenter.x + x, svgCenter.y - y);
@@ -1 +1 @@
1
- {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../src/renderers/svg/svg.ts"],"names":[],"mappings":"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"}
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": "1.6.3",
3
+ "version": "1.6.5",
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",
@@ -22,7 +22,7 @@
22
22
  "@react-three/drei": "^10.7.6",
23
23
  "@react-three/fiber": "^9.4.0",
24
24
  "@react-three/postprocessing": "3.0.4",
25
- "abstract-image": "^13.0.30",
25
+ "abstract-image": "^13.0.34",
26
26
  "suspend-react": "^0.1.3",
27
27
  "three": "^0.180.0",
28
28
  "ts-exhaustive-check": "^1.0.0"
@@ -36,5 +36,5 @@
36
36
  "@types/three": "^0.180.0",
37
37
  "react": "^19.0.0"
38
38
  },
39
- "gitHead": "a4ef3ebc986e3dfd4e67fe2014e5c261ae18d6fb"
39
+ "gitHead": "cef10b5a09374bb0508fc6b40f428bcb32a37820"
40
40
  }
@@ -1,3 +1,4 @@
1
+ import { Color } from "abstract-image";
1
2
  import { Vec3, vec3, vec3DistSquared } from "../../abstract-3d.js";
2
3
 
3
4
  export function colorToInteger(color: string): number {
@@ -10,6 +11,10 @@ export function colorToInteger(color: string): number {
10
11
  return colorAsInt;
11
12
  }
12
13
 
14
+ export function colorHexFromAbstractImageColor(color: Color): string {
15
+ return `rgba(${color.r}, ${color.g}, ${color.b}, ${color.a})`
16
+ }
17
+
13
18
  export function color(colorNormal: string | undefined): number {
14
19
  const ERROR_COLOR = 6; //magenta
15
20
  const ACI_COLOR_COUNT = 256;
@@ -1,17 +1,28 @@
1
1
  /* eslint-disable max-lines */
2
- import { Bounds3, Vec3 } from "../../abstract-3d.js";
3
2
  import { generateUUID } from "three/src/math/MathUtils.js";
3
+ import { Bounds3, Vec3, vec3Add, vec3Scale } from "../../abstract-3d.js";
4
4
  import { colorToInteger } from "./color.js";
5
5
 
6
+ export const DEFAULT_CIRCLE_SIDE_COUNT = 16;
7
+ const DXF_MAKER = "DXF Generated from Divid Abstract 3D";
8
+ const DXF_STANDARD = "AC1015";
9
+ const DXF_DEFAULT_HANDLE = 0x1000;
10
+ const DXF_MODEL_SPACE_HANDLE = "1D";
11
+
6
12
  export type DxfOrigin = "BottomLeftFront" | "Center";
7
13
  export type DxfDynamicColor = 7; // this color becomes white on a black background and black on a white background (therefore theme/dxf viewer dependent)
14
+ export type Handle = { handle: number };
8
15
 
9
16
  export function dxf(groups: string, bounds: Bounds3, size: Vec3, center: Vec3): string {
10
17
  const id = generateUUID();
11
18
  return dxfHeader(bounds, center, id, size) + groups + dxfFooter(id);
12
19
  }
13
20
 
14
- export type Handle = { handle: number };
21
+ export function dxfHandleCreate(): Handle {
22
+ return {
23
+ handle: DXF_DEFAULT_HANDLE,
24
+ };
25
+ }
15
26
 
16
27
  export function dxfHandle(handleRef: Handle): string {
17
28
  return (++handleRef.handle).toString(16).toUpperCase();
@@ -22,7 +33,7 @@ function dxfRound(n: number): number {
22
33
  return Math.round((n + Number.EPSILON) * 10 ** d) / 10 ** d;
23
34
  }
24
35
 
25
- export const dxf3DFACE = (
36
+ export const dxfQuad = (
26
37
  vec1: Vec3,
27
38
  vec2: Vec3,
28
39
  vec3: Vec3,
@@ -34,7 +45,7 @@ export const dxf3DFACE = (
34
45
  5
35
46
  ${dxfHandle(handleRef)}
36
47
  330
37
- 1D
48
+ ${DXF_MODEL_SPACE_HANDLE}
38
49
  100
39
50
  AcDbEntity
40
51
  ${
@@ -74,122 +85,45 @@ ${dxfRound(vec4.y)}
74
85
  ${dxfRound(vec4.z)}
75
86
  `;
76
87
 
77
- export const dxfPOLYLINE = (vertices: readonly Vec3[], color: string): string =>
78
- ` 0
79
- POLYLINE
80
- 8
81
- A3D
82
- 62
83
- ${color}
84
- 66
85
- 1${vertices.map(
86
- (v) =>
87
- `
88
- 0
89
- VERTEX
90
- 8
91
- A3D
92
- 10
93
- ${dxfRound(v.x)}
94
- 20
95
- ${dxfRound(v.y)}
96
- 30
97
- ${dxfRound(v.z)}`
98
- )}
99
- 0
100
- SEQEND
101
- `;
102
-
103
- export const dxfText = (pos: Vec3, fontSize: number, text: string, color: string): string =>
104
- ` 0
105
- Text
106
- 8
107
- A3D
108
- 62
109
- ${color}
110
- 10
111
- ${dxfRound(pos.x)}
112
- 20
113
- ${dxfRound(pos.y)}
114
- 30
115
- ${dxfRound(pos.z)}
116
- 11
117
- ${dxfRound(pos.x)}
118
- 21
119
- ${dxfRound(pos.y)}
120
- 31
121
- ${dxfRound(pos.z)}
122
- 40
123
- ${fontSize}
124
- 1
125
- ${text}
126
- `;
88
+ export const dxfTriangle = (
89
+ vec1: Vec3,
90
+ vec2: Vec3,
91
+ vec3: Vec3,
92
+ col: string | DxfDynamicColor,
93
+ handleRef: Handle
94
+ ): string => dxfQuad(vec1, vec2, vec3, vec3, col, handleRef);
127
95
 
128
- export const dxf3DLine = (start: Vec3, end: Vec3, color: string, handleRef: Handle): string =>
129
- ` 0
130
- LINE
131
- 5
132
- ${dxfHandle(handleRef)}
133
- 100
134
- AcDbEntity
135
- 8
136
- A3D
137
- 100
138
- AcDbLine
139
- 10
140
- ${dxfRound(start.x)}
141
- 20
142
- ${dxfRound(start.y)}
143
- 30
144
- ${dxfRound(start.z)}
145
- 11
146
- ${dxfRound(end.x)}
147
- 21
148
- ${dxfRound(end.y)}
149
- 31
150
- ${dxfRound(end.z)}
151
- `;
96
+ export function dxfPolyline(
97
+ points: ReadonlyArray<Vec3>,
98
+ col: string | DxfDynamicColor,
99
+ closed: boolean,
100
+ handleRef: Handle
101
+ ): string {
102
+ let dxf = "";
103
+ for(let i = 0; i < points.length; i++) {
104
+ const p1 = points[i];
105
+ const p2 = points[i+1];
106
+ if(p1 && p2) {
107
+ dxf += dxfLine(p1, p2, col, handleRef);
108
+ }
109
+ }
110
+ if(closed) {
111
+ const start = points[0];
112
+ const end = points[points.length - 1];
113
+ if(start && end) {
114
+ dxf += dxfLine(start, end, col, handleRef);
115
+ }
116
+ }
117
+ return dxf;
118
+ }
152
119
 
153
- export const dxf3DEllipse = (center: Vec3, major: Vec3, minor: Vec3, color: string, handleRef: Handle): string =>
154
- ` 0
155
- ELLIPSE
156
- 5
157
- ${dxfHandle(handleRef)}
158
- 100
159
- AcDbEntity
160
- 8
161
- A3D
162
- 100
163
- AcDbEllipse
164
- 10
165
- ${dxfRound(center.x)}
166
- 20
167
- ${dxfRound(center.y)}
168
- 30
169
- ${dxfRound(center.z)}
170
- 11
171
- ${dxfRound(major.x - center.x)}
172
- 21
173
- ${dxfRound(major.y - center.y)}
174
- 31
175
- ${dxfRound(major.z - center.z)}
176
- 40
177
- 1
178
- 41
179
- 0.0
180
- 42
181
- 6.2831
182
- 210
183
- 0
184
- 220
185
- 1
186
- 230
187
- 0
188
- `;
120
+ export function dxfLine(vecStart: Vec3, vecEnd: Vec3, col: string | DxfDynamicColor, handleRef: Handle): string {
121
+ return dxfQuad(vecStart, vecStart, vecEnd, vecEnd, col, handleRef);
122
+ }
189
123
 
190
- export const dxfHeader = (bounds: Bounds3, center: Vec3, groupId: string, size: Vec3): string =>
124
+ export const dxfHeader = (bounds: Bounds3, center: Vec3, blockId: string, size: Vec3): string =>
191
125
  ` 999
192
- DXF Generated from Divid Abstract 3D
126
+ ${DXF_MAKER}
193
127
  0
194
128
  SECTION
195
129
  2
@@ -197,7 +131,7 @@ HEADER
197
131
  9
198
132
  $ACADVER
199
133
  1
200
- AC1015
134
+ ${DXF_STANDARD}
201
135
  9
202
136
  $ACADMAINTVER
203
137
  70
@@ -1671,7 +1605,7 @@ AcDbSymbolTable
1671
1605
  0
1672
1606
  BLOCK_RECORD
1673
1607
  5
1674
- 1D
1608
+ ${DXF_MODEL_SPACE_HANDLE}
1675
1609
  330
1676
1610
  1
1677
1611
  100
@@ -1707,7 +1641,7 @@ AcDbSymbolTableRecord
1707
1641
  100
1708
1642
  AcDbBlockTableRecord
1709
1643
  2
1710
- ${groupId}
1644
+ ${blockId}
1711
1645
  340
1712
1646
  0
1713
1647
  102
@@ -1729,7 +1663,7 @@ BLOCK
1729
1663
  5
1730
1664
  AB6
1731
1665
  330
1732
- 1D
1666
+ ${DXF_MODEL_SPACE_HANDLE}
1733
1667
  100
1734
1668
  AcDbEntity
1735
1669
  8
@@ -1755,7 +1689,7 @@ ENDBLK
1755
1689
  5
1756
1690
  AB7
1757
1691
  330
1758
- 1D
1692
+ ${DXF_MODEL_SPACE_HANDLE}
1759
1693
  100
1760
1694
  AcDbEntity
1761
1695
  8
@@ -1817,7 +1751,7 @@ A3D
1817
1751
  100
1818
1752
  AcDbBlockBegin
1819
1753
  2
1820
- ${groupId}
1754
+ ${blockId}
1821
1755
  70
1822
1756
  0
1823
1757
  10
@@ -1827,12 +1761,12 @@ ${groupId}
1827
1761
  30
1828
1762
  0.0
1829
1763
  3
1830
- ${groupId}
1764
+ ${blockId}
1831
1765
  1
1832
1766
 
1833
1767
  `;
1834
1768
 
1835
- export const dxfFooter = (groupId: string): string => ` 0
1769
+ export const dxfFooter = (blockId: string): string => ` 0
1836
1770
  ENDBLK
1837
1771
  5
1838
1772
  AA2
@@ -1855,7 +1789,7 @@ INSERT
1855
1789
  5
1856
1790
  AA3
1857
1791
  330
1858
- 1D
1792
+ ${DXF_MODEL_SPACE_HANDLE}
1859
1793
  100
1860
1794
  AcDbEntity
1861
1795
  8
@@ -1865,7 +1799,7 @@ Continuous
1865
1799
  100
1866
1800
  AcDbBlockReference
1867
1801
  2
1868
- ${groupId}
1802
+ ${blockId}
1869
1803
  10
1870
1804
  0.0
1871
1805
  20
@@ -2713,7 +2647,7 @@ Model
2713
2647
  76
2714
2648
  0
2715
2649
  330
2716
- 1D
2650
+ ${DXF_MODEL_SPACE_HANDLE}
2717
2651
  331
2718
2652
  2A
2719
2653
  0
@@ -1,6 +1,5 @@
1
1
  import { Box, Material, Vec3, vec3TransRot, vec3RotCombine, vec3Zero, vec3Scale, vec3 } from "../../../abstract-3d.js";
2
- import { color } from "../color.js";
3
- import { dxf3DFACE, Handle } from "../dxf-encoding.js";
2
+ import { dxfQuad, Handle } from "../dxf-encoding.js";
4
3
 
5
4
  export function dxfBox(b: Box, m: Material, parentPos: Vec3, parentRot: Vec3, handleRef: Handle): string {
6
5
  const pos = vec3TransRot(b.pos, parentPos, parentRot);
@@ -16,13 +15,12 @@ export function dxfBox(b: Box, m: Material, parentPos: Vec3, parentRot: Vec3, ha
16
15
  const v6 = vec3tr3(half.x, -half.y, -half.z);
17
16
  const v7 = vec3tr3(half.x, half.y, -half.z);
18
17
  const v8 = vec3tr3(-half.x, half.y, -half.z);
19
- const mat = m.normal;
20
18
  return (
21
- dxf3DFACE(v1, v2, v3, v4, mat, handleRef) + // front
22
- dxf3DFACE(v5, v6, v7, v8, mat, handleRef) + // Back
23
- dxf3DFACE(v5, v1, v4, v8, mat, handleRef) + // Left
24
- dxf3DFACE(v6, v2, v3, v7, mat, handleRef) + // Right
25
- dxf3DFACE(v8, v7, v3, v4, mat, handleRef) + // Top
26
- dxf3DFACE(v5, v6, v2, v1, mat, handleRef) // Bottom
19
+ dxfQuad(v1, v2, v3, v4, m.normal, handleRef) + // front
20
+ dxfQuad(v5, v6, v7, v8, m.normal, handleRef) + // Back
21
+ dxfQuad(v5, v1, v4, v8, m.normal, handleRef) + // Left
22
+ dxfQuad(v6, v2, v3, v7, m.normal, handleRef) + // Right
23
+ dxfQuad(v8, v7, v3, v4, m.normal, handleRef) + // Top
24
+ dxfQuad(v5, v6, v2, v1, m.normal, handleRef) // Bottom
27
25
  );
28
26
  }
@@ -1,6 +1,5 @@
1
1
  import { Cone, Material, Vec3, vec3TransRot, vec3RotCombine, vec3Zero, vec3 } from "../../../abstract-3d.js";
2
- import { color } from "../color.js";
3
- import { dxf3DFACE, Handle } from "../dxf-encoding.js";
2
+ import { dxfTriangle, Handle } from "../dxf-encoding.js";
4
3
 
5
4
  export function dxfCone(
6
5
  c: Cone,
@@ -13,25 +12,24 @@ export function dxfCone(
13
12
  let dxfString = "";
14
13
  const pos = vec3TransRot(c.pos, parentPos, parentRot);
15
14
  const rot = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
16
- const vec3tr2 = (x: number, y: number, z: number): Vec3 => vec3TransRot(vec3(x, y, z), pos, rot);
17
- const mat = m.normal;
15
+ const vec3tr = (x: number, y: number, z: number): Vec3 => vec3TransRot(vec3(x, y, z), pos, rot);
18
16
  const angleStep = (2 * Math.PI) / sides;
19
17
  let currentAngle = 0;
20
18
 
21
19
  const half = c.length / 2;
22
- const botPos = vec3tr2(0, -half, 0);
23
- const topPos = vec3tr2(0, half, 0);
20
+ const botPos = vec3tr(0, -half, 0);
21
+ const topPos = vec3tr(0, half, 0);
24
22
 
25
23
  const botVec3Array = Array<Vec3>();
26
24
  for (let i = 0; i <= sides; i++) {
27
- const currBot = vec3tr2(Math.sin(currentAngle) * c.radius, -half, Math.cos(currentAngle) * c.radius);
25
+ const currBot = vec3tr(Math.sin(currentAngle) * c.radius, -half, Math.cos(currentAngle) * c.radius);
28
26
  botVec3Array.push(currBot);
29
27
 
30
28
  if (i !== 0) {
31
29
  const prevBot = botVec3Array[i - 1]!;
32
30
  dxfString +=
33
- dxf3DFACE(botPos, prevBot, currBot, currBot, mat, handleRef) +
34
- dxf3DFACE(currBot, prevBot, topPos, topPos, mat, handleRef);
31
+ dxfTriangle(botPos, prevBot, currBot, m.normal, handleRef) +
32
+ dxfTriangle(currBot, prevBot, topPos, m.normal, handleRef);
35
33
  }
36
34
  currentAngle += angleStep;
37
35
  }
@@ -9,8 +9,7 @@ import {
9
9
  vec3Scale,
10
10
  equals,
11
11
  } from "../../../abstract-3d.js";
12
- import { color } from "../color.js";
13
- import { dxf3DFACE, Handle } from "../dxf-encoding.js";
12
+ import { dxfQuad, dxfTriangle, Handle } from "../dxf-encoding.js";
14
13
  import { dxfPlane } from "./dxf-plane.js";
15
14
 
16
15
  export function dxfCylinder(
@@ -21,41 +20,39 @@ export function dxfCylinder(
21
20
  parentRot: Vec3,
22
21
  handleRef: Handle
23
22
  ): string {
24
- const angleStart = c.angleStart ?? 0.0;
25
- const angleLength = c.angleLength ?? Math.PI * 2;
26
- const angleEnd = angleStart + angleLength;
27
- let dxfString = "";
28
23
  const pos = vec3TransRot(c.pos, parentPos, parentRot);
29
24
  const rot = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
30
25
  const vec3tr = (x: number, y: number, z: number): Vec3 => vec3TransRot(vec3(x, y, z), pos, rot);
31
- const mat = m.normal;
26
+
27
+ const angleStart = c.angleStart ?? 0.0;
28
+ const angleLength = c.angleLength ?? Math.PI * 2;
29
+ const angleEnd = angleStart + angleLength;
32
30
  const angleStep = angleLength / sides;
33
31
  let currentAngle = angleStart;
32
+ let dxfString = "";
34
33
 
35
34
  const half = c.length / 2;
36
35
  const topPos = vec3tr(0, half, 0);
37
36
  const botPos = vec3tr(0, -half, 0);
38
37
 
39
- const botVec3Array = Array<Vec3>();
40
- const topVec3Array = Array<Vec3>();
41
-
38
+ let prevBot = undefined;
39
+ let prevTop = undefined;
42
40
  for (let i = 0; i <= sides; i++) {
43
41
  const x = Math.sin(currentAngle) * c.radius;
44
42
  const z = Math.cos(currentAngle) * c.radius;
45
43
  const currBot = vec3tr(x, -half, z);
46
44
  const currTop = vec3tr(x, half, z);
47
- botVec3Array.push(currBot);
48
- topVec3Array.push(currTop);
49
- if (i !== 0) {
50
- const prevBot = botVec3Array[i - 1]!;
51
- const prevTop = topVec3Array[i - 1]!;
45
+ if (i !== 0 && prevBot && prevTop) {
52
46
  if (!c.open) {
53
47
  dxfString +=
54
- dxf3DFACE(botPos, prevBot, currBot, currBot, mat, handleRef) +
55
- dxf3DFACE(topPos, prevTop, currTop, currTop, mat, handleRef);
48
+ dxfTriangle(botPos, prevBot, currBot, m.normal, handleRef) +
49
+ dxfTriangle(topPos, prevTop, currTop, m.normal, handleRef);
56
50
  }
57
- dxfString += dxf3DFACE(currBot, prevBot, prevTop, currTop, mat, handleRef);
51
+ dxfString += dxfQuad(currBot, prevBot, prevTop, currTop, m.normal, handleRef);
58
52
  }
53
+
54
+ prevBot = currBot;
55
+ prevTop = currTop;
59
56
  currentAngle += angleStep;
60
57
  }
61
58