Skip to content

Commit 4051f64

Browse files
committed
feat: add kwargs to all functions so that they can be passed thru
1 parent 7034590 commit 4051f64

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/plotly_3d_primitives/shapes.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ def cube(
1212
bounds: Optional[tuple[float]] = None,
1313
color: str = "#aaa",
1414
opacity: float = 0.5,
15+
**kwargs
1516
) -> go.Mesh3d:
1617
if bounds is not None and len(bounds) == 6:
1718
x0, x1, y0, y1, z0, z1 = bounds
@@ -34,7 +35,7 @@ def cube(
3435
k_array = [3, 3, 7, 7, 4, 5, 4, 7, 7, 6, 6, 7]
3536

3637
mesh = go.Mesh3d(
37-
x=x_array, y=y_array, z=z_array, opacity=opacity, color=color, alphahull=0
38+
x=x_array, y=y_array, z=z_array, opacity=opacity, color=color, alphahull=0, **kwargs
3839
)
3940
# mesh = go.Mesh3d(
4041
# x=x_array,
@@ -58,6 +59,7 @@ def prism(
5859
capping=True,
5960
color: str = "#aaa",
6061
opacity: float = 0.5,
62+
**kwargs
6163
) -> go.Mesh3d:
6264
anchor_x, anchor_y, anchor_z = center
6365

@@ -73,7 +75,7 @@ def prism(
7375
x_array, y_array, z_array = apply_transformations(x_array, y_array, z_array, center, direction)
7476

7577
return go.Mesh3d(
76-
x=x_array, y=y_array, z=z_array, alphahull=0, color=color, opacity=opacity
78+
x=x_array, y=y_array, z=z_array, alphahull=0, color=color, opacity=opacity, **kwargs
7779
)
7880

7981

@@ -87,6 +89,7 @@ def cone(
8789
resolution: int = 6,
8890
color: str = "#aaa",
8991
opacity: float = 0.5,
92+
**kwargs
9093
) -> go.Mesh3d:
9194
anchor_x, anchor_y, anchor_z = center
9295

@@ -107,7 +110,7 @@ def cone(
107110
x_array, y_array, z_array = apply_transformations(x_array, y_array, z_array, center, direction)
108111

109112
return go.Mesh3d(
110-
x=x_array, y=y_array, z=z_array, alphahull=0, color=color, opacity=opacity
113+
x=x_array, y=y_array, z=z_array, alphahull=0, color=color, opacity=opacity, **kwargs
111114
)
112115

113116

@@ -123,6 +126,7 @@ def sphere(
123126
end_phi=180.0,
124127
color="#555",
125128
opacity=0.5,
129+
**kwargs
126130
) -> go.Mesh3d:
127131
anchor_x, anchor_y, anchor_z = (0., 0., 0.)
128132
phi = np.linspace(start_phi, 2 * np.radians(end_phi), phi_resolution + 1)
@@ -138,7 +142,7 @@ def sphere(
138142
# print(center, direction)
139143
# print(y_array)
140144
return go.Mesh3d(
141-
x=x_array, y=y_array, z=z_array, alphahull=0, color=color, opacity=opacity
145+
x=x_array, y=y_array, z=z_array, alphahull=0, color=color, opacity=opacity, **kwargs
142146
)
143147

144148

@@ -149,6 +153,7 @@ def line(
149153
color: str = "#aaa",
150154
line_width: float = 1.0,
151155
opacity: float = 0.8,
156+
**kwargs
152157
):
153158
"""
154159
Returns a trace of a line in 3d space.
@@ -168,6 +173,7 @@ def line(
168173
opacity=opacity,
169174
mode="lines",
170175
line=line_properties,
176+
**kwargs
171177
)
172178

173179

@@ -181,6 +187,7 @@ def circular_arc_from_normal(
181187
opacity=0.5,
182188
line_width=1.0,
183189
return_points=False,
190+
**kwargs
184191
) -> go.Mesh3d:
185192
"""
186193
Create a circular arc defined by normal to the plane of the arc, and an
@@ -231,6 +238,7 @@ def circular_arc_from_normal(
231238
line=line_properties,
232239
opacity=opacity,
233240
mode="lines",
241+
**kwargs
234242
), points
235243
else:
236244
return go.Scatter3d(
@@ -240,6 +248,7 @@ def circular_arc_from_normal(
240248
line=line_properties,
241249
opacity=opacity,
242250
mode="lines",
251+
**kwargs
243252
)
244253

245254

@@ -250,6 +259,7 @@ def rectangle(
250259
normal=(1.0, 0.0, 0.0),
251260
color: str = "#aaa",
252261
opacity: float = 0.5,
262+
**kwargs
253263
) -> go.Mesh3d:
254264
z0 = center[2] - b / 2
255265
z1 = center[2] + b / 2
@@ -273,6 +283,7 @@ def rectangle(
273283
opacity=opacity,
274284
color=color,
275285
alphahull=0,
286+
**kwargs
276287
)
277288
return mesh
278289

0 commit comments

Comments
 (0)