f3d 3.4.1__cp314-cp314-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.
- f3d/__init__.py +107 -0
- f3d/bin/f3d.dll +0 -0
- f3d/bin/vcruntime140.dll +0 -0
- f3d/bin/zlib.dll +0 -0
- f3d/py.typed +0 -0
- f3d/pyf3d.cp314-win_amd64.pyd +0 -0
- f3d/pyf3d.pyi +1535 -0
- f3d/share/f3d/plugins/alembic.json +17 -0
- f3d/share/f3d/plugins/assimp.json +57 -0
- f3d/share/f3d/plugins/draco.json +25 -0
- f3d/share/f3d/plugins/hdf.json +33 -0
- f3d/share/f3d/plugins/native.json +185 -0
- f3d/share/f3d/plugins/occt.json +41 -0
- f3d-3.4.1.dist-info/METADATA +130 -0
- f3d-3.4.1.dist-info/RECORD +18 -0
- f3d-3.4.1.dist-info/WHEEL +5 -0
- f3d-3.4.1.dist-info/licenses/LICENSE.md +32 -0
- f3d-3.4.1.dist-info/licenses/THIRD_PARTY_LICENSES.md +268 -0
f3d/pyf3d.pyi
ADDED
|
@@ -0,0 +1,1535 @@
|
|
|
1
|
+
"""
|
|
2
|
+
f3d library bindings
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import pathlib
|
|
6
|
+
import os
|
|
7
|
+
import f3d
|
|
8
|
+
import os
|
|
9
|
+
import typing
|
|
10
|
+
__all__: list[str] = ['CAMERA_LIGHT', 'Camera', 'CameraState', 'Color', 'Engine', 'HEADLIGHT', 'Image', 'InteractionBind', 'Interactor', 'LibInformation', 'LightState', 'LightType', 'Log', 'Mesh', 'Options', 'ReaderInformation', 'SCENE_LIGHT', 'Scene', 'Utils', 'Window', 'forwardcleanup']
|
|
11
|
+
|
|
12
|
+
class Camera:
|
|
13
|
+
focal_point: tuple[float, float, float]
|
|
14
|
+
position: tuple[float, float, float]
|
|
15
|
+
state: CameraState
|
|
16
|
+
view_angle: float
|
|
17
|
+
view_up: tuple[float, float, float]
|
|
18
|
+
|
|
19
|
+
def azimuth(self, arg0: float) -> Camera:
|
|
20
|
+
...
|
|
21
|
+
|
|
22
|
+
def dolly(self, arg0: float) -> Camera:
|
|
23
|
+
...
|
|
24
|
+
|
|
25
|
+
def elevation(self, arg0: float) -> Camera:
|
|
26
|
+
...
|
|
27
|
+
|
|
28
|
+
def pan(self, right: float, up: float, forward: float=0.0) -> Camera:
|
|
29
|
+
...
|
|
30
|
+
|
|
31
|
+
def pitch(self, arg0: float) -> Camera:
|
|
32
|
+
...
|
|
33
|
+
|
|
34
|
+
def reset_to_bounds(self, zoom_factor: float=0.9) -> Camera:
|
|
35
|
+
...
|
|
36
|
+
|
|
37
|
+
def reset_to_default(self) -> Camera:
|
|
38
|
+
...
|
|
39
|
+
|
|
40
|
+
def roll(self, arg0: float) -> Camera:
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
def set_current_as_default(self) -> Camera:
|
|
44
|
+
...
|
|
45
|
+
|
|
46
|
+
def yaw(self, arg0: float) -> Camera:
|
|
47
|
+
...
|
|
48
|
+
|
|
49
|
+
def zoom(self, arg0: float) -> Camera:
|
|
50
|
+
...
|
|
51
|
+
|
|
52
|
+
class CameraState:
|
|
53
|
+
focal_point: tuple[float, float, float]
|
|
54
|
+
position: tuple[float, float, float]
|
|
55
|
+
view_angle: float
|
|
56
|
+
view_up: tuple[float, float, float]
|
|
57
|
+
|
|
58
|
+
@typing.overload
|
|
59
|
+
def __init__(self) -> None:
|
|
60
|
+
...
|
|
61
|
+
|
|
62
|
+
@typing.overload
|
|
63
|
+
def __init__(self, position: tuple[float, float, float]=(0.0, 0.0, 1.0), focal_point: tuple[float, float, float]=(0.0, 0.0, 0.0), view_up: tuple[float, float, float]=(0.0, 1.0, 0.0), view_angle: float=30.0) -> None:
|
|
64
|
+
...
|
|
65
|
+
|
|
66
|
+
class Color:
|
|
67
|
+
b: float
|
|
68
|
+
g: float
|
|
69
|
+
r: float
|
|
70
|
+
|
|
71
|
+
@typing.overload
|
|
72
|
+
def __init__(self) -> None:
|
|
73
|
+
...
|
|
74
|
+
|
|
75
|
+
@typing.overload
|
|
76
|
+
def __init__(self, r: float, g: float, b: float) -> None:
|
|
77
|
+
...
|
|
78
|
+
|
|
79
|
+
def from_tuple(self, arg0: tuple[float, float, float]) -> None:
|
|
80
|
+
"""
|
|
81
|
+
Set color from a tuple of (r, g, b)
|
|
82
|
+
"""
|
|
83
|
+
|
|
84
|
+
def to_tuple(self) -> tuple[float, float, float]:
|
|
85
|
+
"""
|
|
86
|
+
Convert color to a tuple of (r, g, b)
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
class Engine:
|
|
90
|
+
options: Options
|
|
91
|
+
|
|
92
|
+
@staticmethod
|
|
93
|
+
def autoload_plugins() -> None:
|
|
94
|
+
"""
|
|
95
|
+
Automatically load internal plugins
|
|
96
|
+
"""
|
|
97
|
+
|
|
98
|
+
@staticmethod
|
|
99
|
+
def create(offscreen: bool=False) -> Engine:
|
|
100
|
+
"""
|
|
101
|
+
Create an engine with a automatic window
|
|
102
|
+
"""
|
|
103
|
+
|
|
104
|
+
@staticmethod
|
|
105
|
+
def create_egl() -> Engine:
|
|
106
|
+
"""
|
|
107
|
+
Create an engine with an EGL window (Windows/Linux only)
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
@staticmethod
|
|
111
|
+
def create_external(get_proc_address: typing.Any) -> Engine:
|
|
112
|
+
"""
|
|
113
|
+
Create an engine with an existing context via a get_proc_address callback
|
|
114
|
+
"""
|
|
115
|
+
|
|
116
|
+
@staticmethod
|
|
117
|
+
def create_external_cocoa() -> Engine:
|
|
118
|
+
"""
|
|
119
|
+
Create an engine with an existing COCOA context (macOS only)
|
|
120
|
+
"""
|
|
121
|
+
|
|
122
|
+
@staticmethod
|
|
123
|
+
def create_external_egl() -> Engine:
|
|
124
|
+
"""
|
|
125
|
+
Create an engine with an existing EGL context (Windows/Linux only)
|
|
126
|
+
"""
|
|
127
|
+
|
|
128
|
+
@staticmethod
|
|
129
|
+
def create_external_glx() -> Engine:
|
|
130
|
+
"""
|
|
131
|
+
Create an engine with an existing GLX context (Linux only)
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
@staticmethod
|
|
135
|
+
def create_external_osmesa() -> Engine:
|
|
136
|
+
"""
|
|
137
|
+
Create an engine with an existing OSMesa context (Windows/Linux only)
|
|
138
|
+
"""
|
|
139
|
+
|
|
140
|
+
@staticmethod
|
|
141
|
+
def create_external_wgl() -> Engine:
|
|
142
|
+
"""
|
|
143
|
+
Create an engine with an existing WGL context (Windows only)
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
@staticmethod
|
|
147
|
+
def create_glx(arg0: bool) -> Engine:
|
|
148
|
+
"""
|
|
149
|
+
Create an engine with an GLX window (Linux only)
|
|
150
|
+
"""
|
|
151
|
+
|
|
152
|
+
@staticmethod
|
|
153
|
+
def create_none() -> Engine:
|
|
154
|
+
"""
|
|
155
|
+
Create an engine with no window
|
|
156
|
+
"""
|
|
157
|
+
|
|
158
|
+
@staticmethod
|
|
159
|
+
def create_osmesa() -> Engine:
|
|
160
|
+
"""
|
|
161
|
+
Create an engine with an OSMesa window (Windows/Linux only)
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
@staticmethod
|
|
165
|
+
def create_wgl(arg0: bool) -> Engine:
|
|
166
|
+
"""
|
|
167
|
+
Create an engine with an WGL window (Windows only)
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
@staticmethod
|
|
171
|
+
def get_all_reader_option_names() -> list[str]:
|
|
172
|
+
...
|
|
173
|
+
|
|
174
|
+
@staticmethod
|
|
175
|
+
def get_lib_info() -> LibInformation:
|
|
176
|
+
...
|
|
177
|
+
|
|
178
|
+
@staticmethod
|
|
179
|
+
def get_plugins_list(arg0: os.PathLike[str]) -> list[str]:
|
|
180
|
+
...
|
|
181
|
+
|
|
182
|
+
@staticmethod
|
|
183
|
+
def get_readers_info() -> list[ReaderInformation]:
|
|
184
|
+
...
|
|
185
|
+
|
|
186
|
+
@staticmethod
|
|
187
|
+
def get_rendering_backend_list() -> dict[str, bool]:
|
|
188
|
+
...
|
|
189
|
+
|
|
190
|
+
@staticmethod
|
|
191
|
+
def load_plugin(arg0: str, arg1: collections.abc.Sequence[os.PathLike[str]]) -> None:
|
|
192
|
+
"""
|
|
193
|
+
Load a plugin
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
@staticmethod
|
|
197
|
+
def set_reader_option(arg0: str, arg1: str) -> None:
|
|
198
|
+
...
|
|
199
|
+
|
|
200
|
+
def set_cache_path(self, arg0: os.PathLike[str]) -> Engine:
|
|
201
|
+
"""
|
|
202
|
+
Set the cache path directory
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
@property
|
|
206
|
+
def interactor(self) -> Interactor:
|
|
207
|
+
...
|
|
208
|
+
|
|
209
|
+
@property
|
|
210
|
+
def scene(self) -> Scene:
|
|
211
|
+
...
|
|
212
|
+
|
|
213
|
+
@property
|
|
214
|
+
def window(self) -> Window:
|
|
215
|
+
...
|
|
216
|
+
|
|
217
|
+
class Image:
|
|
218
|
+
|
|
219
|
+
class ChannelType:
|
|
220
|
+
"""
|
|
221
|
+
Members:
|
|
222
|
+
|
|
223
|
+
BYTE
|
|
224
|
+
|
|
225
|
+
SHORT
|
|
226
|
+
|
|
227
|
+
FLOAT
|
|
228
|
+
"""
|
|
229
|
+
BYTE: typing.ClassVar[Image.ChannelType]
|
|
230
|
+
FLOAT: typing.ClassVar[Image.ChannelType]
|
|
231
|
+
SHORT: typing.ClassVar[Image.ChannelType]
|
|
232
|
+
__members__: typing.ClassVar[dict[str, Image.ChannelType]]
|
|
233
|
+
|
|
234
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
235
|
+
...
|
|
236
|
+
|
|
237
|
+
def __getstate__(self) -> int:
|
|
238
|
+
...
|
|
239
|
+
|
|
240
|
+
def __hash__(self) -> int:
|
|
241
|
+
...
|
|
242
|
+
|
|
243
|
+
def __index__(self) -> int:
|
|
244
|
+
...
|
|
245
|
+
|
|
246
|
+
def __init__(self, value: int) -> None:
|
|
247
|
+
...
|
|
248
|
+
|
|
249
|
+
def __int__(self) -> int:
|
|
250
|
+
...
|
|
251
|
+
|
|
252
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
253
|
+
...
|
|
254
|
+
|
|
255
|
+
def __repr__(self) -> str:
|
|
256
|
+
...
|
|
257
|
+
|
|
258
|
+
def __setstate__(self, state: int) -> None:
|
|
259
|
+
...
|
|
260
|
+
|
|
261
|
+
def __str__(self) -> str:
|
|
262
|
+
...
|
|
263
|
+
|
|
264
|
+
@property
|
|
265
|
+
def name(self) -> str:
|
|
266
|
+
...
|
|
267
|
+
|
|
268
|
+
@property
|
|
269
|
+
def value(self) -> int:
|
|
270
|
+
...
|
|
271
|
+
|
|
272
|
+
class SaveFormat:
|
|
273
|
+
"""
|
|
274
|
+
Members:
|
|
275
|
+
|
|
276
|
+
PNG
|
|
277
|
+
|
|
278
|
+
JPG
|
|
279
|
+
|
|
280
|
+
TIF
|
|
281
|
+
|
|
282
|
+
BMP
|
|
283
|
+
"""
|
|
284
|
+
BMP: typing.ClassVar[Image.SaveFormat]
|
|
285
|
+
JPG: typing.ClassVar[Image.SaveFormat]
|
|
286
|
+
PNG: typing.ClassVar[Image.SaveFormat]
|
|
287
|
+
TIF: typing.ClassVar[Image.SaveFormat]
|
|
288
|
+
__members__: typing.ClassVar[dict[str, Image.SaveFormat]]
|
|
289
|
+
|
|
290
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
291
|
+
...
|
|
292
|
+
|
|
293
|
+
def __getstate__(self) -> int:
|
|
294
|
+
...
|
|
295
|
+
|
|
296
|
+
def __hash__(self) -> int:
|
|
297
|
+
...
|
|
298
|
+
|
|
299
|
+
def __index__(self) -> int:
|
|
300
|
+
...
|
|
301
|
+
|
|
302
|
+
def __init__(self, value: int) -> None:
|
|
303
|
+
...
|
|
304
|
+
|
|
305
|
+
def __int__(self) -> int:
|
|
306
|
+
...
|
|
307
|
+
|
|
308
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
309
|
+
...
|
|
310
|
+
|
|
311
|
+
def __repr__(self) -> str:
|
|
312
|
+
...
|
|
313
|
+
|
|
314
|
+
def __setstate__(self, state: int) -> None:
|
|
315
|
+
...
|
|
316
|
+
|
|
317
|
+
def __str__(self) -> str:
|
|
318
|
+
...
|
|
319
|
+
|
|
320
|
+
@property
|
|
321
|
+
def name(self) -> str:
|
|
322
|
+
...
|
|
323
|
+
|
|
324
|
+
@property
|
|
325
|
+
def value(self) -> int:
|
|
326
|
+
...
|
|
327
|
+
BMP: typing.ClassVar[Image.SaveFormat]
|
|
328
|
+
BYTE: typing.ClassVar[Image.ChannelType]
|
|
329
|
+
FLOAT: typing.ClassVar[Image.ChannelType]
|
|
330
|
+
JPG: typing.ClassVar[Image.SaveFormat]
|
|
331
|
+
PNG: typing.ClassVar[Image.SaveFormat]
|
|
332
|
+
SHORT: typing.ClassVar[Image.ChannelType]
|
|
333
|
+
TIF: typing.ClassVar[Image.SaveFormat]
|
|
334
|
+
__hash__: typing.ClassVar[None] = None
|
|
335
|
+
content: bytes
|
|
336
|
+
|
|
337
|
+
@staticmethod
|
|
338
|
+
def supported_formats() -> list[str]:
|
|
339
|
+
...
|
|
340
|
+
|
|
341
|
+
def __eq__(self, arg0: Image) -> bool:
|
|
342
|
+
...
|
|
343
|
+
|
|
344
|
+
@typing.overload
|
|
345
|
+
def __init__(self) -> None:
|
|
346
|
+
...
|
|
347
|
+
|
|
348
|
+
@typing.overload
|
|
349
|
+
def __init__(self, arg0: os.PathLike[str]) -> None:
|
|
350
|
+
...
|
|
351
|
+
|
|
352
|
+
@typing.overload
|
|
353
|
+
def __init__(self, arg0: int, arg1: int, arg2: int, arg3: Image.ChannelType) -> None:
|
|
354
|
+
...
|
|
355
|
+
|
|
356
|
+
def __ne__(self, arg0: Image) -> bool:
|
|
357
|
+
...
|
|
358
|
+
|
|
359
|
+
def _repr_png_(self) -> bytes:
|
|
360
|
+
...
|
|
361
|
+
|
|
362
|
+
def all_metadata(self) -> list[str]:
|
|
363
|
+
...
|
|
364
|
+
|
|
365
|
+
def compare(self, arg0: Image) -> float:
|
|
366
|
+
...
|
|
367
|
+
|
|
368
|
+
def get_metadata(self, arg0: str) -> str:
|
|
369
|
+
...
|
|
370
|
+
|
|
371
|
+
def normalized_pixel(self, arg0: tuple[int, int]) -> list[float]:
|
|
372
|
+
...
|
|
373
|
+
|
|
374
|
+
def save(self, path: os.PathLike[str], format: Image.SaveFormat=Image.SaveFormat.PNG) -> Image:
|
|
375
|
+
...
|
|
376
|
+
|
|
377
|
+
def save_buffer(self, format: Image.SaveFormat=Image.SaveFormat.PNG) -> bytes:
|
|
378
|
+
...
|
|
379
|
+
|
|
380
|
+
def set_metadata(self, arg0: str, arg1: str) -> Image:
|
|
381
|
+
...
|
|
382
|
+
|
|
383
|
+
def to_terminal_text(self) -> str:
|
|
384
|
+
...
|
|
385
|
+
|
|
386
|
+
@property
|
|
387
|
+
def channel_count(self) -> int:
|
|
388
|
+
...
|
|
389
|
+
|
|
390
|
+
@property
|
|
391
|
+
def channel_type(self) -> Image.ChannelType:
|
|
392
|
+
...
|
|
393
|
+
|
|
394
|
+
@property
|
|
395
|
+
def channel_type_size(self) -> int:
|
|
396
|
+
...
|
|
397
|
+
|
|
398
|
+
@property
|
|
399
|
+
def height(self) -> int:
|
|
400
|
+
...
|
|
401
|
+
|
|
402
|
+
@property
|
|
403
|
+
def width(self) -> int:
|
|
404
|
+
...
|
|
405
|
+
|
|
406
|
+
class InteractionBind:
|
|
407
|
+
|
|
408
|
+
class ModifierKeys:
|
|
409
|
+
"""
|
|
410
|
+
Members:
|
|
411
|
+
|
|
412
|
+
ANY
|
|
413
|
+
|
|
414
|
+
NONE
|
|
415
|
+
|
|
416
|
+
CTRL
|
|
417
|
+
|
|
418
|
+
SHIFT
|
|
419
|
+
|
|
420
|
+
CTRL_SHIFT
|
|
421
|
+
"""
|
|
422
|
+
ANY: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
423
|
+
CTRL: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
424
|
+
CTRL_SHIFT: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
425
|
+
NONE: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
426
|
+
SHIFT: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
427
|
+
__members__: typing.ClassVar[dict[str, InteractionBind.ModifierKeys]]
|
|
428
|
+
|
|
429
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
430
|
+
...
|
|
431
|
+
|
|
432
|
+
def __getstate__(self) -> int:
|
|
433
|
+
...
|
|
434
|
+
|
|
435
|
+
def __hash__(self) -> int:
|
|
436
|
+
...
|
|
437
|
+
|
|
438
|
+
def __index__(self) -> int:
|
|
439
|
+
...
|
|
440
|
+
|
|
441
|
+
def __init__(self, value: int) -> None:
|
|
442
|
+
...
|
|
443
|
+
|
|
444
|
+
def __int__(self) -> int:
|
|
445
|
+
...
|
|
446
|
+
|
|
447
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
448
|
+
...
|
|
449
|
+
|
|
450
|
+
def __repr__(self) -> str:
|
|
451
|
+
...
|
|
452
|
+
|
|
453
|
+
def __setstate__(self, state: int) -> None:
|
|
454
|
+
...
|
|
455
|
+
|
|
456
|
+
def __str__(self) -> str:
|
|
457
|
+
...
|
|
458
|
+
|
|
459
|
+
@property
|
|
460
|
+
def name(self) -> str:
|
|
461
|
+
...
|
|
462
|
+
|
|
463
|
+
@property
|
|
464
|
+
def value(self) -> int:
|
|
465
|
+
...
|
|
466
|
+
ANY: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
467
|
+
CTRL: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
468
|
+
CTRL_SHIFT: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
469
|
+
NONE: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
470
|
+
SHIFT: typing.ClassVar[InteractionBind.ModifierKeys]
|
|
471
|
+
inter: str
|
|
472
|
+
mod: InteractionBind.ModifierKeys
|
|
473
|
+
|
|
474
|
+
def __init__(self, arg0: InteractionBind.ModifierKeys, arg1: str) -> None:
|
|
475
|
+
...
|
|
476
|
+
|
|
477
|
+
def format(self) -> str:
|
|
478
|
+
...
|
|
479
|
+
|
|
480
|
+
class Interactor:
|
|
481
|
+
|
|
482
|
+
class AnimationDirection:
|
|
483
|
+
"""
|
|
484
|
+
Members:
|
|
485
|
+
|
|
486
|
+
FORWARD
|
|
487
|
+
|
|
488
|
+
BACKWARD
|
|
489
|
+
"""
|
|
490
|
+
BACKWARD: typing.ClassVar[Interactor.AnimationDirection]
|
|
491
|
+
FORWARD: typing.ClassVar[Interactor.AnimationDirection]
|
|
492
|
+
__members__: typing.ClassVar[dict[str, Interactor.AnimationDirection]]
|
|
493
|
+
|
|
494
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
495
|
+
...
|
|
496
|
+
|
|
497
|
+
def __getstate__(self) -> int:
|
|
498
|
+
...
|
|
499
|
+
|
|
500
|
+
def __hash__(self) -> int:
|
|
501
|
+
...
|
|
502
|
+
|
|
503
|
+
def __index__(self) -> int:
|
|
504
|
+
...
|
|
505
|
+
|
|
506
|
+
def __init__(self, value: int) -> None:
|
|
507
|
+
...
|
|
508
|
+
|
|
509
|
+
def __int__(self) -> int:
|
|
510
|
+
...
|
|
511
|
+
|
|
512
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
513
|
+
...
|
|
514
|
+
|
|
515
|
+
def __repr__(self) -> str:
|
|
516
|
+
...
|
|
517
|
+
|
|
518
|
+
def __setstate__(self, state: int) -> None:
|
|
519
|
+
...
|
|
520
|
+
|
|
521
|
+
def __str__(self) -> str:
|
|
522
|
+
...
|
|
523
|
+
|
|
524
|
+
@property
|
|
525
|
+
def name(self) -> str:
|
|
526
|
+
...
|
|
527
|
+
|
|
528
|
+
@property
|
|
529
|
+
def value(self) -> int:
|
|
530
|
+
...
|
|
531
|
+
|
|
532
|
+
class BindingType:
|
|
533
|
+
"""
|
|
534
|
+
Members:
|
|
535
|
+
|
|
536
|
+
CYCLIC
|
|
537
|
+
|
|
538
|
+
NUMERICAL
|
|
539
|
+
|
|
540
|
+
TOGGLE
|
|
541
|
+
|
|
542
|
+
OTHER
|
|
543
|
+
"""
|
|
544
|
+
CYCLIC: typing.ClassVar[Interactor.BindingType]
|
|
545
|
+
NUMERICAL: typing.ClassVar[Interactor.BindingType]
|
|
546
|
+
OTHER: typing.ClassVar[Interactor.BindingType]
|
|
547
|
+
TOGGLE: typing.ClassVar[Interactor.BindingType]
|
|
548
|
+
__members__: typing.ClassVar[dict[str, Interactor.BindingType]]
|
|
549
|
+
|
|
550
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
551
|
+
...
|
|
552
|
+
|
|
553
|
+
def __getstate__(self) -> int:
|
|
554
|
+
...
|
|
555
|
+
|
|
556
|
+
def __hash__(self) -> int:
|
|
557
|
+
...
|
|
558
|
+
|
|
559
|
+
def __index__(self) -> int:
|
|
560
|
+
...
|
|
561
|
+
|
|
562
|
+
def __init__(self, value: int) -> None:
|
|
563
|
+
...
|
|
564
|
+
|
|
565
|
+
def __int__(self) -> int:
|
|
566
|
+
...
|
|
567
|
+
|
|
568
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
569
|
+
...
|
|
570
|
+
|
|
571
|
+
def __repr__(self) -> str:
|
|
572
|
+
...
|
|
573
|
+
|
|
574
|
+
def __setstate__(self, state: int) -> None:
|
|
575
|
+
...
|
|
576
|
+
|
|
577
|
+
def __str__(self) -> str:
|
|
578
|
+
...
|
|
579
|
+
|
|
580
|
+
@property
|
|
581
|
+
def name(self) -> str:
|
|
582
|
+
...
|
|
583
|
+
|
|
584
|
+
@property
|
|
585
|
+
def value(self) -> int:
|
|
586
|
+
...
|
|
587
|
+
|
|
588
|
+
class InputAction:
|
|
589
|
+
"""
|
|
590
|
+
Members:
|
|
591
|
+
|
|
592
|
+
PRESS
|
|
593
|
+
|
|
594
|
+
RELEASE
|
|
595
|
+
"""
|
|
596
|
+
PRESS: typing.ClassVar[Interactor.InputAction]
|
|
597
|
+
RELEASE: typing.ClassVar[Interactor.InputAction]
|
|
598
|
+
__members__: typing.ClassVar[dict[str, Interactor.InputAction]]
|
|
599
|
+
|
|
600
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
601
|
+
...
|
|
602
|
+
|
|
603
|
+
def __getstate__(self) -> int:
|
|
604
|
+
...
|
|
605
|
+
|
|
606
|
+
def __hash__(self) -> int:
|
|
607
|
+
...
|
|
608
|
+
|
|
609
|
+
def __index__(self) -> int:
|
|
610
|
+
...
|
|
611
|
+
|
|
612
|
+
def __init__(self, value: int) -> None:
|
|
613
|
+
...
|
|
614
|
+
|
|
615
|
+
def __int__(self) -> int:
|
|
616
|
+
...
|
|
617
|
+
|
|
618
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
619
|
+
...
|
|
620
|
+
|
|
621
|
+
def __repr__(self) -> str:
|
|
622
|
+
...
|
|
623
|
+
|
|
624
|
+
def __setstate__(self, state: int) -> None:
|
|
625
|
+
...
|
|
626
|
+
|
|
627
|
+
def __str__(self) -> str:
|
|
628
|
+
...
|
|
629
|
+
|
|
630
|
+
@property
|
|
631
|
+
def name(self) -> str:
|
|
632
|
+
...
|
|
633
|
+
|
|
634
|
+
@property
|
|
635
|
+
def value(self) -> int:
|
|
636
|
+
...
|
|
637
|
+
|
|
638
|
+
class InputModifier:
|
|
639
|
+
"""
|
|
640
|
+
Members:
|
|
641
|
+
|
|
642
|
+
NONE
|
|
643
|
+
|
|
644
|
+
CTRL
|
|
645
|
+
|
|
646
|
+
SHIFT
|
|
647
|
+
|
|
648
|
+
CTRL_SHIFT
|
|
649
|
+
"""
|
|
650
|
+
CTRL: typing.ClassVar[Interactor.InputModifier]
|
|
651
|
+
CTRL_SHIFT: typing.ClassVar[Interactor.InputModifier]
|
|
652
|
+
NONE: typing.ClassVar[Interactor.InputModifier]
|
|
653
|
+
SHIFT: typing.ClassVar[Interactor.InputModifier]
|
|
654
|
+
__members__: typing.ClassVar[dict[str, Interactor.InputModifier]]
|
|
655
|
+
|
|
656
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
657
|
+
...
|
|
658
|
+
|
|
659
|
+
def __getstate__(self) -> int:
|
|
660
|
+
...
|
|
661
|
+
|
|
662
|
+
def __hash__(self) -> int:
|
|
663
|
+
...
|
|
664
|
+
|
|
665
|
+
def __index__(self) -> int:
|
|
666
|
+
...
|
|
667
|
+
|
|
668
|
+
def __init__(self, value: int) -> None:
|
|
669
|
+
...
|
|
670
|
+
|
|
671
|
+
def __int__(self) -> int:
|
|
672
|
+
...
|
|
673
|
+
|
|
674
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
675
|
+
...
|
|
676
|
+
|
|
677
|
+
def __repr__(self) -> str:
|
|
678
|
+
...
|
|
679
|
+
|
|
680
|
+
def __setstate__(self, state: int) -> None:
|
|
681
|
+
...
|
|
682
|
+
|
|
683
|
+
def __str__(self) -> str:
|
|
684
|
+
...
|
|
685
|
+
|
|
686
|
+
@property
|
|
687
|
+
def name(self) -> str:
|
|
688
|
+
...
|
|
689
|
+
|
|
690
|
+
@property
|
|
691
|
+
def value(self) -> int:
|
|
692
|
+
...
|
|
693
|
+
|
|
694
|
+
class MouseButton:
|
|
695
|
+
"""
|
|
696
|
+
Members:
|
|
697
|
+
|
|
698
|
+
LEFT
|
|
699
|
+
|
|
700
|
+
MIDDLE
|
|
701
|
+
|
|
702
|
+
RIGHT
|
|
703
|
+
"""
|
|
704
|
+
LEFT: typing.ClassVar[Interactor.MouseButton]
|
|
705
|
+
MIDDLE: typing.ClassVar[Interactor.MouseButton]
|
|
706
|
+
RIGHT: typing.ClassVar[Interactor.MouseButton]
|
|
707
|
+
__members__: typing.ClassVar[dict[str, Interactor.MouseButton]]
|
|
708
|
+
|
|
709
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
710
|
+
...
|
|
711
|
+
|
|
712
|
+
def __getstate__(self) -> int:
|
|
713
|
+
...
|
|
714
|
+
|
|
715
|
+
def __hash__(self) -> int:
|
|
716
|
+
...
|
|
717
|
+
|
|
718
|
+
def __index__(self) -> int:
|
|
719
|
+
...
|
|
720
|
+
|
|
721
|
+
def __init__(self, value: int) -> None:
|
|
722
|
+
...
|
|
723
|
+
|
|
724
|
+
def __int__(self) -> int:
|
|
725
|
+
...
|
|
726
|
+
|
|
727
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
728
|
+
...
|
|
729
|
+
|
|
730
|
+
def __repr__(self) -> str:
|
|
731
|
+
...
|
|
732
|
+
|
|
733
|
+
def __setstate__(self, state: int) -> None:
|
|
734
|
+
...
|
|
735
|
+
|
|
736
|
+
def __str__(self) -> str:
|
|
737
|
+
...
|
|
738
|
+
|
|
739
|
+
@property
|
|
740
|
+
def name(self) -> str:
|
|
741
|
+
...
|
|
742
|
+
|
|
743
|
+
@property
|
|
744
|
+
def value(self) -> int:
|
|
745
|
+
...
|
|
746
|
+
|
|
747
|
+
class WheelDirection:
|
|
748
|
+
"""
|
|
749
|
+
Members:
|
|
750
|
+
|
|
751
|
+
FORWARD
|
|
752
|
+
|
|
753
|
+
BACKWARD
|
|
754
|
+
|
|
755
|
+
LEFT
|
|
756
|
+
|
|
757
|
+
RIGHT
|
|
758
|
+
"""
|
|
759
|
+
BACKWARD: typing.ClassVar[Interactor.WheelDirection]
|
|
760
|
+
FORWARD: typing.ClassVar[Interactor.WheelDirection]
|
|
761
|
+
LEFT: typing.ClassVar[Interactor.WheelDirection]
|
|
762
|
+
RIGHT: typing.ClassVar[Interactor.WheelDirection]
|
|
763
|
+
__members__: typing.ClassVar[dict[str, Interactor.WheelDirection]]
|
|
764
|
+
|
|
765
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
766
|
+
...
|
|
767
|
+
|
|
768
|
+
def __getstate__(self) -> int:
|
|
769
|
+
...
|
|
770
|
+
|
|
771
|
+
def __hash__(self) -> int:
|
|
772
|
+
...
|
|
773
|
+
|
|
774
|
+
def __index__(self) -> int:
|
|
775
|
+
...
|
|
776
|
+
|
|
777
|
+
def __init__(self, value: int) -> None:
|
|
778
|
+
...
|
|
779
|
+
|
|
780
|
+
def __int__(self) -> int:
|
|
781
|
+
...
|
|
782
|
+
|
|
783
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
784
|
+
...
|
|
785
|
+
|
|
786
|
+
def __repr__(self) -> str:
|
|
787
|
+
...
|
|
788
|
+
|
|
789
|
+
def __setstate__(self, state: int) -> None:
|
|
790
|
+
...
|
|
791
|
+
|
|
792
|
+
def __str__(self) -> str:
|
|
793
|
+
...
|
|
794
|
+
|
|
795
|
+
@property
|
|
796
|
+
def name(self) -> str:
|
|
797
|
+
...
|
|
798
|
+
|
|
799
|
+
@property
|
|
800
|
+
def value(self) -> int:
|
|
801
|
+
...
|
|
802
|
+
BACKWARD: typing.ClassVar[Interactor.AnimationDirection]
|
|
803
|
+
CTRL: typing.ClassVar[Interactor.InputModifier]
|
|
804
|
+
CTRL_SHIFT: typing.ClassVar[Interactor.InputModifier]
|
|
805
|
+
CYCLIC: typing.ClassVar[Interactor.BindingType]
|
|
806
|
+
FORWARD: typing.ClassVar[Interactor.AnimationDirection]
|
|
807
|
+
LEFT: typing.ClassVar[Interactor.WheelDirection]
|
|
808
|
+
MIDDLE: typing.ClassVar[Interactor.MouseButton]
|
|
809
|
+
NONE: typing.ClassVar[Interactor.InputModifier]
|
|
810
|
+
NUMERICAL: typing.ClassVar[Interactor.BindingType]
|
|
811
|
+
OTHER: typing.ClassVar[Interactor.BindingType]
|
|
812
|
+
PRESS: typing.ClassVar[Interactor.InputAction]
|
|
813
|
+
RELEASE: typing.ClassVar[Interactor.InputAction]
|
|
814
|
+
RIGHT: typing.ClassVar[Interactor.WheelDirection]
|
|
815
|
+
SHIFT: typing.ClassVar[Interactor.InputModifier]
|
|
816
|
+
TOGGLE: typing.ClassVar[Interactor.BindingType]
|
|
817
|
+
|
|
818
|
+
@typing.overload
|
|
819
|
+
def add_binding(self, bind: InteractionBind, command: str, group: str, documentationCallback: typing.Callable[[], tuple[str, str]]=None, type: Interactor.BindingType=Interactor.BindingType.OTHER) -> Interactor:
|
|
820
|
+
"""
|
|
821
|
+
Add a binding command
|
|
822
|
+
"""
|
|
823
|
+
|
|
824
|
+
@typing.overload
|
|
825
|
+
def add_binding(self, bind: InteractionBind, command: collections.abc.Sequence[str], group: str, documentationCallback: typing.Callable[[], tuple[str, str]]=None, type: Interactor.BindingType=Interactor.BindingType.OTHER) -> Interactor:
|
|
826
|
+
"""
|
|
827
|
+
Add binding commands
|
|
828
|
+
"""
|
|
829
|
+
|
|
830
|
+
def add_command(self, action: str, callback: typing.Callable[[list[str]], typing.Any], doc: tuple[str, str] | None=None, completionCallback: typing.Callable[[list[str]], collections.abc.Sequence[str]]=None) -> Interactor:
|
|
831
|
+
"""
|
|
832
|
+
Add a command
|
|
833
|
+
"""
|
|
834
|
+
|
|
835
|
+
def disable_camera_movement(self) -> Interactor:
|
|
836
|
+
"""
|
|
837
|
+
Disable the camera interaction
|
|
838
|
+
"""
|
|
839
|
+
|
|
840
|
+
def enable_camera_movement(self) -> Interactor:
|
|
841
|
+
"""
|
|
842
|
+
Enable the camera interaction
|
|
843
|
+
"""
|
|
844
|
+
|
|
845
|
+
def get_animation_direction(self) -> Interactor.AnimationDirection:
|
|
846
|
+
"""
|
|
847
|
+
Returns the current animation direction
|
|
848
|
+
"""
|
|
849
|
+
|
|
850
|
+
def get_bind_groups(self) -> list[str]:
|
|
851
|
+
...
|
|
852
|
+
|
|
853
|
+
def get_binding_documentation(self, arg0: InteractionBind) -> tuple[str, str]:
|
|
854
|
+
...
|
|
855
|
+
|
|
856
|
+
def get_binding_type(self, arg0: InteractionBind) -> Interactor.BindingType:
|
|
857
|
+
...
|
|
858
|
+
|
|
859
|
+
def get_binds(self) -> list[InteractionBind]:
|
|
860
|
+
...
|
|
861
|
+
|
|
862
|
+
def get_binds_for_group(self, arg0: str) -> list[InteractionBind]:
|
|
863
|
+
...
|
|
864
|
+
|
|
865
|
+
def get_command_actions(self) -> list[str]:
|
|
866
|
+
"""
|
|
867
|
+
Get all command actions
|
|
868
|
+
"""
|
|
869
|
+
|
|
870
|
+
def init_bindings(self) -> Interactor:
|
|
871
|
+
"""
|
|
872
|
+
Remove all bindings and add default bindings
|
|
873
|
+
"""
|
|
874
|
+
|
|
875
|
+
def init_commands(self) -> Interactor:
|
|
876
|
+
"""
|
|
877
|
+
Remove all commands and add all default command callbacks
|
|
878
|
+
"""
|
|
879
|
+
|
|
880
|
+
def is_playing_animation(self) -> bool:
|
|
881
|
+
"""
|
|
882
|
+
Returns True if the animation is currently started
|
|
883
|
+
"""
|
|
884
|
+
|
|
885
|
+
def play_interaction(self, arg0: os.PathLike[str], arg1: float, arg2: typing.Callable[[], typing.Any]) -> bool:
|
|
886
|
+
"""
|
|
887
|
+
Play an interaction file
|
|
888
|
+
"""
|
|
889
|
+
|
|
890
|
+
def record_interaction(self, arg0: os.PathLike[str]) -> bool:
|
|
891
|
+
"""
|
|
892
|
+
Record an interaction file
|
|
893
|
+
"""
|
|
894
|
+
|
|
895
|
+
def remove_binding(self, arg0: InteractionBind) -> Interactor:
|
|
896
|
+
"""
|
|
897
|
+
Remove interaction commands
|
|
898
|
+
"""
|
|
899
|
+
|
|
900
|
+
def remove_command(self, arg0: str) -> Interactor:
|
|
901
|
+
"""
|
|
902
|
+
Remove a command
|
|
903
|
+
"""
|
|
904
|
+
|
|
905
|
+
def request_render(self) -> Interactor:
|
|
906
|
+
"""
|
|
907
|
+
Request a render on the next event loop
|
|
908
|
+
"""
|
|
909
|
+
|
|
910
|
+
def request_stop(self) -> Interactor:
|
|
911
|
+
"""
|
|
912
|
+
Stop on the next event loop
|
|
913
|
+
"""
|
|
914
|
+
|
|
915
|
+
def start(self, delta_time: float=0.03333333333333333, user_callback: typing.Callable[[], typing.Any]=None) -> Interactor:
|
|
916
|
+
"""
|
|
917
|
+
Start the interactor and the event loop
|
|
918
|
+
"""
|
|
919
|
+
|
|
920
|
+
def start_animation(self, direction: Interactor.AnimationDirection=Interactor.AnimationDirection.FORWARD) -> Interactor:
|
|
921
|
+
"""
|
|
922
|
+
Start the animation
|
|
923
|
+
"""
|
|
924
|
+
|
|
925
|
+
def stop(self) -> Interactor:
|
|
926
|
+
"""
|
|
927
|
+
Stop the interactor and the event loop
|
|
928
|
+
"""
|
|
929
|
+
|
|
930
|
+
def stop_animation(self) -> Interactor:
|
|
931
|
+
"""
|
|
932
|
+
Stop the animation
|
|
933
|
+
"""
|
|
934
|
+
|
|
935
|
+
def toggle_animation(self, direction: Interactor.AnimationDirection=Interactor.AnimationDirection.FORWARD) -> Interactor:
|
|
936
|
+
"""
|
|
937
|
+
Toggle the animation
|
|
938
|
+
"""
|
|
939
|
+
|
|
940
|
+
def trigger_command(self, command: str, keep_comments: bool=True) -> bool:
|
|
941
|
+
"""
|
|
942
|
+
Trigger a command
|
|
943
|
+
"""
|
|
944
|
+
|
|
945
|
+
def trigger_event_loop(self, arg0: float) -> Interactor:
|
|
946
|
+
"""
|
|
947
|
+
Manually trigger the event loop.
|
|
948
|
+
"""
|
|
949
|
+
|
|
950
|
+
def trigger_keyboard_key(self, arg0: Interactor.InputAction, arg1: str) -> Interactor:
|
|
951
|
+
"""
|
|
952
|
+
Trigger a keyboard input
|
|
953
|
+
"""
|
|
954
|
+
|
|
955
|
+
def trigger_mod_update(self, arg0: Interactor.InputModifier) -> Interactor:
|
|
956
|
+
"""
|
|
957
|
+
Trigger a key modifier update
|
|
958
|
+
"""
|
|
959
|
+
|
|
960
|
+
def trigger_mouse_button(self, arg0: Interactor.InputAction, arg1: Interactor.MouseButton) -> Interactor:
|
|
961
|
+
"""
|
|
962
|
+
Trigger a mouse button
|
|
963
|
+
"""
|
|
964
|
+
|
|
965
|
+
def trigger_mouse_position(self, arg0: float, arg1: float) -> Interactor:
|
|
966
|
+
"""
|
|
967
|
+
Trigger a mouse position
|
|
968
|
+
"""
|
|
969
|
+
|
|
970
|
+
def trigger_mouse_wheel(self, arg0: Interactor.WheelDirection) -> Interactor:
|
|
971
|
+
"""
|
|
972
|
+
Trigger a mouse wheel
|
|
973
|
+
"""
|
|
974
|
+
|
|
975
|
+
def trigger_text_character(self, arg0: int) -> Interactor:
|
|
976
|
+
"""
|
|
977
|
+
Trigger a text character input
|
|
978
|
+
"""
|
|
979
|
+
|
|
980
|
+
class LibInformation:
|
|
981
|
+
|
|
982
|
+
@property
|
|
983
|
+
def build_date(self) -> str:
|
|
984
|
+
...
|
|
985
|
+
|
|
986
|
+
@property
|
|
987
|
+
def build_system(self) -> str:
|
|
988
|
+
...
|
|
989
|
+
|
|
990
|
+
@property
|
|
991
|
+
def compiler(self) -> str:
|
|
992
|
+
...
|
|
993
|
+
|
|
994
|
+
@property
|
|
995
|
+
def copyrights(self) -> list[str]:
|
|
996
|
+
...
|
|
997
|
+
|
|
998
|
+
@property
|
|
999
|
+
def license(self) -> str:
|
|
1000
|
+
...
|
|
1001
|
+
|
|
1002
|
+
@property
|
|
1003
|
+
def modules(self) -> dict[str, bool]:
|
|
1004
|
+
...
|
|
1005
|
+
|
|
1006
|
+
@property
|
|
1007
|
+
def version(self) -> str:
|
|
1008
|
+
...
|
|
1009
|
+
|
|
1010
|
+
@property
|
|
1011
|
+
def version_full(self) -> str:
|
|
1012
|
+
...
|
|
1013
|
+
|
|
1014
|
+
@property
|
|
1015
|
+
def vtk_version(self) -> str:
|
|
1016
|
+
...
|
|
1017
|
+
|
|
1018
|
+
class LightState:
|
|
1019
|
+
color: Color
|
|
1020
|
+
direction: tuple[float, float, float]
|
|
1021
|
+
intensity: float
|
|
1022
|
+
position: tuple[float, float, float]
|
|
1023
|
+
positional_light: bool
|
|
1024
|
+
switch_state: bool
|
|
1025
|
+
type: LightType
|
|
1026
|
+
|
|
1027
|
+
@typing.overload
|
|
1028
|
+
def __init__(self) -> None:
|
|
1029
|
+
...
|
|
1030
|
+
|
|
1031
|
+
@typing.overload
|
|
1032
|
+
def __init__(self, type: LightType=f3d.LightType.SCENE_LIGHT, position: tuple[float, float, float]=(0.0, 0.0, 0.0), color: Color=..., direction: tuple[float, float, float]=(1.0, 0.0, 0.0), positional_light: bool=False, intensity: float=1.0, switch_state: bool=True) -> None:
|
|
1033
|
+
...
|
|
1034
|
+
|
|
1035
|
+
class LightType:
|
|
1036
|
+
"""
|
|
1037
|
+
Members:
|
|
1038
|
+
|
|
1039
|
+
HEADLIGHT
|
|
1040
|
+
|
|
1041
|
+
CAMERA_LIGHT
|
|
1042
|
+
|
|
1043
|
+
SCENE_LIGHT
|
|
1044
|
+
"""
|
|
1045
|
+
CAMERA_LIGHT: typing.ClassVar[LightType]
|
|
1046
|
+
HEADLIGHT: typing.ClassVar[LightType]
|
|
1047
|
+
SCENE_LIGHT: typing.ClassVar[LightType]
|
|
1048
|
+
__members__: typing.ClassVar[dict[str, LightType]]
|
|
1049
|
+
|
|
1050
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
1051
|
+
...
|
|
1052
|
+
|
|
1053
|
+
def __getstate__(self) -> int:
|
|
1054
|
+
...
|
|
1055
|
+
|
|
1056
|
+
def __hash__(self) -> int:
|
|
1057
|
+
...
|
|
1058
|
+
|
|
1059
|
+
def __index__(self) -> int:
|
|
1060
|
+
...
|
|
1061
|
+
|
|
1062
|
+
def __init__(self, value: int) -> None:
|
|
1063
|
+
...
|
|
1064
|
+
|
|
1065
|
+
def __int__(self) -> int:
|
|
1066
|
+
...
|
|
1067
|
+
|
|
1068
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
1069
|
+
...
|
|
1070
|
+
|
|
1071
|
+
def __repr__(self) -> str:
|
|
1072
|
+
...
|
|
1073
|
+
|
|
1074
|
+
def __setstate__(self, state: int) -> None:
|
|
1075
|
+
...
|
|
1076
|
+
|
|
1077
|
+
def __str__(self) -> str:
|
|
1078
|
+
...
|
|
1079
|
+
|
|
1080
|
+
@property
|
|
1081
|
+
def name(self) -> str:
|
|
1082
|
+
...
|
|
1083
|
+
|
|
1084
|
+
@property
|
|
1085
|
+
def value(self) -> int:
|
|
1086
|
+
...
|
|
1087
|
+
|
|
1088
|
+
class Log:
|
|
1089
|
+
|
|
1090
|
+
class VerboseLevel:
|
|
1091
|
+
"""
|
|
1092
|
+
Members:
|
|
1093
|
+
|
|
1094
|
+
DEBUG
|
|
1095
|
+
|
|
1096
|
+
INFO
|
|
1097
|
+
|
|
1098
|
+
WARN
|
|
1099
|
+
|
|
1100
|
+
ERROR
|
|
1101
|
+
|
|
1102
|
+
QUIET
|
|
1103
|
+
"""
|
|
1104
|
+
DEBUG: typing.ClassVar[Log.VerboseLevel]
|
|
1105
|
+
ERROR: typing.ClassVar[Log.VerboseLevel]
|
|
1106
|
+
INFO: typing.ClassVar[Log.VerboseLevel]
|
|
1107
|
+
QUIET: typing.ClassVar[Log.VerboseLevel]
|
|
1108
|
+
WARN: typing.ClassVar[Log.VerboseLevel]
|
|
1109
|
+
__members__: typing.ClassVar[dict[str, Log.VerboseLevel]]
|
|
1110
|
+
|
|
1111
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
1112
|
+
...
|
|
1113
|
+
|
|
1114
|
+
def __getstate__(self) -> int:
|
|
1115
|
+
...
|
|
1116
|
+
|
|
1117
|
+
def __hash__(self) -> int:
|
|
1118
|
+
...
|
|
1119
|
+
|
|
1120
|
+
def __index__(self) -> int:
|
|
1121
|
+
...
|
|
1122
|
+
|
|
1123
|
+
def __init__(self, value: int) -> None:
|
|
1124
|
+
...
|
|
1125
|
+
|
|
1126
|
+
def __int__(self) -> int:
|
|
1127
|
+
...
|
|
1128
|
+
|
|
1129
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
1130
|
+
...
|
|
1131
|
+
|
|
1132
|
+
def __repr__(self) -> str:
|
|
1133
|
+
...
|
|
1134
|
+
|
|
1135
|
+
def __setstate__(self, state: int) -> None:
|
|
1136
|
+
...
|
|
1137
|
+
|
|
1138
|
+
def __str__(self) -> str:
|
|
1139
|
+
...
|
|
1140
|
+
|
|
1141
|
+
@property
|
|
1142
|
+
def name(self) -> str:
|
|
1143
|
+
...
|
|
1144
|
+
|
|
1145
|
+
@property
|
|
1146
|
+
def value(self) -> int:
|
|
1147
|
+
...
|
|
1148
|
+
DEBUG: typing.ClassVar[Log.VerboseLevel]
|
|
1149
|
+
ERROR: typing.ClassVar[Log.VerboseLevel]
|
|
1150
|
+
INFO: typing.ClassVar[Log.VerboseLevel]
|
|
1151
|
+
QUIET: typing.ClassVar[Log.VerboseLevel]
|
|
1152
|
+
WARN: typing.ClassVar[Log.VerboseLevel]
|
|
1153
|
+
|
|
1154
|
+
@staticmethod
|
|
1155
|
+
def forward(callback: typing.Callable[[Log.VerboseLevel, str], typing.Any]) -> None:
|
|
1156
|
+
...
|
|
1157
|
+
|
|
1158
|
+
@staticmethod
|
|
1159
|
+
def get_verbose_level() -> Log.VerboseLevel:
|
|
1160
|
+
...
|
|
1161
|
+
|
|
1162
|
+
@staticmethod
|
|
1163
|
+
def print(arg0: Log.VerboseLevel, arg1: str) -> None:
|
|
1164
|
+
...
|
|
1165
|
+
|
|
1166
|
+
@staticmethod
|
|
1167
|
+
def set_use_coloring(arg0: bool) -> None:
|
|
1168
|
+
...
|
|
1169
|
+
|
|
1170
|
+
@staticmethod
|
|
1171
|
+
def set_verbose_level(level: Log.VerboseLevel, force_std_err: bool=False) -> None:
|
|
1172
|
+
...
|
|
1173
|
+
|
|
1174
|
+
class Mesh:
|
|
1175
|
+
face_indices: list[int]
|
|
1176
|
+
face_sides: list[int]
|
|
1177
|
+
normals: list[float]
|
|
1178
|
+
points: list[float]
|
|
1179
|
+
texture_coordinates: list[float]
|
|
1180
|
+
|
|
1181
|
+
@typing.overload
|
|
1182
|
+
def __init__(self) -> None:
|
|
1183
|
+
...
|
|
1184
|
+
|
|
1185
|
+
@typing.overload
|
|
1186
|
+
def __init__(self, points: collections.abc.Sequence[float], normals: collections.abc.Sequence[float]=[], texture_coordinates: collections.abc.Sequence[float]=[], face_sides: collections.abc.Sequence[int]=[], face_indices: collections.abc.Sequence[int]=[]) -> None:
|
|
1187
|
+
...
|
|
1188
|
+
|
|
1189
|
+
class Options:
|
|
1190
|
+
|
|
1191
|
+
def __getitem__(self, arg0: str) -> bool | int | float | str | list[float] | list[int]:
|
|
1192
|
+
...
|
|
1193
|
+
|
|
1194
|
+
def __init__(self) -> None:
|
|
1195
|
+
...
|
|
1196
|
+
|
|
1197
|
+
def __iter__(self) -> typing.Iterator[typing.Any]:
|
|
1198
|
+
...
|
|
1199
|
+
|
|
1200
|
+
def __len__(self) -> int:
|
|
1201
|
+
...
|
|
1202
|
+
|
|
1203
|
+
def __setitem__(self, arg0: str, arg1: bool | int | float | str | collections.abc.Sequence[float] | collections.abc.Sequence[int]) -> None:
|
|
1204
|
+
...
|
|
1205
|
+
|
|
1206
|
+
def copy(self, arg0: Options, arg1: str) -> Options:
|
|
1207
|
+
...
|
|
1208
|
+
|
|
1209
|
+
def get_closest_option(self, arg0: str) -> tuple[str, int]:
|
|
1210
|
+
...
|
|
1211
|
+
|
|
1212
|
+
def is_same(self, arg0: Options, arg1: str) -> bool:
|
|
1213
|
+
...
|
|
1214
|
+
|
|
1215
|
+
def keys(self) -> list[str]:
|
|
1216
|
+
...
|
|
1217
|
+
|
|
1218
|
+
def toggle(self, arg0: str) -> Options:
|
|
1219
|
+
...
|
|
1220
|
+
|
|
1221
|
+
def update(self, arg: typing.Mapping[str, typing.Any] | typing.Iterable[tuple[str, typing.Any]]) -> None:
|
|
1222
|
+
...
|
|
1223
|
+
|
|
1224
|
+
class ReaderInformation:
|
|
1225
|
+
|
|
1226
|
+
@property
|
|
1227
|
+
def description(self) -> str:
|
|
1228
|
+
...
|
|
1229
|
+
|
|
1230
|
+
@property
|
|
1231
|
+
def extensions(self) -> list[str]:
|
|
1232
|
+
...
|
|
1233
|
+
|
|
1234
|
+
@property
|
|
1235
|
+
def has_geometry_reader(self) -> bool:
|
|
1236
|
+
...
|
|
1237
|
+
|
|
1238
|
+
@property
|
|
1239
|
+
def has_scene_reader(self) -> bool:
|
|
1240
|
+
...
|
|
1241
|
+
|
|
1242
|
+
@property
|
|
1243
|
+
def mime_types(self) -> list[str]:
|
|
1244
|
+
...
|
|
1245
|
+
|
|
1246
|
+
@property
|
|
1247
|
+
def name(self) -> str:
|
|
1248
|
+
...
|
|
1249
|
+
|
|
1250
|
+
@property
|
|
1251
|
+
def plugin_name(self) -> str:
|
|
1252
|
+
...
|
|
1253
|
+
|
|
1254
|
+
class Scene:
|
|
1255
|
+
|
|
1256
|
+
@typing.overload
|
|
1257
|
+
def add(self, file_path: os.PathLike[str]) -> Scene:
|
|
1258
|
+
"""
|
|
1259
|
+
Add a file the scene
|
|
1260
|
+
"""
|
|
1261
|
+
|
|
1262
|
+
@typing.overload
|
|
1263
|
+
def add(self, file_path_vector: collections.abc.Sequence[os.PathLike[str]]) -> Scene:
|
|
1264
|
+
"""
|
|
1265
|
+
Add multiple filepaths to the scene
|
|
1266
|
+
"""
|
|
1267
|
+
|
|
1268
|
+
@typing.overload
|
|
1269
|
+
def add(self, file_name_vector: collections.abc.Sequence[str]) -> Scene:
|
|
1270
|
+
"""
|
|
1271
|
+
Add multiple filenames to the scene
|
|
1272
|
+
"""
|
|
1273
|
+
|
|
1274
|
+
@typing.overload
|
|
1275
|
+
def add(self, mesh: Mesh) -> Scene:
|
|
1276
|
+
"""
|
|
1277
|
+
Add a surfacic mesh from memory into the scene
|
|
1278
|
+
"""
|
|
1279
|
+
|
|
1280
|
+
def add_light(self, light_state: LightState) -> int:
|
|
1281
|
+
"""
|
|
1282
|
+
Add a light to the scene
|
|
1283
|
+
"""
|
|
1284
|
+
|
|
1285
|
+
def animation_time_range(self) -> tuple[float, float]:
|
|
1286
|
+
...
|
|
1287
|
+
|
|
1288
|
+
def available_animations(self) -> int:
|
|
1289
|
+
...
|
|
1290
|
+
|
|
1291
|
+
def clear(self) -> Scene:
|
|
1292
|
+
...
|
|
1293
|
+
|
|
1294
|
+
def get_light(self, index: int) -> LightState:
|
|
1295
|
+
"""
|
|
1296
|
+
Get a light from the scene
|
|
1297
|
+
"""
|
|
1298
|
+
|
|
1299
|
+
def get_light_count(self) -> int:
|
|
1300
|
+
"""
|
|
1301
|
+
Get the number of lights in the scene
|
|
1302
|
+
"""
|
|
1303
|
+
|
|
1304
|
+
def load_animation_time(self, arg0: float) -> Scene:
|
|
1305
|
+
...
|
|
1306
|
+
|
|
1307
|
+
def remove_all_lights(self) -> Scene:
|
|
1308
|
+
"""
|
|
1309
|
+
Remove all lights from the scene
|
|
1310
|
+
"""
|
|
1311
|
+
|
|
1312
|
+
def remove_light(self, index: int) -> Scene:
|
|
1313
|
+
"""
|
|
1314
|
+
Remove a light from the scene
|
|
1315
|
+
"""
|
|
1316
|
+
|
|
1317
|
+
def supports(self, arg0: os.PathLike[str]) -> bool:
|
|
1318
|
+
...
|
|
1319
|
+
|
|
1320
|
+
def update_light(self, index: int, light_state: LightState) -> Scene:
|
|
1321
|
+
"""
|
|
1322
|
+
Update a light in the scene
|
|
1323
|
+
"""
|
|
1324
|
+
|
|
1325
|
+
class Utils:
|
|
1326
|
+
|
|
1327
|
+
class KnownFolder:
|
|
1328
|
+
"""
|
|
1329
|
+
Members:
|
|
1330
|
+
|
|
1331
|
+
ROAMINGAPPDATA
|
|
1332
|
+
|
|
1333
|
+
LOCALAPPDATA
|
|
1334
|
+
|
|
1335
|
+
PICTURES
|
|
1336
|
+
"""
|
|
1337
|
+
LOCALAPPDATA: typing.ClassVar[Utils.KnownFolder]
|
|
1338
|
+
PICTURES: typing.ClassVar[Utils.KnownFolder]
|
|
1339
|
+
ROAMINGAPPDATA: typing.ClassVar[Utils.KnownFolder]
|
|
1340
|
+
__members__: typing.ClassVar[dict[str, Utils.KnownFolder]]
|
|
1341
|
+
|
|
1342
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
1343
|
+
...
|
|
1344
|
+
|
|
1345
|
+
def __getstate__(self) -> int:
|
|
1346
|
+
...
|
|
1347
|
+
|
|
1348
|
+
def __hash__(self) -> int:
|
|
1349
|
+
...
|
|
1350
|
+
|
|
1351
|
+
def __index__(self) -> int:
|
|
1352
|
+
...
|
|
1353
|
+
|
|
1354
|
+
def __init__(self, value: int) -> None:
|
|
1355
|
+
...
|
|
1356
|
+
|
|
1357
|
+
def __int__(self) -> int:
|
|
1358
|
+
...
|
|
1359
|
+
|
|
1360
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
1361
|
+
...
|
|
1362
|
+
|
|
1363
|
+
def __repr__(self) -> str:
|
|
1364
|
+
...
|
|
1365
|
+
|
|
1366
|
+
def __setstate__(self, state: int) -> None:
|
|
1367
|
+
...
|
|
1368
|
+
|
|
1369
|
+
def __str__(self) -> str:
|
|
1370
|
+
...
|
|
1371
|
+
|
|
1372
|
+
@property
|
|
1373
|
+
def name(self) -> str:
|
|
1374
|
+
...
|
|
1375
|
+
|
|
1376
|
+
@property
|
|
1377
|
+
def value(self) -> int:
|
|
1378
|
+
...
|
|
1379
|
+
LOCALAPPDATA: typing.ClassVar[Utils.KnownFolder]
|
|
1380
|
+
PICTURES: typing.ClassVar[Utils.KnownFolder]
|
|
1381
|
+
ROAMINGAPPDATA: typing.ClassVar[Utils.KnownFolder]
|
|
1382
|
+
|
|
1383
|
+
@staticmethod
|
|
1384
|
+
def collapse_path(arg0: os.PathLike[str], arg1: os.PathLike[str]) -> os.PathLike[str]:
|
|
1385
|
+
...
|
|
1386
|
+
|
|
1387
|
+
@staticmethod
|
|
1388
|
+
def get_env(arg0: str) -> str | None:
|
|
1389
|
+
...
|
|
1390
|
+
|
|
1391
|
+
@staticmethod
|
|
1392
|
+
def get_known_folder(arg0: Utils.KnownFolder) -> str | None:
|
|
1393
|
+
...
|
|
1394
|
+
|
|
1395
|
+
@staticmethod
|
|
1396
|
+
def glob_to_regex(glob: str, path_separator: str='/') -> str:
|
|
1397
|
+
...
|
|
1398
|
+
|
|
1399
|
+
@staticmethod
|
|
1400
|
+
def text_distance(arg0: str, arg1: str) -> int:
|
|
1401
|
+
...
|
|
1402
|
+
|
|
1403
|
+
@staticmethod
|
|
1404
|
+
def tokenize(str: str, keep_comments: bool=True) -> list[str]:
|
|
1405
|
+
...
|
|
1406
|
+
|
|
1407
|
+
class Window:
|
|
1408
|
+
|
|
1409
|
+
class Type:
|
|
1410
|
+
"""
|
|
1411
|
+
Members:
|
|
1412
|
+
|
|
1413
|
+
NONE
|
|
1414
|
+
|
|
1415
|
+
EXTERNAL
|
|
1416
|
+
|
|
1417
|
+
GLX
|
|
1418
|
+
|
|
1419
|
+
WGL
|
|
1420
|
+
|
|
1421
|
+
COCOA
|
|
1422
|
+
|
|
1423
|
+
EGL
|
|
1424
|
+
|
|
1425
|
+
OSMESA
|
|
1426
|
+
|
|
1427
|
+
UNKNOWN
|
|
1428
|
+
"""
|
|
1429
|
+
COCOA: typing.ClassVar[Window.Type]
|
|
1430
|
+
EGL: typing.ClassVar[Window.Type]
|
|
1431
|
+
EXTERNAL: typing.ClassVar[Window.Type]
|
|
1432
|
+
GLX: typing.ClassVar[Window.Type]
|
|
1433
|
+
NONE: typing.ClassVar[Window.Type]
|
|
1434
|
+
OSMESA: typing.ClassVar[Window.Type]
|
|
1435
|
+
UNKNOWN: typing.ClassVar[Window.Type]
|
|
1436
|
+
WGL: typing.ClassVar[Window.Type]
|
|
1437
|
+
__members__: typing.ClassVar[dict[str, Window.Type]]
|
|
1438
|
+
|
|
1439
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
1440
|
+
...
|
|
1441
|
+
|
|
1442
|
+
def __getstate__(self) -> int:
|
|
1443
|
+
...
|
|
1444
|
+
|
|
1445
|
+
def __hash__(self) -> int:
|
|
1446
|
+
...
|
|
1447
|
+
|
|
1448
|
+
def __index__(self) -> int:
|
|
1449
|
+
...
|
|
1450
|
+
|
|
1451
|
+
def __init__(self, value: int) -> None:
|
|
1452
|
+
...
|
|
1453
|
+
|
|
1454
|
+
def __int__(self) -> int:
|
|
1455
|
+
...
|
|
1456
|
+
|
|
1457
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
1458
|
+
...
|
|
1459
|
+
|
|
1460
|
+
def __repr__(self) -> str:
|
|
1461
|
+
...
|
|
1462
|
+
|
|
1463
|
+
def __setstate__(self, state: int) -> None:
|
|
1464
|
+
...
|
|
1465
|
+
|
|
1466
|
+
def __str__(self) -> str:
|
|
1467
|
+
...
|
|
1468
|
+
|
|
1469
|
+
@property
|
|
1470
|
+
def name(self) -> str:
|
|
1471
|
+
...
|
|
1472
|
+
|
|
1473
|
+
@property
|
|
1474
|
+
def value(self) -> int:
|
|
1475
|
+
...
|
|
1476
|
+
COCOA: typing.ClassVar[Window.Type]
|
|
1477
|
+
EGL: typing.ClassVar[Window.Type]
|
|
1478
|
+
EXTERNAL: typing.ClassVar[Window.Type]
|
|
1479
|
+
GLX: typing.ClassVar[Window.Type]
|
|
1480
|
+
NONE: typing.ClassVar[Window.Type]
|
|
1481
|
+
OSMESA: typing.ClassVar[Window.Type]
|
|
1482
|
+
UNKNOWN: typing.ClassVar[Window.Type]
|
|
1483
|
+
WGL: typing.ClassVar[Window.Type]
|
|
1484
|
+
height: int
|
|
1485
|
+
size: tuple[int, int]
|
|
1486
|
+
width: int
|
|
1487
|
+
|
|
1488
|
+
def get_display_from_world(self, arg0: tuple[float, float, float]) -> tuple[float, float, float]:
|
|
1489
|
+
"""
|
|
1490
|
+
Get display coordinate point from world coordinate
|
|
1491
|
+
"""
|
|
1492
|
+
|
|
1493
|
+
def get_world_from_display(self, arg0: tuple[float, float, float]) -> tuple[float, float, float]:
|
|
1494
|
+
"""
|
|
1495
|
+
Get world coordinate point from display coordinate
|
|
1496
|
+
"""
|
|
1497
|
+
|
|
1498
|
+
def render(self) -> bool:
|
|
1499
|
+
"""
|
|
1500
|
+
Render the window
|
|
1501
|
+
"""
|
|
1502
|
+
|
|
1503
|
+
def render_to_image(self, no_background: bool=False) -> Image:
|
|
1504
|
+
"""
|
|
1505
|
+
Render the window to an image
|
|
1506
|
+
"""
|
|
1507
|
+
|
|
1508
|
+
def set_icon(self, arg0: int, arg1: int) -> Window:
|
|
1509
|
+
"""
|
|
1510
|
+
Set the icon of the window using a memory buffer representing a PNG file
|
|
1511
|
+
"""
|
|
1512
|
+
|
|
1513
|
+
def set_position(self, arg0: int, arg1: int) -> Window:
|
|
1514
|
+
...
|
|
1515
|
+
|
|
1516
|
+
def set_window_name(self, arg0: str) -> Window:
|
|
1517
|
+
"""
|
|
1518
|
+
Set the window name
|
|
1519
|
+
"""
|
|
1520
|
+
|
|
1521
|
+
@property
|
|
1522
|
+
def camera(self) -> Camera:
|
|
1523
|
+
...
|
|
1524
|
+
|
|
1525
|
+
@property
|
|
1526
|
+
def offscreen(self) -> bool:
|
|
1527
|
+
...
|
|
1528
|
+
|
|
1529
|
+
@property
|
|
1530
|
+
def type(self) -> Window.Type:
|
|
1531
|
+
...
|
|
1532
|
+
CAMERA_LIGHT: LightType
|
|
1533
|
+
HEADLIGHT: LightType
|
|
1534
|
+
SCENE_LIGHT: LightType
|
|
1535
|
+
forwardcleanup: typing.Any
|