abstract-3d 2.6.20 → 2.7.1
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 +14 -1
- package/lib/abstract-3d.d.ts.map +1 -1
- package/lib/abstract-3d.js +79 -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 +38 -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 +132 -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 +59 -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
package/src/renderers/dxf/dxf.ts
CHANGED
|
@@ -1,37 +1,42 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
group,
|
|
10
|
-
bounds3ToSize,
|
|
11
|
-
vec3,
|
|
12
|
-
rotationForCameraPos,
|
|
2
|
+
type Bounds3,
|
|
3
|
+
type Dimensions,
|
|
4
|
+
type Group,
|
|
5
|
+
type Scene,
|
|
6
|
+
type Vec3,
|
|
7
|
+
type View,
|
|
8
|
+
bounds3Center,
|
|
13
9
|
bounds3FromPosAndSize,
|
|
14
|
-
Bounds3,
|
|
15
10
|
bounds3Merge,
|
|
16
|
-
|
|
17
|
-
vec3Add,
|
|
18
|
-
sizeBoundsForCameraPos,
|
|
11
|
+
bounds3ToSize,
|
|
19
12
|
boundsScene,
|
|
13
|
+
group,
|
|
14
|
+
rotationForCameraPos,
|
|
15
|
+
sizeBoundsForCameraPos,
|
|
16
|
+
vec3,
|
|
17
|
+
vec3Add,
|
|
18
|
+
vec3RotCombine,
|
|
20
19
|
vec3Sub,
|
|
20
|
+
vec3TransRot,
|
|
21
|
+
vec3Zero
|
|
21
22
|
} from "../../abstract-3d.js";
|
|
22
|
-
import { DEFAULT_CIRCLE_SIDE_COUNT,
|
|
23
|
+
import { DEFAULT_CIRCLE_SIDE_COUNT, type DxfOrigin, type Handle, dxfBuild, dxfHandleInit } from "./dxf-encoding/dxf-common.js";
|
|
24
|
+
import { type Optional, calculateVisibleViews } from "../../utils.js";
|
|
23
25
|
import { dxfPlane } from "./dxf-geometries/dxf-plane.js";
|
|
24
26
|
import { dxfBox } from "./dxf-geometries/dxf-box.js";
|
|
25
27
|
import { dxfCylinder } from "./dxf-geometries/dxf-cylinder.js";
|
|
26
28
|
import { dxfCone } from "./dxf-geometries/dxf-cone.js";
|
|
27
29
|
import { dxfPolygon } from "./dxf-geometries/dxf-polygon.js";
|
|
28
|
-
import { Optional } from "../../utils.js";
|
|
29
30
|
import { dxfImage } from "./dxf-geometries/dxf-image.js";
|
|
31
|
+
import { dxfText } from "./dxf-geometries/dxf-text.js";
|
|
32
|
+
import { dxfEncLine } from "./dxf-encoding/dxf-line.js";
|
|
33
|
+
import { dxfDimension } from "./dxf-geometries/dxf-dimension.js";
|
|
30
34
|
|
|
31
35
|
export type DxfOptions = {
|
|
32
36
|
readonly view: View;
|
|
33
37
|
readonly origin: DxfOrigin;
|
|
34
38
|
readonly cylinderSideCount: number;
|
|
39
|
+
readonly showDimensions: boolean;
|
|
35
40
|
};
|
|
36
41
|
|
|
37
42
|
export type DxfScenesOptionsBase = Omit<DxfOptions, "origin"> & { readonly origin: Exclude<DxfOrigin, "SameAsScene"> };
|
|
@@ -44,28 +49,30 @@ export type DxfScene = {
|
|
|
44
49
|
|
|
45
50
|
export function renderScenes(scenes: ReadonlyArray<DxfScene>, baseOptions?: Optional<DxfScenesOptionsBase>): string {
|
|
46
51
|
let allGroups = "";
|
|
52
|
+
let allDimensions = "";
|
|
47
53
|
const allBounds = Array<Bounds3>();
|
|
48
|
-
const handle =
|
|
54
|
+
const handle = dxfHandleInit();
|
|
49
55
|
const originOffset = originOffsetFromScenes(scenes, baseOptions?.origin ?? "Center");
|
|
50
56
|
for (const view of scenes) {
|
|
51
|
-
const { groups, size, center } = renderInternal(
|
|
57
|
+
const { groups, dimensions, size, center } = renderInternal(
|
|
52
58
|
view.scene,
|
|
53
59
|
optionsDef({ ...baseOptions, ...view.options, origin: "Center" }),
|
|
54
60
|
vec3Add(view.pos, originOffset),
|
|
55
61
|
handle
|
|
56
62
|
);
|
|
57
63
|
allGroups += groups;
|
|
64
|
+
allDimensions += dimensions;
|
|
58
65
|
allBounds.push(bounds3FromPosAndSize(center, size));
|
|
59
66
|
}
|
|
60
67
|
const bounds = bounds3Merge(...allBounds);
|
|
61
|
-
return
|
|
68
|
+
return dxfBuild(allGroups, allDimensions, bounds, bounds3ToSize(bounds), bounds3Center(bounds));
|
|
62
69
|
}
|
|
63
70
|
|
|
64
71
|
export const render = (scene: Scene, options?: Optional<DxfOptions>): string => {
|
|
65
72
|
const opts = optionsDef(options);
|
|
66
73
|
const bounds = boundsScene(scene);
|
|
67
|
-
const { groups, size, center } = renderInternal(scene, opts, vec3Zero,
|
|
68
|
-
return
|
|
74
|
+
const { groups, dimensions, size, center } = renderInternal(scene, opts, vec3Zero, dxfHandleInit());
|
|
75
|
+
return dxfBuild(groups, dimensions, bounds, size, center);
|
|
69
76
|
};
|
|
70
77
|
|
|
71
78
|
const renderInternal = (
|
|
@@ -73,7 +80,7 @@ const renderInternal = (
|
|
|
73
80
|
options: DxfOptions,
|
|
74
81
|
offset: Vec3,
|
|
75
82
|
handleRef: Handle
|
|
76
|
-
): { readonly groups: string; readonly size: Vec3; readonly center: Vec3 } => {
|
|
83
|
+
): { readonly groups: string; readonly dimensions: string; readonly size: Vec3; readonly center: Vec3 } => {
|
|
77
84
|
const unitRot = vec3RotCombine(rotationForCameraPos(options.view), scene.rotation_deprecated ?? vec3Zero);
|
|
78
85
|
const unitCenter = scene.center_deprecated ?? vec3Zero;
|
|
79
86
|
const [size] = sizeBoundsForCameraPos(scene.size_deprecated, unitCenter, unitRot);
|
|
@@ -81,8 +88,11 @@ const renderInternal = (
|
|
|
81
88
|
const dxfOriginOffset = originOffsetFromBounds(bounds, options.origin);
|
|
82
89
|
const pos =
|
|
83
90
|
options.origin === "SameAsScene" ? vec3Zero : vec3NegateY(vec3Add(unitCenter, vec3Add(offset, dxfOriginOffset)));
|
|
91
|
+
const visibleViews = calculateVisibleViews(options.view, scene.rotation_deprecated);
|
|
92
|
+
|
|
84
93
|
return {
|
|
85
94
|
groups: scene.groups.reduce((a, c) => a + dxfGroup(c, pos, unitRot, options, handleRef), ""),
|
|
95
|
+
dimensions: dxfDimensions(scene.dimensions_deprecated, vec3Zero, unitRot, visibleViews, options, handleRef),
|
|
86
96
|
size,
|
|
87
97
|
center: pos,
|
|
88
98
|
};
|
|
@@ -148,6 +158,16 @@ function dxfGroup(g: Group, parentPos: Vec3, parentRot: Vec3, options: DxfOption
|
|
|
148
158
|
dxf += dxfImage(mesh.geometry, pos, rot, handleRef);
|
|
149
159
|
break;
|
|
150
160
|
}
|
|
161
|
+
case "Line": {
|
|
162
|
+
//const start = vec3TransRot(mesh.geometry.start, pos, rot);
|
|
163
|
+
//const end = vec3TransRot(mesh.geometry.end, pos, rot);
|
|
164
|
+
//dxf += dxfEncLine(start, end, 7, handleRef);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
case "Text": {
|
|
168
|
+
//dxf += dxfText(mesh.geometry, mesh.material, pos, rot, handleRef);
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
151
171
|
default:
|
|
152
172
|
break;
|
|
153
173
|
}
|
|
@@ -160,11 +180,21 @@ function dxfGroup(g: Group, parentPos: Vec3, parentRot: Vec3, options: DxfOption
|
|
|
160
180
|
return dxf;
|
|
161
181
|
}
|
|
162
182
|
|
|
183
|
+
function dxfDimensions(d: Dimensions | undefined, parentPos: Vec3, parentRot: Vec3, visibleViews: Record<string, boolean>, options: DxfOptions, handleRef: Handle): string {
|
|
184
|
+
if(!d || !options.showDimensions) {
|
|
185
|
+
return "";
|
|
186
|
+
}
|
|
187
|
+
return d.dimensions
|
|
188
|
+
.filter((d) => d.views?.[0] && visibleViews[d.views[0]] === true)
|
|
189
|
+
.map((d) => dxfDimension(d, parentPos, parentRot, handleRef)).join("");
|
|
190
|
+
}
|
|
191
|
+
|
|
163
192
|
function optionsDef(options: Optional<DxfOptions> | undefined): DxfOptions {
|
|
164
193
|
return {
|
|
165
194
|
view: options?.view ?? "front",
|
|
166
195
|
origin: options?.origin ?? "BottomLeftFront",
|
|
167
|
-
cylinderSideCount: DEFAULT_CIRCLE_SIDE_COUNT,
|
|
196
|
+
cylinderSideCount: options?.cylinderSideCount ?? DEFAULT_CIRCLE_SIDE_COUNT,
|
|
197
|
+
showDimensions: options?.showDimensions ?? true,
|
|
168
198
|
};
|
|
169
199
|
}
|
|
170
200
|
|
|
@@ -178,22 +208,12 @@ export const renderOld = (scene: Scene, options?: Optional<DxfOptions>): string
|
|
|
178
208
|
opts.origin === "Center" ? vec3Zero : vec3(Math.abs(bounds.min.x), Math.abs(bounds.min.y), -bounds.max.z),
|
|
179
209
|
center
|
|
180
210
|
);
|
|
181
|
-
|
|
182
|
-
const
|
|
183
|
-
max: {
|
|
184
|
-
x: bounds.max.x + offset.x,
|
|
185
|
-
y: bounds.max.y + offset.y,
|
|
186
|
-
z: bounds.max.z + offset.z,
|
|
187
|
-
},
|
|
188
|
-
min: {
|
|
189
|
-
x: bounds.min.x + offset.x,
|
|
190
|
-
y: bounds.min.y + offset.y,
|
|
191
|
-
z: bounds.min.z + offset.z,
|
|
192
|
-
},
|
|
193
|
-
};
|
|
211
|
+
const dimensionsPos = vec3TransRot(center, offset, unitRot);
|
|
212
|
+
const visibleViews = calculateVisibleViews(opts.view, scene.rotation_deprecated);
|
|
194
213
|
|
|
195
214
|
const bounds2 = bounds3FromPosAndSize(offset, scene.size_deprecated);
|
|
196
215
|
const groupRoot = group([], offset, vec3Zero, scene.groups);
|
|
197
|
-
const handleRef =
|
|
198
|
-
|
|
216
|
+
const handleRef = dxfHandleInit();
|
|
217
|
+
const dimensions = dxfDimensions(scene.dimensions_deprecated, dimensionsPos, unitRot, visibleViews, opts, handleRef);
|
|
218
|
+
return dxfBuild(dxfGroup(groupRoot, center, unitRot, opts, handleRef), dimensions, bounds2, scene.size_deprecated, center);
|
|
199
219
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from "./dxf.js";
|
|
2
|
-
export type { DxfOrigin } from "./dxf-encoding.js";
|
|
2
|
+
export type { DxfOrigin } from "./dxf-encoding/dxf-common.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useFrame } from "@react-three/fiber";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import type { Group } from "three";
|
|
4
|
-
import { Dimensions, Vec3, Dimension, vec3TransRot, vec3Flip, Mesh } from "../../abstract-3d.js";
|
|
4
|
+
import { Dimensions, Vec3, Dimension, vec3TransRot, vec3Flip, Mesh, dimensionConvertToTypeMesh, vec3Zero, Material } from "../../abstract-3d.js";
|
|
5
5
|
import { ReactMaterial } from "./react-material.js";
|
|
6
6
|
import { ReactMesh } from "./react-mesh.js";
|
|
7
7
|
|
|
@@ -26,7 +26,8 @@ export const ReactDimensions = React.memo(
|
|
|
26
26
|
{dimensions?.dimensions.map((dimension, i) => (
|
|
27
27
|
<ReactDimension
|
|
28
28
|
key={i}
|
|
29
|
-
|
|
29
|
+
dimension={dimension}
|
|
30
|
+
material={dimensions.material}
|
|
30
31
|
visible={showDimensions}
|
|
31
32
|
sceneRotation={sceneRotation}
|
|
32
33
|
sceneCenter={sceneCenter}
|
|
@@ -40,18 +41,21 @@ export const ReactDimensions = React.memo(
|
|
|
40
41
|
);
|
|
41
42
|
|
|
42
43
|
export function ReactDimension({
|
|
43
|
-
|
|
44
|
+
dimension,
|
|
45
|
+
material,
|
|
44
46
|
visible,
|
|
45
47
|
children,
|
|
46
48
|
sceneRotation,
|
|
47
49
|
sceneCenter,
|
|
48
50
|
}: {
|
|
49
|
-
readonly
|
|
51
|
+
readonly dimension: Dimension;
|
|
52
|
+
readonly material: Material;
|
|
50
53
|
readonly visible: boolean;
|
|
51
54
|
readonly children: React.JSX.Element;
|
|
52
55
|
readonly sceneRotation: Vec3 | undefined;
|
|
53
56
|
readonly sceneCenter: Vec3 | undefined;
|
|
54
57
|
}): React.JSX.Element {
|
|
58
|
+
const d = dimensionConvertToTypeMesh(dimension, sceneRotation ?? vec3Zero, material);
|
|
55
59
|
const ref = React.useRef<Group>(undefined!);
|
|
56
60
|
useFrame(({ camera }) => {
|
|
57
61
|
ref.current.visible =
|
package/src/renderers/svg/svg.ts
CHANGED
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
vec2Add,
|
|
24
24
|
View,
|
|
25
25
|
vec3RotInverse,
|
|
26
|
+
dimensionConvertToTypeMesh,
|
|
26
27
|
} from "../../abstract-3d.js";
|
|
27
28
|
import { SvgOptions, zOrderElement } from "./svg-geometries/shared.js";
|
|
28
29
|
import { box } from "./svg-geometries/svg-box.js";
|
|
@@ -33,7 +34,7 @@ import { shape } from "./svg-geometries/svg-shape.js";
|
|
|
33
34
|
import { polygon } from "./svg-geometries/svg-polygon.js";
|
|
34
35
|
import { text } from "./svg-geometries/svg-text.js";
|
|
35
36
|
import { cone } from "./svg-geometries/svg-cone.js";
|
|
36
|
-
import { Optional } from "../../utils.js";
|
|
37
|
+
import { calculateVisibleViews, isViewVisible, Optional } from "../../utils.js";
|
|
37
38
|
import { svg } from "./svg-encoding.js";
|
|
38
39
|
import { image } from "./svg-geometries/svg-image.js";
|
|
39
40
|
|
|
@@ -113,40 +114,11 @@ function renderInternal(
|
|
|
113
114
|
}
|
|
114
115
|
const dimOpts: SvgOptions = { ...opts, only_stroke: false, gray_scale: false };
|
|
115
116
|
elements.sort((a, b) => a.zOrder - b.zOrder);
|
|
117
|
+
const visibleViews = calculateVisibleViews(opts.view, scene.rotation_deprecated);
|
|
116
118
|
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return vec3(0, 0, 1);
|
|
121
|
-
case "back":
|
|
122
|
-
return vec3(0, 0, -1);
|
|
123
|
-
case "top":
|
|
124
|
-
return vec3(0, 1, 0);
|
|
125
|
-
case "bottom":
|
|
126
|
-
return vec3(0, -1, 0);
|
|
127
|
-
case "right":
|
|
128
|
-
return vec3(1, 0, 0);
|
|
129
|
-
case "left":
|
|
130
|
-
return vec3(-1, 0, 0);
|
|
131
|
-
default:
|
|
132
|
-
return vec3(0, 0, 1);
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
const cam = vec3Rot(
|
|
137
|
-
cameraPositionForView(opts.view),
|
|
138
|
-
vec3Zero,
|
|
139
|
-
scene.rotation_deprecated ?? vec3Zero
|
|
140
|
-
);
|
|
141
|
-
|
|
142
|
-
const visibleViews = {
|
|
143
|
-
[cam.x >= 0 ? "right" : "left"]: opts.view === "right" || opts.view === "left",
|
|
144
|
-
[cam.y >= 0 ? "top" : "bottom"]: opts.view === "top" || opts.view === "bottom",
|
|
145
|
-
[cam.z >= 0 ? "front" : "back"]: opts.view === "front" || opts.view === "back",
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
for (const d of scene.dimensions_deprecated?.dimensions ?? []) {
|
|
149
|
-
if(d.views[0] && visibleViews[d.views[0]] === true) {
|
|
119
|
+
for (const dim of scene.dimensions_deprecated?.dimensions ?? []) {
|
|
120
|
+
const d = dimensionConvertToTypeMesh(dim, scene.rotation_deprecated ?? vec3Zero, scene.dimensions_deprecated?.material);
|
|
121
|
+
if(isViewVisible(d.views[0], visibleViews)) {
|
|
150
122
|
const pos = vec3TransRot(d.pos, unitCenterFlipped, unitRot);
|
|
151
123
|
const rot = vec3RotCombine(unitRot, d.rot);
|
|
152
124
|
for (const m of d.meshes) {
|
package/src/utils.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-expressions */
|
|
2
2
|
|
|
3
|
+
import { vec3, Vec3, vec3Rot, vec3Zero, View } from "./abstract-3d.js";
|
|
4
|
+
|
|
3
5
|
// dummy
|
|
4
6
|
export function parseRgb(color: string): { readonly r: number; readonly g: number; readonly b: number } {
|
|
5
7
|
const parts = color.split("(")[1]?.slice(0, -1).split(",");
|
|
@@ -149,4 +151,41 @@ export function shade(p: number, from: string, to?: string): string | undefined
|
|
|
149
151
|
);
|
|
150
152
|
}
|
|
151
153
|
|
|
154
|
+
export function calculateVisibleViews(originalView: View, sceneRotation: Vec3 | undefined): Record<string, boolean> {
|
|
155
|
+
const cameraPositionForView = (view: View): Vec3 => {
|
|
156
|
+
switch (view) {
|
|
157
|
+
case "front":
|
|
158
|
+
return vec3(0, 0, 1);
|
|
159
|
+
case "back":
|
|
160
|
+
return vec3(0, 0, -1);
|
|
161
|
+
case "top":
|
|
162
|
+
return vec3(0, 1, 0);
|
|
163
|
+
case "bottom":
|
|
164
|
+
return vec3(0, -1, 0);
|
|
165
|
+
case "right":
|
|
166
|
+
return vec3(1, 0, 0);
|
|
167
|
+
case "left":
|
|
168
|
+
return vec3(-1, 0, 0);
|
|
169
|
+
default:
|
|
170
|
+
return vec3(0, 0, 1);
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
const cam = vec3Rot(
|
|
175
|
+
cameraPositionForView(originalView),
|
|
176
|
+
vec3Zero,
|
|
177
|
+
sceneRotation ?? vec3Zero
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
return {
|
|
181
|
+
[cam.x >= 0 ? "right" : "left"]: originalView === "right" || originalView === "left",
|
|
182
|
+
[cam.y >= 0 ? "top" : "bottom"]: originalView === "top" || originalView === "bottom",
|
|
183
|
+
[cam.z >= 0 ? "front" : "back"]: originalView === "front" || originalView === "back",
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export function isViewVisible(view: View | undefined, visibleViews: Record<string, boolean>): boolean {
|
|
188
|
+
return view !== undefined && visibleViews[view] === true;
|
|
189
|
+
}
|
|
190
|
+
|
|
152
191
|
export type Optional<T> = { readonly [K in keyof T]?: T[K] };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Color } from "abstract-image";
|
|
2
|
-
import { Vec3 } from "../../abstract-3d.js";
|
|
3
|
-
export declare function colorToInteger(color: string): number;
|
|
4
|
-
export declare function colorHexFromAbstractImageColor(color: Color): string;
|
|
5
|
-
export declare function color(colorNormal: string | undefined): number;
|
|
6
|
-
export declare const ACI_COLOR_TABLE: ReadonlyArray<Vec3>;
|
|
7
|
-
//# sourceMappingURL=color.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAyB,MAAM,sBAAsB,CAAC;AAEnE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEnE;AAED,wBAAgB,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAqB7D;AAsBD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,IAAI,CAiQ/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/renderers/dxf/color.ts"],"names":[],"mappings":"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E,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACb,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACd,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Bounds3, Vec3 } from "../../abstract-3d.js";
|
|
2
|
-
export declare const DEFAULT_CIRCLE_SIDE_COUNT = 16;
|
|
3
|
-
export type DxfOrigin = "BottomLeftFront" | "Center" | "SameAsScene";
|
|
4
|
-
export type DxfDynamicColor = 7;
|
|
5
|
-
export type Handle = {
|
|
6
|
-
handle: number;
|
|
7
|
-
};
|
|
8
|
-
export declare function dxf(groups: string, bounds: Bounds3, size: Vec3, center: Vec3): string;
|
|
9
|
-
export declare function dxfHandleCreate(): Handle;
|
|
10
|
-
export declare function dxfHandle(handleRef: Handle): string;
|
|
11
|
-
export declare const dxfQuad: (vec1: Vec3, vec2: Vec3, vec3: Vec3, vec4: Vec3, col: string | DxfDynamicColor, handleRef: Handle) => string;
|
|
12
|
-
export declare const dxfTriangle: (vec1: Vec3, vec2: Vec3, vec3: Vec3, col: string | DxfDynamicColor, handleRef: Handle) => string;
|
|
13
|
-
export declare function dxfPolyline(points: ReadonlyArray<Vec3>, col: string | DxfDynamicColor, closed: boolean, handleRef: Handle): string;
|
|
14
|
-
export declare function dxfLine(vecStart: Vec3, vecEnd: Vec3, col: string | DxfDynamicColor, handleRef: Handle): string;
|
|
15
|
-
export declare const dxfHeader: (bounds: Bounds3, center: Vec3, blockId: string, size: Vec3) => string;
|
|
16
|
-
export declare const dxfFooter: (blockId: string) => string;
|
|
17
|
-
//# sourceMappingURL=dxf-encoding.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dxf-encoding.d.ts","sourceRoot":"","sources":["../../../src/renderers/dxf/dxf-encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAsB,MAAM,sBAAsB,CAAC;AAGzE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAM5C,MAAM,MAAM,SAAS,GAAG,iBAAiB,GAAG,QAAQ,GAAG,aAAa,CAAC;AACrE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC;AAChC,MAAM,MAAM,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAGrF;AAED,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,eAAO,MAAM,OAAO,GAClB,MAAM,IAAI,EACV,MAAM,IAAI,EACV,MAAM,IAAI,EACV,MAAM,IAAI,EACV,KAAK,MAAM,GAAG,eAAe,EAC7B,WAAW,MAAM,KAChB,MA0CF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,EACV,MAAM,IAAI,EACV,MAAM,IAAI,EACV,KAAK,MAAM,GAAG,eAAe,EAC7B,WAAW,MAAM,KAChB,MAAyD,CAAC;AAE7D,wBAAgB,WAAW,CACzB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAC3B,GAAG,EAAE,MAAM,GAAG,eAAe,EAC7B,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,GAChB,MAAM,CAmFR;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,EACZ,GAAG,EAAE,MAAM,GAAG,eAAe,EAC7B,SAAS,EAAE,MAAM,GAChB,MAAM,CAiCR;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,OAAO,EAAE,QAAQ,IAAI,EAAE,SAAS,MAAM,EAAE,MAAM,IAAI,KAAG,MA2mDtF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,MAuwgBxC,CAAC"}
|