f3d 2.3.0rc5__cp312-cp312-win_amd64.whl → 3.0.0rc5__cp312-cp312-win_amd64.whl
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.
Potentially problematic release.
This version of f3d might be problematic. Click here for more details.
- f3d/__init__.py +18 -23
- f3d/__init__.pyi +35 -0
- f3d/bin/f3d.dll +0 -0
- f3d/bin/vcruntime140.dll +0 -0
- f3d/bin/zlib.dll +0 -0
- f3d/pyf3d.cp312-win_amd64.pyd +0 -0
- f3d/pyf3d.pyi +713 -0
- f3d/share/f3d/plugins/alembic.json +1 -0
- f3d/share/f3d/plugins/assimp.json +7 -1
- f3d/share/f3d/plugins/draco.json +9 -0
- f3d/share/f3d/plugins/exodus.json +1 -0
- f3d/share/f3d/plugins/native.json +27 -0
- f3d/share/f3d/plugins/occt.json +11 -0
- {f3d-2.3.0rc5.dist-info → f3d-3.0.0rc5.dist-info}/METADATA +39 -25
- f3d-3.0.0rc5.dist-info/RECORD +18 -0
- {f3d-2.3.0rc5.dist-info → f3d-3.0.0rc5.dist-info}/WHEEL +1 -1
- f3d-3.0.0rc5.dist-info/licenses/doc/THIRD_PARTY_LICENSES.md +262 -0
- f3d-2.3.0rc5.dist-info/RECORD +0 -17
- f3d-2.3.0rc5.dist-info/entry_points.txt +0 -0
- f3d-2.3.0rc5.dist-info/licenses/doc/THIRD_PARTY_LICENSES.md +0 -54
- {f3d-2.3.0rc5.dist-info → f3d-3.0.0rc5.dist-info}/licenses/LICENSE.md +0 -0
f3d/pyf3d.pyi
ADDED
|
@@ -0,0 +1,713 @@
|
|
|
1
|
+
"""
|
|
2
|
+
f3d library bindings
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import os
|
|
6
|
+
import typing
|
|
7
|
+
__all__ = ['Camera', 'CameraState', 'Engine', 'Image', 'InteractionBind', 'Interactor', 'LibInformation', 'Log', 'Mesh', 'Options', 'ReaderInformation', 'Scene', 'Utils', 'Window']
|
|
8
|
+
class Camera:
|
|
9
|
+
focal_point: tuple[float, float, float]
|
|
10
|
+
position: tuple[float, float, float]
|
|
11
|
+
state: CameraState
|
|
12
|
+
view_angle: float
|
|
13
|
+
view_up: tuple[float, float, float]
|
|
14
|
+
def azimuth(self, arg0: float) -> Camera:
|
|
15
|
+
...
|
|
16
|
+
def dolly(self, arg0: float) -> Camera:
|
|
17
|
+
...
|
|
18
|
+
def elevation(self, arg0: float) -> Camera:
|
|
19
|
+
...
|
|
20
|
+
def pan(self, right: float, up: float, forward: float = 0.0) -> Camera:
|
|
21
|
+
...
|
|
22
|
+
def pitch(self, arg0: float) -> Camera:
|
|
23
|
+
...
|
|
24
|
+
def reset_to_bounds(self, zoom_factor: float = 0.9) -> Camera:
|
|
25
|
+
...
|
|
26
|
+
def reset_to_default(self) -> Camera:
|
|
27
|
+
...
|
|
28
|
+
def roll(self, arg0: float) -> Camera:
|
|
29
|
+
...
|
|
30
|
+
def set_current_as_default(self) -> Camera:
|
|
31
|
+
...
|
|
32
|
+
def yaw(self, arg0: float) -> Camera:
|
|
33
|
+
...
|
|
34
|
+
def zoom(self, arg0: float) -> Camera:
|
|
35
|
+
...
|
|
36
|
+
class CameraState:
|
|
37
|
+
focal_point: tuple[float, float, float]
|
|
38
|
+
position: tuple[float, float, float]
|
|
39
|
+
view_angle: float
|
|
40
|
+
view_up: tuple[float, float, float]
|
|
41
|
+
@typing.overload
|
|
42
|
+
def __init__(self) -> None:
|
|
43
|
+
...
|
|
44
|
+
@typing.overload
|
|
45
|
+
def __init__(self, position: tuple[float, float, float], focal_point: tuple[float, float, float], view_up: tuple[float, float, float], view_angle: float) -> None:
|
|
46
|
+
...
|
|
47
|
+
class Engine:
|
|
48
|
+
options: Options
|
|
49
|
+
@staticmethod
|
|
50
|
+
def autoload_plugins() -> None:
|
|
51
|
+
"""
|
|
52
|
+
Automatically load internal plugins
|
|
53
|
+
"""
|
|
54
|
+
@staticmethod
|
|
55
|
+
def create(offscreen: bool = False) -> Engine:
|
|
56
|
+
"""
|
|
57
|
+
Create an engine with a automatic window
|
|
58
|
+
"""
|
|
59
|
+
@staticmethod
|
|
60
|
+
def create_egl() -> Engine:
|
|
61
|
+
"""
|
|
62
|
+
Create an engine with an EGL window (Windows/Linux only)
|
|
63
|
+
"""
|
|
64
|
+
@staticmethod
|
|
65
|
+
def create_external_cocoa() -> Engine:
|
|
66
|
+
"""
|
|
67
|
+
Create an engine with an existing COCOA context (macOS only)
|
|
68
|
+
"""
|
|
69
|
+
@staticmethod
|
|
70
|
+
def create_external_egl() -> Engine:
|
|
71
|
+
"""
|
|
72
|
+
Create an engine with an existing EGL context (Windows/Linux only)
|
|
73
|
+
"""
|
|
74
|
+
@staticmethod
|
|
75
|
+
def create_external_glx() -> Engine:
|
|
76
|
+
"""
|
|
77
|
+
Create an engine with an existing GLX context (Linux only)
|
|
78
|
+
"""
|
|
79
|
+
@staticmethod
|
|
80
|
+
def create_external_osmesa() -> Engine:
|
|
81
|
+
"""
|
|
82
|
+
Create an engine with an existing OSMesa context (Windows/Linux only)
|
|
83
|
+
"""
|
|
84
|
+
@staticmethod
|
|
85
|
+
def create_external_wgl() -> Engine:
|
|
86
|
+
"""
|
|
87
|
+
Create an engine with an existing WGL context (Windows only)
|
|
88
|
+
"""
|
|
89
|
+
@staticmethod
|
|
90
|
+
def create_glx(arg0: bool) -> Engine:
|
|
91
|
+
"""
|
|
92
|
+
Create an engine with an GLX window (Linux only)
|
|
93
|
+
"""
|
|
94
|
+
@staticmethod
|
|
95
|
+
def create_none() -> Engine:
|
|
96
|
+
"""
|
|
97
|
+
Create an engine with no window
|
|
98
|
+
"""
|
|
99
|
+
@staticmethod
|
|
100
|
+
def create_osmesa() -> Engine:
|
|
101
|
+
"""
|
|
102
|
+
Create an engine with an OSMesa window (Windows/Linux only)
|
|
103
|
+
"""
|
|
104
|
+
@staticmethod
|
|
105
|
+
def create_wgl(arg0: bool) -> Engine:
|
|
106
|
+
"""
|
|
107
|
+
Create an engine with an WGL window (Windows only)
|
|
108
|
+
"""
|
|
109
|
+
@staticmethod
|
|
110
|
+
def get_lib_info() -> LibInformation:
|
|
111
|
+
...
|
|
112
|
+
@staticmethod
|
|
113
|
+
def get_plugins_list(arg0: os.PathLike[str]) -> list[str]:
|
|
114
|
+
...
|
|
115
|
+
@staticmethod
|
|
116
|
+
def get_readers_info() -> list[ReaderInformation]:
|
|
117
|
+
...
|
|
118
|
+
@staticmethod
|
|
119
|
+
def get_rendering_backend_list() -> dict[str, bool]:
|
|
120
|
+
...
|
|
121
|
+
@staticmethod
|
|
122
|
+
def load_plugin(arg0: str, arg1: list[os.PathLike[str]]) -> None:
|
|
123
|
+
"""
|
|
124
|
+
Load a plugin
|
|
125
|
+
"""
|
|
126
|
+
def set_cache_path(self, arg0: os.PathLike[str]) -> Engine:
|
|
127
|
+
"""
|
|
128
|
+
Set the cache path directory
|
|
129
|
+
"""
|
|
130
|
+
@property
|
|
131
|
+
def interactor(self) -> Interactor:
|
|
132
|
+
...
|
|
133
|
+
@property
|
|
134
|
+
def scene(self) -> Scene:
|
|
135
|
+
...
|
|
136
|
+
@property
|
|
137
|
+
def window(self) -> Window:
|
|
138
|
+
...
|
|
139
|
+
class Image:
|
|
140
|
+
class ChannelType:
|
|
141
|
+
"""
|
|
142
|
+
Members:
|
|
143
|
+
|
|
144
|
+
BYTE
|
|
145
|
+
|
|
146
|
+
SHORT
|
|
147
|
+
|
|
148
|
+
FLOAT
|
|
149
|
+
"""
|
|
150
|
+
BYTE: typing.ClassVar[Image.ChannelType] # value = <ChannelType.BYTE: 0>
|
|
151
|
+
FLOAT: typing.ClassVar[Image.ChannelType] # value = <ChannelType.FLOAT: 2>
|
|
152
|
+
SHORT: typing.ClassVar[Image.ChannelType] # value = <ChannelType.SHORT: 1>
|
|
153
|
+
__members__: typing.ClassVar[dict[str, Image.ChannelType]] # value = {'BYTE': <ChannelType.BYTE: 0>, 'SHORT': <ChannelType.SHORT: 1>, 'FLOAT': <ChannelType.FLOAT: 2>}
|
|
154
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
155
|
+
...
|
|
156
|
+
def __getstate__(self) -> int:
|
|
157
|
+
...
|
|
158
|
+
def __hash__(self) -> int:
|
|
159
|
+
...
|
|
160
|
+
def __index__(self) -> int:
|
|
161
|
+
...
|
|
162
|
+
def __init__(self, value: int) -> None:
|
|
163
|
+
...
|
|
164
|
+
def __int__(self) -> int:
|
|
165
|
+
...
|
|
166
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
167
|
+
...
|
|
168
|
+
def __repr__(self) -> str:
|
|
169
|
+
...
|
|
170
|
+
def __setstate__(self, state: int) -> None:
|
|
171
|
+
...
|
|
172
|
+
def __str__(self) -> str:
|
|
173
|
+
...
|
|
174
|
+
@property
|
|
175
|
+
def name(self) -> str:
|
|
176
|
+
...
|
|
177
|
+
@property
|
|
178
|
+
def value(self) -> int:
|
|
179
|
+
...
|
|
180
|
+
class SaveFormat:
|
|
181
|
+
"""
|
|
182
|
+
Members:
|
|
183
|
+
|
|
184
|
+
PNG
|
|
185
|
+
|
|
186
|
+
JPG
|
|
187
|
+
|
|
188
|
+
TIF
|
|
189
|
+
|
|
190
|
+
BMP
|
|
191
|
+
"""
|
|
192
|
+
BMP: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.BMP: 3>
|
|
193
|
+
JPG: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.JPG: 1>
|
|
194
|
+
PNG: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.PNG: 0>
|
|
195
|
+
TIF: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.TIF: 2>
|
|
196
|
+
__members__: typing.ClassVar[dict[str, Image.SaveFormat]] # value = {'PNG': <SaveFormat.PNG: 0>, 'JPG': <SaveFormat.JPG: 1>, 'TIF': <SaveFormat.TIF: 2>, 'BMP': <SaveFormat.BMP: 3>}
|
|
197
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
198
|
+
...
|
|
199
|
+
def __getstate__(self) -> int:
|
|
200
|
+
...
|
|
201
|
+
def __hash__(self) -> int:
|
|
202
|
+
...
|
|
203
|
+
def __index__(self) -> int:
|
|
204
|
+
...
|
|
205
|
+
def __init__(self, value: int) -> None:
|
|
206
|
+
...
|
|
207
|
+
def __int__(self) -> int:
|
|
208
|
+
...
|
|
209
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
210
|
+
...
|
|
211
|
+
def __repr__(self) -> str:
|
|
212
|
+
...
|
|
213
|
+
def __setstate__(self, state: int) -> None:
|
|
214
|
+
...
|
|
215
|
+
def __str__(self) -> str:
|
|
216
|
+
...
|
|
217
|
+
@property
|
|
218
|
+
def name(self) -> str:
|
|
219
|
+
...
|
|
220
|
+
@property
|
|
221
|
+
def value(self) -> int:
|
|
222
|
+
...
|
|
223
|
+
BMP: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.BMP: 3>
|
|
224
|
+
BYTE: typing.ClassVar[Image.ChannelType] # value = <ChannelType.BYTE: 0>
|
|
225
|
+
FLOAT: typing.ClassVar[Image.ChannelType] # value = <ChannelType.FLOAT: 2>
|
|
226
|
+
JPG: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.JPG: 1>
|
|
227
|
+
PNG: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.PNG: 0>
|
|
228
|
+
SHORT: typing.ClassVar[Image.ChannelType] # value = <ChannelType.SHORT: 1>
|
|
229
|
+
TIF: typing.ClassVar[Image.SaveFormat] # value = <SaveFormat.TIF: 2>
|
|
230
|
+
__hash__: typing.ClassVar[None] = None
|
|
231
|
+
content: bytes
|
|
232
|
+
@staticmethod
|
|
233
|
+
def supported_formats() -> list[str]:
|
|
234
|
+
...
|
|
235
|
+
def __eq__(self, arg0: Image) -> bool:
|
|
236
|
+
...
|
|
237
|
+
@typing.overload
|
|
238
|
+
def __init__(self) -> None:
|
|
239
|
+
...
|
|
240
|
+
@typing.overload
|
|
241
|
+
def __init__(self, arg0: os.PathLike[str]) -> None:
|
|
242
|
+
...
|
|
243
|
+
@typing.overload
|
|
244
|
+
def __init__(self, arg0: int, arg1: int, arg2: int, arg3: Image.ChannelType) -> None:
|
|
245
|
+
...
|
|
246
|
+
def __ne__(self, arg0: Image) -> bool:
|
|
247
|
+
...
|
|
248
|
+
def _repr_png_(self) -> bytes:
|
|
249
|
+
...
|
|
250
|
+
def all_metadata(self) -> list[str]:
|
|
251
|
+
...
|
|
252
|
+
def compare(self, arg0: Image) -> float:
|
|
253
|
+
...
|
|
254
|
+
def get_metadata(self, arg0: str) -> str:
|
|
255
|
+
...
|
|
256
|
+
def normalized_pixel(self, arg0: tuple[int, int]) -> list[float]:
|
|
257
|
+
...
|
|
258
|
+
def save(self, path: os.PathLike[str], format: Image.SaveFormat = Image.SaveFormat.PNG) -> Image:
|
|
259
|
+
...
|
|
260
|
+
def save_buffer(self, format: Image.SaveFormat = Image.SaveFormat.PNG) -> bytes:
|
|
261
|
+
...
|
|
262
|
+
def set_metadata(self, arg0: str, arg1: str) -> Image:
|
|
263
|
+
...
|
|
264
|
+
def to_terminal_text(self) -> str:
|
|
265
|
+
...
|
|
266
|
+
@property
|
|
267
|
+
def channel_count(self) -> int:
|
|
268
|
+
...
|
|
269
|
+
@property
|
|
270
|
+
def channel_type(self) -> Image.ChannelType:
|
|
271
|
+
...
|
|
272
|
+
@property
|
|
273
|
+
def channel_type_size(self) -> int:
|
|
274
|
+
...
|
|
275
|
+
@property
|
|
276
|
+
def height(self) -> int:
|
|
277
|
+
...
|
|
278
|
+
@property
|
|
279
|
+
def width(self) -> int:
|
|
280
|
+
...
|
|
281
|
+
class InteractionBind:
|
|
282
|
+
class ModifierKeys:
|
|
283
|
+
"""
|
|
284
|
+
Members:
|
|
285
|
+
|
|
286
|
+
ANY
|
|
287
|
+
|
|
288
|
+
NONE
|
|
289
|
+
|
|
290
|
+
CTRL
|
|
291
|
+
|
|
292
|
+
SHIFT
|
|
293
|
+
|
|
294
|
+
CTRL_SHIFT
|
|
295
|
+
"""
|
|
296
|
+
ANY: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.ANY: 128>
|
|
297
|
+
CTRL: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.CTRL: 1>
|
|
298
|
+
CTRL_SHIFT: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.CTRL_SHIFT: 3>
|
|
299
|
+
NONE: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.NONE: 0>
|
|
300
|
+
SHIFT: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.SHIFT: 2>
|
|
301
|
+
__members__: typing.ClassVar[dict[str, InteractionBind.ModifierKeys]] # value = {'ANY': <ModifierKeys.ANY: 128>, 'NONE': <ModifierKeys.NONE: 0>, 'CTRL': <ModifierKeys.CTRL: 1>, 'SHIFT': <ModifierKeys.SHIFT: 2>, 'CTRL_SHIFT': <ModifierKeys.CTRL_SHIFT: 3>}
|
|
302
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
303
|
+
...
|
|
304
|
+
def __getstate__(self) -> int:
|
|
305
|
+
...
|
|
306
|
+
def __hash__(self) -> int:
|
|
307
|
+
...
|
|
308
|
+
def __index__(self) -> int:
|
|
309
|
+
...
|
|
310
|
+
def __init__(self, value: int) -> None:
|
|
311
|
+
...
|
|
312
|
+
def __int__(self) -> int:
|
|
313
|
+
...
|
|
314
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
315
|
+
...
|
|
316
|
+
def __repr__(self) -> str:
|
|
317
|
+
...
|
|
318
|
+
def __setstate__(self, state: int) -> None:
|
|
319
|
+
...
|
|
320
|
+
def __str__(self) -> str:
|
|
321
|
+
...
|
|
322
|
+
@property
|
|
323
|
+
def name(self) -> str:
|
|
324
|
+
...
|
|
325
|
+
@property
|
|
326
|
+
def value(self) -> int:
|
|
327
|
+
...
|
|
328
|
+
ANY: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.ANY: 128>
|
|
329
|
+
CTRL: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.CTRL: 1>
|
|
330
|
+
CTRL_SHIFT: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.CTRL_SHIFT: 3>
|
|
331
|
+
NONE: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.NONE: 0>
|
|
332
|
+
SHIFT: typing.ClassVar[InteractionBind.ModifierKeys] # value = <ModifierKeys.SHIFT: 2>
|
|
333
|
+
inter: str
|
|
334
|
+
mod: InteractionBind.ModifierKeys
|
|
335
|
+
def __init__(self, arg0: InteractionBind.ModifierKeys, arg1: str) -> None:
|
|
336
|
+
...
|
|
337
|
+
def format(self) -> str:
|
|
338
|
+
...
|
|
339
|
+
class Interactor:
|
|
340
|
+
@typing.overload
|
|
341
|
+
def add_binding(self, arg0: InteractionBind, arg1: str, arg2: str, arg3: typing.Callable[[], tuple[str, str]]) -> Interactor:
|
|
342
|
+
"""
|
|
343
|
+
Add a binding command
|
|
344
|
+
"""
|
|
345
|
+
@typing.overload
|
|
346
|
+
def add_binding(self, arg0: InteractionBind, arg1: list[str], arg2: str, arg3: typing.Callable[[], tuple[str, str]]) -> Interactor:
|
|
347
|
+
"""
|
|
348
|
+
Add binding commands
|
|
349
|
+
"""
|
|
350
|
+
def add_command(self, arg0: str, arg1: typing.Callable[[list[str]], None]) -> Interactor:
|
|
351
|
+
"""
|
|
352
|
+
Add a command
|
|
353
|
+
"""
|
|
354
|
+
def disable_camera_movement(self) -> Interactor:
|
|
355
|
+
"""
|
|
356
|
+
Disable the camera interaction
|
|
357
|
+
"""
|
|
358
|
+
def enable_camera_movement(self) -> Interactor:
|
|
359
|
+
"""
|
|
360
|
+
Enable the camera interaction
|
|
361
|
+
"""
|
|
362
|
+
def get_bind_groups(self) -> list[str]:
|
|
363
|
+
...
|
|
364
|
+
def get_binding_documentation(self, arg0: InteractionBind) -> tuple[str, str]:
|
|
365
|
+
...
|
|
366
|
+
def get_binds(self) -> list[InteractionBind]:
|
|
367
|
+
...
|
|
368
|
+
def get_binds_for_group(self, arg0: str) -> list[InteractionBind]:
|
|
369
|
+
...
|
|
370
|
+
def get_command_actions(self) -> list[str]:
|
|
371
|
+
"""
|
|
372
|
+
Get all command actions
|
|
373
|
+
"""
|
|
374
|
+
def init_bindings(self) -> Interactor:
|
|
375
|
+
"""
|
|
376
|
+
Remove all bindings and add default bindings
|
|
377
|
+
"""
|
|
378
|
+
def init_commands(self) -> Interactor:
|
|
379
|
+
"""
|
|
380
|
+
Remove all commands and add all default command callbacks
|
|
381
|
+
"""
|
|
382
|
+
def is_playing_animation(self) -> bool:
|
|
383
|
+
"""
|
|
384
|
+
Returns True if the animation is currently started
|
|
385
|
+
"""
|
|
386
|
+
def play_interaction(self, arg0: os.PathLike[str], arg1: float, arg2: typing.Callable[[], None]) -> bool:
|
|
387
|
+
"""
|
|
388
|
+
Play an interaction file
|
|
389
|
+
"""
|
|
390
|
+
def record_interaction(self, arg0: os.PathLike[str]) -> bool:
|
|
391
|
+
"""
|
|
392
|
+
Record an interaction file
|
|
393
|
+
"""
|
|
394
|
+
def remove_binding(self, arg0: InteractionBind) -> Interactor:
|
|
395
|
+
"""
|
|
396
|
+
Remove interaction commands
|
|
397
|
+
"""
|
|
398
|
+
def remove_command(self, arg0: str) -> Interactor:
|
|
399
|
+
"""
|
|
400
|
+
Remove a command
|
|
401
|
+
"""
|
|
402
|
+
def request_render(self) -> Interactor:
|
|
403
|
+
"""
|
|
404
|
+
Request a render on the next event loop
|
|
405
|
+
"""
|
|
406
|
+
def start(self, delta_time: float = 0.03333333333333333, user_callback: typing.Callable[[], None] = None) -> Interactor:
|
|
407
|
+
"""
|
|
408
|
+
Start the interactor and the event loop
|
|
409
|
+
"""
|
|
410
|
+
def start_animation(self) -> Interactor:
|
|
411
|
+
"""
|
|
412
|
+
Start the animation
|
|
413
|
+
"""
|
|
414
|
+
def stop(self) -> Interactor:
|
|
415
|
+
"""
|
|
416
|
+
Stop the interactor and the event loop
|
|
417
|
+
"""
|
|
418
|
+
def stop_animation(self) -> Interactor:
|
|
419
|
+
"""
|
|
420
|
+
Stop the animation
|
|
421
|
+
"""
|
|
422
|
+
def toggle_animation(self) -> Interactor:
|
|
423
|
+
"""
|
|
424
|
+
Toggle the animation
|
|
425
|
+
"""
|
|
426
|
+
def trigger_command(self, arg0: str) -> bool:
|
|
427
|
+
"""
|
|
428
|
+
Trigger a command
|
|
429
|
+
"""
|
|
430
|
+
class LibInformation:
|
|
431
|
+
@property
|
|
432
|
+
def build_date(self) -> str:
|
|
433
|
+
...
|
|
434
|
+
@property
|
|
435
|
+
def build_system(self) -> str:
|
|
436
|
+
...
|
|
437
|
+
@property
|
|
438
|
+
def compiler(self) -> str:
|
|
439
|
+
...
|
|
440
|
+
@property
|
|
441
|
+
def copyrights(self) -> list[str]:
|
|
442
|
+
...
|
|
443
|
+
@property
|
|
444
|
+
def license(self) -> str:
|
|
445
|
+
...
|
|
446
|
+
@property
|
|
447
|
+
def modules(self) -> dict[str, bool]:
|
|
448
|
+
...
|
|
449
|
+
@property
|
|
450
|
+
def version(self) -> str:
|
|
451
|
+
...
|
|
452
|
+
@property
|
|
453
|
+
def version_full(self) -> str:
|
|
454
|
+
...
|
|
455
|
+
@property
|
|
456
|
+
def vtk_version(self) -> str:
|
|
457
|
+
...
|
|
458
|
+
class Log:
|
|
459
|
+
class VerboseLevel:
|
|
460
|
+
"""
|
|
461
|
+
Members:
|
|
462
|
+
|
|
463
|
+
DEBUG
|
|
464
|
+
|
|
465
|
+
INFO
|
|
466
|
+
|
|
467
|
+
WARN
|
|
468
|
+
|
|
469
|
+
ERROR
|
|
470
|
+
|
|
471
|
+
QUIET
|
|
472
|
+
"""
|
|
473
|
+
DEBUG: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.DEBUG: 0>
|
|
474
|
+
ERROR: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.ERROR: 3>
|
|
475
|
+
INFO: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.INFO: 1>
|
|
476
|
+
QUIET: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.QUIET: 4>
|
|
477
|
+
WARN: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.WARN: 2>
|
|
478
|
+
__members__: typing.ClassVar[dict[str, Log.VerboseLevel]] # value = {'DEBUG': <VerboseLevel.DEBUG: 0>, 'INFO': <VerboseLevel.INFO: 1>, 'WARN': <VerboseLevel.WARN: 2>, 'ERROR': <VerboseLevel.ERROR: 3>, 'QUIET': <VerboseLevel.QUIET: 4>}
|
|
479
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
480
|
+
...
|
|
481
|
+
def __getstate__(self) -> int:
|
|
482
|
+
...
|
|
483
|
+
def __hash__(self) -> int:
|
|
484
|
+
...
|
|
485
|
+
def __index__(self) -> int:
|
|
486
|
+
...
|
|
487
|
+
def __init__(self, value: int) -> None:
|
|
488
|
+
...
|
|
489
|
+
def __int__(self) -> int:
|
|
490
|
+
...
|
|
491
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
492
|
+
...
|
|
493
|
+
def __repr__(self) -> str:
|
|
494
|
+
...
|
|
495
|
+
def __setstate__(self, state: int) -> None:
|
|
496
|
+
...
|
|
497
|
+
def __str__(self) -> str:
|
|
498
|
+
...
|
|
499
|
+
@property
|
|
500
|
+
def name(self) -> str:
|
|
501
|
+
...
|
|
502
|
+
@property
|
|
503
|
+
def value(self) -> int:
|
|
504
|
+
...
|
|
505
|
+
DEBUG: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.DEBUG: 0>
|
|
506
|
+
ERROR: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.ERROR: 3>
|
|
507
|
+
INFO: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.INFO: 1>
|
|
508
|
+
QUIET: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.QUIET: 4>
|
|
509
|
+
WARN: typing.ClassVar[Log.VerboseLevel] # value = <VerboseLevel.WARN: 2>
|
|
510
|
+
@staticmethod
|
|
511
|
+
def print(arg0: Log.VerboseLevel, arg1: str) -> None:
|
|
512
|
+
...
|
|
513
|
+
@staticmethod
|
|
514
|
+
def set_use_coloring(arg0: bool) -> None:
|
|
515
|
+
...
|
|
516
|
+
@staticmethod
|
|
517
|
+
def set_verbose_level(level: Log.VerboseLevel, force_std_err: bool = False) -> None:
|
|
518
|
+
...
|
|
519
|
+
class Mesh:
|
|
520
|
+
face_indices: list[int]
|
|
521
|
+
face_sides: list[int]
|
|
522
|
+
normals: list[float]
|
|
523
|
+
points: list[float]
|
|
524
|
+
texture_coordinates: list[float]
|
|
525
|
+
@typing.overload
|
|
526
|
+
def __init__(self) -> None:
|
|
527
|
+
...
|
|
528
|
+
@typing.overload
|
|
529
|
+
def __init__(self, points: list[float], normals: list[float] = [], texture_coordinates: list[float] = [], face_sides: list[int] = [], face_indices: list[int] = []) -> None:
|
|
530
|
+
...
|
|
531
|
+
class Options:
|
|
532
|
+
def __getitem__(self, arg0: str) -> bool | int | float | str | list[float]:
|
|
533
|
+
...
|
|
534
|
+
def __init__(self) -> None:
|
|
535
|
+
...
|
|
536
|
+
def __iter__(self) -> typing.Iterator[typing.Any]:
|
|
537
|
+
...
|
|
538
|
+
def __len__(self) -> int:
|
|
539
|
+
...
|
|
540
|
+
def __setitem__(self, arg0: str, arg1: bool | int | float | str | list[float]) -> None:
|
|
541
|
+
...
|
|
542
|
+
def copy(self, arg0: Options, arg1: str) -> Options:
|
|
543
|
+
...
|
|
544
|
+
def get_closest_option(self, arg0: str) -> tuple[str, int]:
|
|
545
|
+
...
|
|
546
|
+
def is_same(self, arg0: Options, arg1: str) -> bool:
|
|
547
|
+
...
|
|
548
|
+
def keys(self) -> list[str]:
|
|
549
|
+
...
|
|
550
|
+
def toggle(self, arg0: str) -> Options:
|
|
551
|
+
...
|
|
552
|
+
def update(self, arg: typing.Union[typing.Mapping[str, typing.Any], typing.Iterable[tuple[str, typing.Any]]]) -> None:
|
|
553
|
+
...
|
|
554
|
+
class ReaderInformation:
|
|
555
|
+
@property
|
|
556
|
+
def description(self) -> str:
|
|
557
|
+
...
|
|
558
|
+
@property
|
|
559
|
+
def extensions(self) -> list[str]:
|
|
560
|
+
...
|
|
561
|
+
@property
|
|
562
|
+
def has_geometry_reader(self) -> bool:
|
|
563
|
+
...
|
|
564
|
+
@property
|
|
565
|
+
def has_scene_reader(self) -> bool:
|
|
566
|
+
...
|
|
567
|
+
@property
|
|
568
|
+
def mime_types(self) -> list[str]:
|
|
569
|
+
...
|
|
570
|
+
@property
|
|
571
|
+
def name(self) -> str:
|
|
572
|
+
...
|
|
573
|
+
@property
|
|
574
|
+
def plugin_name(self) -> str:
|
|
575
|
+
...
|
|
576
|
+
class Scene:
|
|
577
|
+
@typing.overload
|
|
578
|
+
def add(self, file_path: os.PathLike[str]) -> Scene:
|
|
579
|
+
"""
|
|
580
|
+
Add a file the scene
|
|
581
|
+
"""
|
|
582
|
+
@typing.overload
|
|
583
|
+
def add(self, file_path_vector: list[os.PathLike[str]]) -> Scene:
|
|
584
|
+
"""
|
|
585
|
+
Add multiple filepaths to the scene
|
|
586
|
+
"""
|
|
587
|
+
@typing.overload
|
|
588
|
+
def add(self, file_name_vector: list[str]) -> Scene:
|
|
589
|
+
"""
|
|
590
|
+
Add multiple filenames to the scene
|
|
591
|
+
"""
|
|
592
|
+
@typing.overload
|
|
593
|
+
def add(self, mesh: Mesh) -> Scene:
|
|
594
|
+
"""
|
|
595
|
+
Add a surfacic mesh from memory into the scene
|
|
596
|
+
"""
|
|
597
|
+
def animation_time_range(self) -> tuple[float, float]:
|
|
598
|
+
...
|
|
599
|
+
def clear(self) -> Scene:
|
|
600
|
+
...
|
|
601
|
+
def load_animation_time(self, arg0: float) -> Scene:
|
|
602
|
+
...
|
|
603
|
+
def supports(self, arg0: os.PathLike[str]) -> bool:
|
|
604
|
+
...
|
|
605
|
+
class Utils:
|
|
606
|
+
@staticmethod
|
|
607
|
+
def collapse_path(arg0: os.PathLike[str], arg1: os.PathLike[str]) -> os.PathLike[str]:
|
|
608
|
+
...
|
|
609
|
+
@staticmethod
|
|
610
|
+
def text_distance(arg0: str, arg1: str) -> int:
|
|
611
|
+
...
|
|
612
|
+
class Window:
|
|
613
|
+
class Type:
|
|
614
|
+
"""
|
|
615
|
+
Members:
|
|
616
|
+
|
|
617
|
+
NONE
|
|
618
|
+
|
|
619
|
+
EXTERNAL
|
|
620
|
+
|
|
621
|
+
GLX
|
|
622
|
+
|
|
623
|
+
WGL
|
|
624
|
+
|
|
625
|
+
COCOA
|
|
626
|
+
|
|
627
|
+
EGL
|
|
628
|
+
|
|
629
|
+
OSMESA
|
|
630
|
+
|
|
631
|
+
UNKNOWN
|
|
632
|
+
"""
|
|
633
|
+
COCOA: typing.ClassVar[Window.Type] # value = <Type.COCOA: 4>
|
|
634
|
+
EGL: typing.ClassVar[Window.Type] # value = <Type.EGL: 5>
|
|
635
|
+
EXTERNAL: typing.ClassVar[Window.Type] # value = <Type.EXTERNAL: 1>
|
|
636
|
+
GLX: typing.ClassVar[Window.Type] # value = <Type.GLX: 2>
|
|
637
|
+
NONE: typing.ClassVar[Window.Type] # value = <Type.NONE: 0>
|
|
638
|
+
OSMESA: typing.ClassVar[Window.Type] # value = <Type.OSMESA: 6>
|
|
639
|
+
UNKNOWN: typing.ClassVar[Window.Type] # value = <Type.UNKNOWN: 8>
|
|
640
|
+
WGL: typing.ClassVar[Window.Type] # value = <Type.WGL: 3>
|
|
641
|
+
__members__: typing.ClassVar[dict[str, Window.Type]] # value = {'NONE': <Type.NONE: 0>, 'EXTERNAL': <Type.EXTERNAL: 1>, 'GLX': <Type.GLX: 2>, 'WGL': <Type.WGL: 3>, 'COCOA': <Type.COCOA: 4>, 'EGL': <Type.EGL: 5>, 'OSMESA': <Type.OSMESA: 6>, 'UNKNOWN': <Type.UNKNOWN: 8>}
|
|
642
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
643
|
+
...
|
|
644
|
+
def __getstate__(self) -> int:
|
|
645
|
+
...
|
|
646
|
+
def __hash__(self) -> int:
|
|
647
|
+
...
|
|
648
|
+
def __index__(self) -> int:
|
|
649
|
+
...
|
|
650
|
+
def __init__(self, value: int) -> None:
|
|
651
|
+
...
|
|
652
|
+
def __int__(self) -> int:
|
|
653
|
+
...
|
|
654
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
655
|
+
...
|
|
656
|
+
def __repr__(self) -> str:
|
|
657
|
+
...
|
|
658
|
+
def __setstate__(self, state: int) -> None:
|
|
659
|
+
...
|
|
660
|
+
def __str__(self) -> str:
|
|
661
|
+
...
|
|
662
|
+
@property
|
|
663
|
+
def name(self) -> str:
|
|
664
|
+
...
|
|
665
|
+
@property
|
|
666
|
+
def value(self) -> int:
|
|
667
|
+
...
|
|
668
|
+
COCOA: typing.ClassVar[Window.Type] # value = <Type.COCOA: 4>
|
|
669
|
+
EGL: typing.ClassVar[Window.Type] # value = <Type.EGL: 5>
|
|
670
|
+
EXTERNAL: typing.ClassVar[Window.Type] # value = <Type.EXTERNAL: 1>
|
|
671
|
+
GLX: typing.ClassVar[Window.Type] # value = <Type.GLX: 2>
|
|
672
|
+
NONE: typing.ClassVar[Window.Type] # value = <Type.NONE: 0>
|
|
673
|
+
OSMESA: typing.ClassVar[Window.Type] # value = <Type.OSMESA: 6>
|
|
674
|
+
UNKNOWN: typing.ClassVar[Window.Type] # value = <Type.UNKNOWN: 8>
|
|
675
|
+
WGL: typing.ClassVar[Window.Type] # value = <Type.WGL: 3>
|
|
676
|
+
height: int
|
|
677
|
+
size: tuple[int, int]
|
|
678
|
+
width: int
|
|
679
|
+
def get_display_from_world(self, arg0: tuple[float, float, float]) -> tuple[float, float, float]:
|
|
680
|
+
"""
|
|
681
|
+
Get display coordinate point from world coordinate
|
|
682
|
+
"""
|
|
683
|
+
def get_world_from_display(self, arg0: tuple[float, float, float]) -> tuple[float, float, float]:
|
|
684
|
+
"""
|
|
685
|
+
Get world coordinate point from display coordinate
|
|
686
|
+
"""
|
|
687
|
+
def render(self) -> bool:
|
|
688
|
+
"""
|
|
689
|
+
Render the window
|
|
690
|
+
"""
|
|
691
|
+
def render_to_image(self, no_background: bool = False) -> Image:
|
|
692
|
+
"""
|
|
693
|
+
Render the window to an image
|
|
694
|
+
"""
|
|
695
|
+
def set_icon(self, arg0: int, arg1: int) -> Window:
|
|
696
|
+
"""
|
|
697
|
+
Set the icon of the window using a memory buffer representing a PNG file
|
|
698
|
+
"""
|
|
699
|
+
def set_position(self, arg0: int, arg1: int) -> Window:
|
|
700
|
+
...
|
|
701
|
+
def set_window_name(self, arg0: str) -> Window:
|
|
702
|
+
"""
|
|
703
|
+
Set the window name
|
|
704
|
+
"""
|
|
705
|
+
@property
|
|
706
|
+
def camera(self) -> Camera:
|
|
707
|
+
...
|
|
708
|
+
@property
|
|
709
|
+
def offscreen(self) -> bool:
|
|
710
|
+
...
|
|
711
|
+
@property
|
|
712
|
+
def type(self) -> Window.Type:
|
|
713
|
+
...
|