abstract-3d 0.1.26 → 0.2.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/lib/abstract-3d.d.ts +2 -6
- package/lib/abstract-3d.d.ts.map +1 -1
- package/lib/abstract-3d.js.map +1 -1
- package/lib/renderers/dxf/color.d.ts +2 -0
- package/lib/renderers/dxf/color.d.ts.map +1 -0
- package/lib/renderers/dxf/color.js +6 -0
- package/lib/renderers/dxf/color.js.map +1 -0
- package/lib/renderers/dxf/dxf-geometries/dxf-box.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js +8 -6
- package/lib/renderers/dxf/dxf-geometries/dxf-box.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js +3 -2
- package/lib/renderers/dxf/dxf-geometries/dxf-cone.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js +5 -3
- package/lib/renderers/dxf/dxf-geometries/dxf-cylinder.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js +2 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-plane.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js +5 -4
- package/lib/renderers/dxf/dxf-geometries/dxf-polygon.js.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.d.ts.map +1 -1
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js +6 -4
- package/lib/renderers/dxf/dxf-geometries/dxf-shape.js.map +1 -1
- package/lib/renderers/react/react-dimension.js +1 -1
- package/lib/renderers/react/react-dimension.js.map +1 -1
- package/lib/renderers/react/react-group.d.ts.map +1 -1
- package/lib/renderers/react/react-group.js +1 -1
- package/lib/renderers/react/react-group.js.map +1 -1
- package/lib/renderers/react/react-hotspot.js +1 -1
- package/lib/renderers/react/react-hotspot.js.map +1 -1
- package/lib/renderers/react/react-material.d.ts +2 -1
- package/lib/renderers/react/react-material.d.ts.map +1 -1
- package/lib/renderers/react/react-material.js +22 -53
- package/lib/renderers/react/react-material.js.map +1 -1
- package/lib/renderers/shared.d.ts +18 -1
- package/lib/renderers/shared.d.ts.map +1 -1
- package/lib/renderers/shared.js +130 -9
- package/lib/renderers/shared.js.map +1 -1
- package/lib/renderers/step/step-encoding.d.ts +5 -3
- package/lib/renderers/step/step-encoding.d.ts.map +1 -1
- package/lib/renderers/step/step-encoding.js +8 -4
- package/lib/renderers/step/step-encoding.js.map +1 -1
- package/lib/renderers/step/step-geometries/step-box.d.ts.map +1 -1
- package/lib/renderers/step/step-geometries/step-box.js +6 -6
- package/lib/renderers/step/step-geometries/step-box.js.map +1 -1
- package/lib/renderers/step/step-geometries/step-cylinder.d.ts +3 -0
- package/lib/renderers/step/step-geometries/step-cylinder.d.ts.map +1 -1
- package/lib/renderers/step/step-geometries/step-cylinder.js +38 -157
- package/lib/renderers/step/step-geometries/step-cylinder.js.map +1 -1
- package/lib/renderers/step/step-geometries/step-plane.d.ts.map +1 -1
- package/lib/renderers/step/step-geometries/step-plane.js +1 -1
- package/lib/renderers/step/step-geometries/step-plane.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-box.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-box.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cone.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cone.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-cylinder.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-line.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-line.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-plane.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-polygon.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-polygon.js.map +1 -1
- package/lib/renderers/svg/svg-geometries/svg-shape.js +1 -1
- package/lib/renderers/svg/svg-geometries/svg-shape.js.map +1 -1
- package/package.json +2 -2
- package/src/abstract-3d.ts +2 -8
- package/src/renderers/dxf/color.ts +1 -0
- package/src/renderers/dxf/dxf-geometries/dxf-box.ts +8 -7
- package/src/renderers/dxf/dxf-geometries/dxf-cone.ts +3 -3
- package/src/renderers/dxf/dxf-geometries/dxf-cylinder.ts +5 -4
- package/src/renderers/dxf/dxf-geometries/dxf-plane.ts +2 -1
- package/src/renderers/dxf/dxf-geometries/dxf-polygon.ts +5 -4
- package/src/renderers/dxf/dxf-geometries/dxf-shape.ts +6 -4
- package/src/renderers/react/react-dimension.tsx +1 -1
- package/src/renderers/react/react-group.tsx +1 -0
- package/src/renderers/react/react-hotspot.tsx +1 -1
- package/src/renderers/react/react-material.tsx +38 -74
- package/src/renderers/shared.ts +136 -1
- package/src/renderers/step/step-encoding.ts +15 -6
- package/src/renderers/step/step-geometries/step-box.ts +6 -0
- package/src/renderers/step/step-geometries/step-cylinder.ts +192 -159
- package/src/renderers/step/step-geometries/step-plane.ts +5 -1
- package/src/renderers/svg/svg-geometries/svg-box.ts +2 -2
- package/src/renderers/svg/svg-geometries/svg-cone.ts +2 -2
- package/src/renderers/svg/svg-geometries/svg-cylinder.ts +2 -2
- package/src/renderers/svg/svg-geometries/svg-line.ts +2 -2
- package/src/renderers/svg/svg-geometries/svg-plane.ts +2 -2
- package/src/renderers/svg/svg-geometries/svg-polygon.ts +2 -2
- package/src/renderers/svg/svg-geometries/svg-shape.ts +2 -2
|
@@ -1,162 +1,195 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
1
|
+
import {
|
|
2
|
+
Plane,
|
|
3
|
+
Material,
|
|
4
|
+
Vec3,
|
|
5
|
+
vec2Scale,
|
|
6
|
+
vec3TransRot,
|
|
7
|
+
vec3RotCombine,
|
|
8
|
+
vec3Zero,
|
|
9
|
+
vec3,
|
|
10
|
+
vec3PosX,
|
|
11
|
+
vec3PosZ,
|
|
12
|
+
Cylinder,
|
|
13
|
+
vec2Zero,
|
|
14
|
+
vec2,
|
|
15
|
+
vec3NegX,
|
|
16
|
+
vec3NegY,
|
|
17
|
+
vec3NegZ,
|
|
18
|
+
vec3PosY,
|
|
19
|
+
} from "../../../abstract-3d";
|
|
20
|
+
import { parseRgb } from "../../shared";
|
|
21
|
+
import {
|
|
22
|
+
ADVANCED_BREP_SHAPE_REPRESENTATION,
|
|
23
|
+
ADVANCED_FACE,
|
|
24
|
+
AXIS2_PLACEMENT_3D,
|
|
25
|
+
CARTESIAN_POINT,
|
|
26
|
+
CIRCLE,
|
|
27
|
+
CLOSED_SHELL,
|
|
28
|
+
COLOUR_RGB,
|
|
29
|
+
CURVE_STYLE,
|
|
30
|
+
CYLINDRICAL_SURFACE,
|
|
31
|
+
DEFINITIONAL_REPRESENTATION,
|
|
32
|
+
DIRECTION,
|
|
33
|
+
DRAUGHTING_PRE_DEFINED_CURVE_FONT,
|
|
34
|
+
EDGE_CURVE,
|
|
35
|
+
EDGE_LOOP,
|
|
36
|
+
FACE_BOUND,
|
|
37
|
+
FILL_AREA_STYLE_COLOUR,
|
|
38
|
+
LINE,
|
|
39
|
+
MANIFOLD_SOLID_BREP,
|
|
40
|
+
MANIFOLD_SURFACE_SHAPE_REPRESENTATION,
|
|
41
|
+
MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION,
|
|
42
|
+
MutableStep,
|
|
43
|
+
OPEN_SHELL,
|
|
44
|
+
ORIENTED_EDGE,
|
|
45
|
+
PCURVE,
|
|
46
|
+
PLANE,
|
|
47
|
+
PRESENTATION_STYLE_ASSIGNMENT,
|
|
48
|
+
SEAM_CURVE,
|
|
49
|
+
SHELL_BASED_SURFACE_MODEL,
|
|
50
|
+
STYLED_ITEM,
|
|
51
|
+
SURFACE_CURVE,
|
|
52
|
+
SURFACE_SIDE_STYLE,
|
|
53
|
+
SURFACE_STYLE_FILL_AREA,
|
|
54
|
+
SURFACE_STYLE_USAGE,
|
|
55
|
+
VECTOR,
|
|
56
|
+
VERTEX_POINT,
|
|
57
|
+
} from "../step-encoding";
|
|
51
58
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// ORIENTED_EDGE(EDGE_CURVE(v4, v1, l4, m), m),
|
|
68
|
-
// ];
|
|
59
|
+
export function stepCylinder(c: Cylinder, mat: Material, parentPos: Vec3, parentRot: Vec3, m: MutableStep): void {
|
|
60
|
+
const pos = vec3TransRot(c.pos, parentPos, parentRot);
|
|
61
|
+
const rot = vec3RotCombine(parentRot, c.rot ?? vec3Zero);
|
|
62
|
+
const cart3tr = (x: number, y: number): number => CARTESIAN_POINT(vec3TransRot(vec3(x, y, 0), pos, rot), m);
|
|
63
|
+
const v0 = VECTOR(DIRECTION(vec3Zero, m), m);
|
|
64
|
+
const c03 = CARTESIAN_POINT(vec3Zero, m);
|
|
65
|
+
const c02 = CARTESIAN_POINT(vec2Zero, m);
|
|
66
|
+
const [d1, d2] = [DIRECTION(vec3RotCombine(vec3PosX, rot), m), DIRECTION(vec3RotCombine(vec3PosY, rot), m)];
|
|
67
|
+
const [d3, d4] = [DIRECTION(vec3RotCombine(vec3PosZ, rot), m), DIRECTION(vec3RotCombine(vec3NegX, rot), m)];
|
|
68
|
+
const [d5, d6] = [DIRECTION(vec3RotCombine(vec3NegY, rot), m), DIRECTION(vec3RotCombine(vec3NegZ, rot), m)];
|
|
69
|
+
const [down, up] = [AXIS2_PLACEMENT_3D(c03, d5, d4, m), AXIS2_PLACEMENT_3D(c03, d2, d1, m)];
|
|
70
|
+
const [c1, c2] = [cart3tr(-c.radius, -c.length / 2), cart3tr(c.radius, -c.length / 2)];
|
|
71
|
+
const [c3, c4] = [cart3tr(c.radius, c.length / 2), cart3tr(-c.radius, c.length / 2)];
|
|
72
|
+
const [v1, v2, v3, v4] = [VERTEX_POINT(c1, m), VERTEX_POINT(c2, m), VERTEX_POINT(c3, m), VERTEX_POINT(c4, m)];
|
|
73
|
+
const [l1, l2, l3, l4] = [LINE(c1, v0, m), LINE(c2, v0, m), LINE(c3, v0, m), LINE(c4, v0, m)];
|
|
69
74
|
|
|
70
|
-
|
|
75
|
+
const [oe1, oe2, oe3, oe4] = [
|
|
76
|
+
ORIENTED_EDGE(
|
|
77
|
+
EDGE_CURVE(
|
|
78
|
+
v1,
|
|
79
|
+
v2,
|
|
80
|
+
SEAM_CURVE(
|
|
81
|
+
LINE(c2, v0, m),
|
|
82
|
+
PCURVE(
|
|
83
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
84
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
85
|
+
m
|
|
86
|
+
),
|
|
87
|
+
PCURVE(
|
|
88
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
89
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
90
|
+
m
|
|
91
|
+
),
|
|
92
|
+
m
|
|
93
|
+
),
|
|
94
|
+
m
|
|
95
|
+
),
|
|
96
|
+
m
|
|
97
|
+
),
|
|
98
|
+
ORIENTED_EDGE(
|
|
99
|
+
EDGE_CURVE(
|
|
100
|
+
v1,
|
|
101
|
+
v2,
|
|
102
|
+
SEAM_CURVE(
|
|
103
|
+
LINE(c2, v0, m),
|
|
104
|
+
PCURVE(
|
|
105
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
106
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
107
|
+
m
|
|
108
|
+
),
|
|
109
|
+
PCURVE(
|
|
110
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
111
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
112
|
+
m
|
|
113
|
+
),
|
|
114
|
+
m
|
|
115
|
+
),
|
|
116
|
+
m
|
|
117
|
+
),
|
|
118
|
+
m
|
|
119
|
+
),
|
|
120
|
+
ORIENTED_EDGE(
|
|
121
|
+
EDGE_CURVE(
|
|
122
|
+
v2,
|
|
123
|
+
v2,
|
|
124
|
+
SURFACE_CURVE(
|
|
125
|
+
CIRCLE(down, m),
|
|
126
|
+
PCURVE(
|
|
127
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
128
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
129
|
+
m
|
|
130
|
+
),
|
|
131
|
+
PCURVE(down, DEFINITIONAL_REPRESENTATION(CIRCLE(up, m), m), m),
|
|
132
|
+
m
|
|
133
|
+
),
|
|
134
|
+
m
|
|
135
|
+
),
|
|
136
|
+
m
|
|
137
|
+
), // Bottom circle edge curve
|
|
138
|
+
ORIENTED_EDGE(
|
|
139
|
+
EDGE_CURVE(
|
|
140
|
+
v3,
|
|
141
|
+
v3,
|
|
142
|
+
SURFACE_CURVE(
|
|
143
|
+
CIRCLE(down, m),
|
|
144
|
+
PCURVE(
|
|
145
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
146
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
147
|
+
m
|
|
148
|
+
),
|
|
149
|
+
PCURVE(down, DEFINITIONAL_REPRESENTATION(CIRCLE(up, m), m), m),
|
|
150
|
+
m
|
|
151
|
+
),
|
|
152
|
+
m
|
|
153
|
+
),
|
|
154
|
+
m
|
|
155
|
+
), // Top circle edge curve
|
|
156
|
+
];
|
|
71
157
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// ORIENTED_EDGE(EDGE_CURVE(v8, v7, l8, m), m),
|
|
111
|
-
// ORIENTED_EDGE(EDGE_CURVE(v7, v6, l7, m), m),
|
|
112
|
-
// ORIENTED_EDGE(EDGE_CURVE(v6, v5, l6, m), m),
|
|
113
|
-
// ORIENTED_EDGE(EDGE_CURVE(v5, v8, l5, m), m),
|
|
114
|
-
// ],
|
|
115
|
-
// m
|
|
116
|
-
// ),
|
|
117
|
-
// m
|
|
118
|
-
// ),
|
|
119
|
-
// PLANE(AXIS2_PLACEMENT_3D(c03, d6, d4, m), m),
|
|
120
|
-
// m
|
|
121
|
-
// ),
|
|
122
|
-
// // Left
|
|
123
|
-
// ADVANCED_FACE(
|
|
124
|
-
// FACE_BOUND(
|
|
125
|
-
// EDGE_LOOP(
|
|
126
|
-
// [
|
|
127
|
-
// ORIENTED_EDGE(EDGE_CURVE(v1, v5, l1, m), m),
|
|
128
|
-
// ORIENTED_EDGE(EDGE_CURVE(v5, v8, l5, m), m),
|
|
129
|
-
// ORIENTED_EDGE(EDGE_CURVE(v8, v4, l8, m), m),
|
|
130
|
-
// ORIENTED_EDGE(EDGE_CURVE(v4, v1, l4, m), m),
|
|
131
|
-
// ],
|
|
132
|
-
// m
|
|
133
|
-
// ),
|
|
134
|
-
// m
|
|
135
|
-
// ),
|
|
136
|
-
// PLANE(AXIS2_PLACEMENT_3D(c03, d4, d3, m), m),
|
|
137
|
-
// m
|
|
138
|
-
// ),
|
|
139
|
-
// ],
|
|
140
|
-
// m
|
|
141
|
-
// ),
|
|
142
|
-
// m
|
|
143
|
-
// );
|
|
144
|
-
|
|
145
|
-
// ADVANCED_BREP_SHAPE_REPRESENTATION(
|
|
146
|
-
// AXIS2_PLACEMENT_3D(c03, DIRECTION(vec3PosZ, m), DIRECTION(vec3PosX, m), m),
|
|
147
|
-
// msb,
|
|
148
|
-
// m
|
|
149
|
-
// );
|
|
150
|
-
// MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION(
|
|
151
|
-
// STYLED_ITEM(
|
|
152
|
-
// PRESENTATION_STYLE_ASSIGNMENT(
|
|
153
|
-
// SURFACE_STYLE_USAGE(SURFACE_SIDE_STYLE(SURFACE_STYLE_FILL_AREA(FILL_AREA_STYLE_COLOUR(color, m), m), m), m),
|
|
154
|
-
// CURVE_STYLE(DRAUGHTING_PRE_DEFINED_CURVE_FONT("continuous", m), color, m),
|
|
155
|
-
// m
|
|
156
|
-
// ),
|
|
157
|
-
// sbsm,
|
|
158
|
-
// m
|
|
159
|
-
// ),
|
|
160
|
-
// m
|
|
161
|
-
// );
|
|
162
|
-
// }
|
|
158
|
+
const color = COLOUR_RGB(parseRgb(mat.normal), m);
|
|
159
|
+
const msb = MANIFOLD_SOLID_BREP(
|
|
160
|
+
CLOSED_SHELL(
|
|
161
|
+
[
|
|
162
|
+
ADVANCED_FACE(
|
|
163
|
+
FACE_BOUND(EDGE_LOOP([oe1, oe2, oe3, oe4], m), "F", m),
|
|
164
|
+
PCURVE(
|
|
165
|
+
CYLINDRICAL_SURFACE(down, m),
|
|
166
|
+
DEFINITIONAL_REPRESENTATION(LINE(c02, VECTOR(DIRECTION(vec2(-1, 0), m), m), m), m),
|
|
167
|
+
m
|
|
168
|
+
),
|
|
169
|
+
m
|
|
170
|
+
),
|
|
171
|
+
ADVANCED_FACE(FACE_BOUND(EDGE_LOOP([oe3], m), "T", m), PLANE(down, m), m), // Circle down
|
|
172
|
+
ADVANCED_FACE(FACE_BOUND(EDGE_LOOP([oe4], m), "F", m), PLANE(up, m), m), // Circle up
|
|
173
|
+
],
|
|
174
|
+
m
|
|
175
|
+
),
|
|
176
|
+
m
|
|
177
|
+
);
|
|
178
|
+
ADVANCED_BREP_SHAPE_REPRESENTATION(
|
|
179
|
+
AXIS2_PLACEMENT_3D(c03, DIRECTION(vec3PosZ, m), DIRECTION(vec3PosX, m), m),
|
|
180
|
+
msb,
|
|
181
|
+
m
|
|
182
|
+
);
|
|
183
|
+
MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION(
|
|
184
|
+
STYLED_ITEM(
|
|
185
|
+
PRESENTATION_STYLE_ASSIGNMENT(
|
|
186
|
+
SURFACE_STYLE_USAGE(SURFACE_SIDE_STYLE(SURFACE_STYLE_FILL_AREA(FILL_AREA_STYLE_COLOUR(color, m), m), m), m),
|
|
187
|
+
CURVE_STYLE(DRAUGHTING_PRE_DEFINED_CURVE_FONT("continuous", m), color, m),
|
|
188
|
+
m
|
|
189
|
+
),
|
|
190
|
+
msb,
|
|
191
|
+
m
|
|
192
|
+
),
|
|
193
|
+
m
|
|
194
|
+
);
|
|
195
|
+
}
|
|
@@ -63,7 +63,11 @@ export function stepPlane(p: Plane, mat: Material, parentPos: Vec3, parentRot: V
|
|
|
63
63
|
const color = COLOUR_RGB(parseRgb(mat.normal), m);
|
|
64
64
|
const sbsm = SHELL_BASED_SURFACE_MODEL(
|
|
65
65
|
OPEN_SHELL(
|
|
66
|
-
ADVANCED_FACE(
|
|
66
|
+
ADVANCED_FACE(
|
|
67
|
+
FACE_BOUND(EDGE_LOOP([oe1, oe2, oe3, oe4], m), "T", m),
|
|
68
|
+
PLANE(AXIS2_PLACEMENT_3D(c0, d2, d1, m), m),
|
|
69
|
+
m
|
|
70
|
+
),
|
|
67
71
|
m
|
|
68
72
|
),
|
|
69
73
|
m
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as A3D from "../../../abstract-3d";
|
|
2
2
|
import { gray, black, zElem, zOrderElement } from "./shared";
|
|
3
3
|
import { svgPolygon } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function box(
|
|
7
7
|
b: A3D.Box,
|
|
@@ -51,7 +51,7 @@ export function box(
|
|
|
51
51
|
|
|
52
52
|
const [strokeColor, fill, strokeUse] = onlyStroke
|
|
53
53
|
? [grayScale ? gray : color, onlyStrokeFill, stroke]
|
|
54
|
-
: [black, grayScale ?
|
|
54
|
+
: [black, grayScale ? rgbGrayScale(color) : color, 0];
|
|
55
55
|
|
|
56
56
|
return [
|
|
57
57
|
zElem(svgPolygon(frontBackPoints, fill, strokeColor, strokeUse), frontBackMean),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as A3D from "../../../abstract-3d";
|
|
2
2
|
import { gray, stBW, zElem, zOrderElement, transparent } from "./shared";
|
|
3
3
|
import { svgPolygon } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function cone(
|
|
7
7
|
c: A3D.Cone,
|
|
@@ -21,7 +21,7 @@ export function cone(
|
|
|
21
21
|
|
|
22
22
|
const [stroke, fill] = onlyStroke
|
|
23
23
|
? [grayScale ? gray : color, onlyStrokeFill]
|
|
24
|
-
: [transparent, grayScale ?
|
|
24
|
+
: [transparent, grayScale ? rgbGrayScale(color) : color];
|
|
25
25
|
const zOrderComponents = Array<zOrderElement>();
|
|
26
26
|
|
|
27
27
|
const sides = 8;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as A3D from "../../../abstract-3d";
|
|
2
2
|
import { gray, stBW, transparent, zElem, zOrderElement } from "./shared";
|
|
3
3
|
import { svgPolygon } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function cylinder(
|
|
7
7
|
c: A3D.Cylinder,
|
|
@@ -21,7 +21,7 @@ export function cylinder(
|
|
|
21
21
|
|
|
22
22
|
const [stroke, fill] = onlyStroke
|
|
23
23
|
? [grayScale ? gray : color, onlyStrokeFill]
|
|
24
|
-
: [transparent, grayScale ?
|
|
24
|
+
: [transparent, grayScale ? rgbGrayScale(color) : color];
|
|
25
25
|
const zOrderComponents = Array<zOrderElement>();
|
|
26
26
|
|
|
27
27
|
const sides = 8;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as A3D from "../../../abstract-3d";
|
|
2
2
|
import { zElem, zOrderElement } from "./shared";
|
|
3
3
|
import { svgLine } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function line(
|
|
7
7
|
l: A3D.Line,
|
|
@@ -16,7 +16,7 @@ export function line(
|
|
|
16
16
|
const v2 = A3D.vec3TransRot(l.end, parentPos, parentRot);
|
|
17
17
|
return [
|
|
18
18
|
zElem(
|
|
19
|
-
svgLine(point(v1.x, v1.y), point(v2.x, v2.y), grayScale ?
|
|
19
|
+
svgLine(point(v1.x, v1.y), point(v2.x, v2.y), grayScale ? rgbGrayScale(fill) : fill, l.thickness),
|
|
20
20
|
A3D.vec3ZMean(v1, v2)
|
|
21
21
|
),
|
|
22
22
|
];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as A3D from "../../../abstract-3d";
|
|
2
2
|
import { gray, black, zElem, zOrderElement } from "./shared";
|
|
3
3
|
import { EmbededImage, svgImage, svgPolygon } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function plane(
|
|
7
7
|
p: A3D.Plane,
|
|
@@ -40,6 +40,6 @@ export function plane(
|
|
|
40
40
|
|
|
41
41
|
const [strokeColor, fill, strokeThickness] = onlyStroke
|
|
42
42
|
? [grayScale ? gray : color, onlyStrokeFill, stroke]
|
|
43
|
-
: [black, grayScale ?
|
|
43
|
+
: [black, grayScale ? rgbGrayScale(color) : color, 0];
|
|
44
44
|
return [zElem(svgPolygon(points, fill, strokeColor, strokeThickness), A3D.vec3ZMean(v1, v2, v3, v4))];
|
|
45
45
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Polygon, vec3ZMean, Vec3, Vec2, vec3TransRot, vec3RotCombine, vec3Zero } from "../../../abstract-3d";
|
|
2
2
|
import { gray, zElem, zOrderElement, transparent } from "./shared";
|
|
3
3
|
import { svgPolygon } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function polygon(
|
|
7
7
|
p: Polygon,
|
|
@@ -20,6 +20,6 @@ export function polygon(
|
|
|
20
20
|
const points = rotatedPoints.map(({ x, y }) => point(x, y));
|
|
21
21
|
const [strokeColor, fill, strokeThickness] = onlyStroke
|
|
22
22
|
? [grayScale ? gray : color, onlyStrokeFill, stroke]
|
|
23
|
-
: [transparent, grayScale ?
|
|
23
|
+
: [transparent, grayScale ? rgbGrayScale(color) : color, 0];
|
|
24
24
|
return [zElem(svgPolygon(points, fill, strokeColor, strokeThickness), vec3ZMean(...rotatedPoints))];
|
|
25
25
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { vec3ZMean, Vec3, Vec2, vec3TransRot, vec3RotCombine, Shape, vec3, vec3Zero } from "../../../abstract-3d";
|
|
2
2
|
import { gray, zElem, zOrderElement, transparent } from "./shared";
|
|
3
3
|
import { svgPolygon } from "../svg-encoding";
|
|
4
|
-
import {
|
|
4
|
+
import { rgbGrayScale } from "../../shared";
|
|
5
5
|
|
|
6
6
|
export function shape(
|
|
7
7
|
s: Shape,
|
|
@@ -20,6 +20,6 @@ export function shape(
|
|
|
20
20
|
const points = rotatedPoints.map(({ x, y }) => point(x, y));
|
|
21
21
|
const [strokeColor, fill] = onlyStroke
|
|
22
22
|
? [grayScale ? gray : color, onlyStrokeFill]
|
|
23
|
-
: [transparent, grayScale ?
|
|
23
|
+
: [transparent, grayScale ? rgbGrayScale(color) : color];
|
|
24
24
|
return [zElem(svgPolygon(points, fill, strokeColor, 0), vec3ZMean(...rotatedPoints))];
|
|
25
25
|
}
|