basilisk-engine 0.2.6__cp311-cp311-win32.whl → 0.2.10__cp311-cp311-win32.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.
- basilisk/basilisk/__init__.pyi +553 -0
- basilisk/basilisk/forces.pyi +90 -0
- basilisk/basilisk/key.pyi +277 -0
- basilisk/basilisk.cp311-win32.pyd +0 -0
- basilisk/basilisk.pyi +134 -1
- basilisk/shaders/include/blinn_phong.glsl +41 -0
- basilisk/shaders/include/light.glsl +72 -0
- basilisk/shaders/instance.frag +19 -8
- basilisk/shaders/instance.vert +2 -2
- basilisk/shaders/skybox.frag +10 -0
- basilisk/shaders/skybox.vert +14 -0
- basilisk/shaders/test.frag +8 -7
- basilisk/shaders/test.vert +2 -1
- {basilisk_engine-0.2.6.dist-info → basilisk_engine-0.2.10.dist-info}/METADATA +24 -2
- basilisk_engine-0.2.10.dist-info/RECORD +35 -0
- lib/glfw3.lib +0 -0
- lib/pkgconfig/glfw3.pc +3 -3
- basilisk_engine-0.2.6.dist-info/RECORD +0 -28
- {basilisk_engine-0.2.6.dist-info → basilisk_engine-0.2.10.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,553 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pybind11 example plugin
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import collections.abc
|
|
6
|
+
import glm
|
|
7
|
+
import typing
|
|
8
|
+
import typing_extensions
|
|
9
|
+
from . import forces
|
|
10
|
+
from . import key
|
|
11
|
+
__all__: list[str] = ['AmbientLight', 'Collider', 'Cubemap', 'DirectionalLight', 'EBO', 'Engine', 'FBO', 'Frame', 'Image', 'Keyboard', 'Light', 'Material', 'Mesh', 'Mouse', 'Node', 'Node2D', 'PointLight', 'Rigid', 'Scene', 'Shader', 'Skybox', 'Solver', 'UBO', 'VAO', 'VBO', 'forces', 'key']
|
|
12
|
+
class AmbientLight(Light):
|
|
13
|
+
def __init__(self, color: glm.vec3 = ..., intensity: typing.SupportsFloat = 1.0) -> None:
|
|
14
|
+
...
|
|
15
|
+
class Collider:
|
|
16
|
+
def __init__(self, solver: Solver, vertices: collections.abc.Sequence[glm.vec2]) -> None:
|
|
17
|
+
...
|
|
18
|
+
def getArea(self) -> float:
|
|
19
|
+
...
|
|
20
|
+
def getBaseMoment(self) -> float:
|
|
21
|
+
...
|
|
22
|
+
def getBaseRadius(self) -> float:
|
|
23
|
+
...
|
|
24
|
+
def getCOM(self) -> glm.vec2:
|
|
25
|
+
...
|
|
26
|
+
def getGC(self) -> glm.vec2:
|
|
27
|
+
...
|
|
28
|
+
def getHalfDim(self) -> glm.vec2:
|
|
29
|
+
...
|
|
30
|
+
def getMass(self, arg0: glm.vec2, arg1: typing.SupportsFloat) -> float:
|
|
31
|
+
...
|
|
32
|
+
def getMoment(self, arg0: glm.vec2, arg1: typing.SupportsFloat) -> float:
|
|
33
|
+
...
|
|
34
|
+
def getRadius(self, arg0: glm.vec2) -> float:
|
|
35
|
+
...
|
|
36
|
+
def getVertices(self) -> list[glm.vec2]:
|
|
37
|
+
...
|
|
38
|
+
def setArea(self, arg0: typing.SupportsFloat) -> None:
|
|
39
|
+
...
|
|
40
|
+
def setBaseMoment(self, arg0: typing.SupportsFloat) -> None:
|
|
41
|
+
...
|
|
42
|
+
def setCOM(self, arg0: glm.vec2) -> None:
|
|
43
|
+
...
|
|
44
|
+
def setGC(self, arg0: glm.vec2) -> None:
|
|
45
|
+
...
|
|
46
|
+
def setHalfDim(self, arg0: glm.vec2) -> None:
|
|
47
|
+
...
|
|
48
|
+
def setVertices(self, arg0: collections.abc.Sequence[glm.vec2]) -> None:
|
|
49
|
+
...
|
|
50
|
+
class Cubemap:
|
|
51
|
+
@typing.overload
|
|
52
|
+
def __init__(self, faces: collections.abc.Sequence[Image]) -> None:
|
|
53
|
+
...
|
|
54
|
+
@typing.overload
|
|
55
|
+
def __init__(self, faces: collections.abc.Sequence[str]) -> None:
|
|
56
|
+
...
|
|
57
|
+
def bind(self) -> None:
|
|
58
|
+
...
|
|
59
|
+
def get_id(self) -> int:
|
|
60
|
+
...
|
|
61
|
+
def unbind(self) -> None:
|
|
62
|
+
...
|
|
63
|
+
class DirectionalLight(Light):
|
|
64
|
+
def __init__(self, color: glm.vec3 = ..., intensity: typing.SupportsFloat = 1.0, direction: glm.vec3 = ...) -> None:
|
|
65
|
+
...
|
|
66
|
+
def get_direction(self) -> glm.vec3:
|
|
67
|
+
...
|
|
68
|
+
def set_direction(self, direction: glm.vec3) -> None:
|
|
69
|
+
...
|
|
70
|
+
class EBO:
|
|
71
|
+
def __init__(self, data: collections.abc.Sequence[typing.SupportsInt], drawType: typing.SupportsInt = 35044) -> None:
|
|
72
|
+
...
|
|
73
|
+
def bind(self) -> None:
|
|
74
|
+
...
|
|
75
|
+
def get_size(self) -> int:
|
|
76
|
+
...
|
|
77
|
+
def unbind(self) -> None:
|
|
78
|
+
...
|
|
79
|
+
def write(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, offset: typing.SupportsInt) -> None:
|
|
80
|
+
...
|
|
81
|
+
class Engine:
|
|
82
|
+
def __init__(self, width: typing.SupportsInt, height: typing.SupportsInt, title: str, autoMouseGrab: bool = True) -> None:
|
|
83
|
+
...
|
|
84
|
+
def get_delta_time(self) -> float:
|
|
85
|
+
...
|
|
86
|
+
def get_frame(self) -> ...:
|
|
87
|
+
...
|
|
88
|
+
def get_keyboard(self) -> ...:
|
|
89
|
+
...
|
|
90
|
+
def get_mouse(self) -> ...:
|
|
91
|
+
...
|
|
92
|
+
def get_resource_server(self) -> ...:
|
|
93
|
+
...
|
|
94
|
+
def get_window(self) -> ...:
|
|
95
|
+
...
|
|
96
|
+
def is_running(self) -> bool:
|
|
97
|
+
...
|
|
98
|
+
def render(self) -> None:
|
|
99
|
+
...
|
|
100
|
+
def set_resolution(self, width: typing.SupportsInt, height: typing.SupportsInt) -> None:
|
|
101
|
+
...
|
|
102
|
+
def update(self) -> None:
|
|
103
|
+
...
|
|
104
|
+
def use_context(self) -> None:
|
|
105
|
+
...
|
|
106
|
+
class FBO:
|
|
107
|
+
def __init__(self, width: typing.SupportsInt, height: typing.SupportsInt, components: typing.SupportsInt) -> None:
|
|
108
|
+
...
|
|
109
|
+
def bind(self) -> None:
|
|
110
|
+
...
|
|
111
|
+
def clear(self, r: typing.SupportsFloat, g: typing.SupportsFloat, b: typing.SupportsFloat, a: typing.SupportsFloat) -> None:
|
|
112
|
+
...
|
|
113
|
+
def get_depth_id(self) -> int:
|
|
114
|
+
...
|
|
115
|
+
def get_height(self) -> int:
|
|
116
|
+
...
|
|
117
|
+
def get_id(self) -> int:
|
|
118
|
+
...
|
|
119
|
+
def get_texture_id(self) -> int:
|
|
120
|
+
...
|
|
121
|
+
def get_width(self) -> int:
|
|
122
|
+
...
|
|
123
|
+
def unbind(self) -> None:
|
|
124
|
+
...
|
|
125
|
+
class Frame:
|
|
126
|
+
def __init__(self, engine: Engine, width: typing.SupportsInt, height: typing.SupportsInt) -> None:
|
|
127
|
+
...
|
|
128
|
+
def clear(self, r: typing.SupportsFloat, g: typing.SupportsFloat, b: typing.SupportsFloat, a: typing.SupportsFloat) -> None:
|
|
129
|
+
...
|
|
130
|
+
def get_aspect_ratio(self) -> float:
|
|
131
|
+
...
|
|
132
|
+
def get_ebo(self) -> EBO:
|
|
133
|
+
...
|
|
134
|
+
def get_fbo(self) -> FBO:
|
|
135
|
+
...
|
|
136
|
+
def get_height(self) -> int:
|
|
137
|
+
...
|
|
138
|
+
def get_render_height(self) -> int:
|
|
139
|
+
...
|
|
140
|
+
def get_render_width(self) -> int:
|
|
141
|
+
...
|
|
142
|
+
def get_shader(self) -> Shader:
|
|
143
|
+
...
|
|
144
|
+
def get_vao(self) -> VAO:
|
|
145
|
+
...
|
|
146
|
+
def get_vbo(self) -> VBO:
|
|
147
|
+
...
|
|
148
|
+
def get_width(self) -> int:
|
|
149
|
+
...
|
|
150
|
+
@typing.overload
|
|
151
|
+
def render(self) -> None:
|
|
152
|
+
...
|
|
153
|
+
@typing.overload
|
|
154
|
+
def render(self, x: typing.SupportsInt, y: typing.SupportsInt, width: typing.SupportsInt, height: typing.SupportsInt) -> None:
|
|
155
|
+
...
|
|
156
|
+
def use(self) -> None:
|
|
157
|
+
...
|
|
158
|
+
class Image:
|
|
159
|
+
def __init__(self, file: str) -> None:
|
|
160
|
+
...
|
|
161
|
+
def get_data(self) -> int:
|
|
162
|
+
...
|
|
163
|
+
def get_height(self) -> int:
|
|
164
|
+
...
|
|
165
|
+
def get_width(self) -> int:
|
|
166
|
+
...
|
|
167
|
+
class Keyboard:
|
|
168
|
+
def get_down(self, keyCode: key.KeyCode) -> bool:
|
|
169
|
+
...
|
|
170
|
+
def get_pressed(self, keyCode: key.KeyCode) -> bool:
|
|
171
|
+
...
|
|
172
|
+
def get_released(self, keyCode: key.KeyCode) -> bool:
|
|
173
|
+
...
|
|
174
|
+
def update(self) -> None:
|
|
175
|
+
...
|
|
176
|
+
class Light:
|
|
177
|
+
def get_color(self) -> glm.vec3:
|
|
178
|
+
...
|
|
179
|
+
def get_intensity(self) -> float:
|
|
180
|
+
...
|
|
181
|
+
def set_color(self, color: glm.vec3) -> None:
|
|
182
|
+
...
|
|
183
|
+
def set_intensity(self, intensity: typing.SupportsFloat) -> None:
|
|
184
|
+
...
|
|
185
|
+
class Material:
|
|
186
|
+
def __init__(self, color: glm.vec3 = ..., albedo: Image = None, normal: Image = None) -> None:
|
|
187
|
+
...
|
|
188
|
+
def get_albedo(self) -> Image:
|
|
189
|
+
...
|
|
190
|
+
def get_color(self) -> glm.vec3:
|
|
191
|
+
...
|
|
192
|
+
def get_normal(self) -> Image:
|
|
193
|
+
...
|
|
194
|
+
class Mesh:
|
|
195
|
+
def __init__(self, modelPath: str, generateUV: bool = False, generateNormals: bool = False) -> None:
|
|
196
|
+
...
|
|
197
|
+
def get_indices(self) -> list[int]:
|
|
198
|
+
...
|
|
199
|
+
def get_vertices(self) -> list[float]:
|
|
200
|
+
...
|
|
201
|
+
class Mouse:
|
|
202
|
+
def get_clicked(self) -> bool:
|
|
203
|
+
...
|
|
204
|
+
def get_left_clicked(self) -> bool:
|
|
205
|
+
...
|
|
206
|
+
def get_left_down(self) -> bool:
|
|
207
|
+
...
|
|
208
|
+
def get_left_released(self) -> bool:
|
|
209
|
+
...
|
|
210
|
+
def get_middle_clicked(self) -> bool:
|
|
211
|
+
...
|
|
212
|
+
def get_middle_down(self) -> bool:
|
|
213
|
+
...
|
|
214
|
+
def get_middle_released(self) -> bool:
|
|
215
|
+
...
|
|
216
|
+
def get_relative_x(self) -> float:
|
|
217
|
+
...
|
|
218
|
+
def get_relative_y(self) -> float:
|
|
219
|
+
...
|
|
220
|
+
def get_right_clicked(self) -> bool:
|
|
221
|
+
...
|
|
222
|
+
def get_right_down(self) -> bool:
|
|
223
|
+
...
|
|
224
|
+
def get_right_released(self) -> bool:
|
|
225
|
+
...
|
|
226
|
+
def get_world_x(self, arg0: ...) -> float:
|
|
227
|
+
...
|
|
228
|
+
def get_world_y(self, arg0: ...) -> float:
|
|
229
|
+
...
|
|
230
|
+
def get_x(self) -> float:
|
|
231
|
+
...
|
|
232
|
+
def get_y(self) -> float:
|
|
233
|
+
...
|
|
234
|
+
def set_grab(self) -> None:
|
|
235
|
+
...
|
|
236
|
+
def set_hidden(self) -> None:
|
|
237
|
+
...
|
|
238
|
+
def set_visible(self) -> None:
|
|
239
|
+
...
|
|
240
|
+
def update(self) -> None:
|
|
241
|
+
...
|
|
242
|
+
class Node:
|
|
243
|
+
@typing.overload
|
|
244
|
+
def __init__(self, scene: Scene, mesh: ... = None, material: ... = None, position: glm.vec3 = ..., rotation: glm.quat = ..., scale: glm.vec3 = ...) -> None:
|
|
245
|
+
...
|
|
246
|
+
@typing.overload
|
|
247
|
+
def __init__(self, parent: Node, mesh: ... = None, material: ... = None, position: glm.vec3 = ..., rotation: glm.quat = ..., scale: glm.vec3 = ...) -> None:
|
|
248
|
+
...
|
|
249
|
+
@typing.overload
|
|
250
|
+
def __init__(self, scene: Scene, parent: Node) -> None:
|
|
251
|
+
...
|
|
252
|
+
def set_position(self, position: glm.vec3) -> None:
|
|
253
|
+
...
|
|
254
|
+
def set_rotation(self, rotation: glm.quat) -> None:
|
|
255
|
+
...
|
|
256
|
+
def set_scale(self, scale: glm.vec3) -> None:
|
|
257
|
+
...
|
|
258
|
+
class Node2D:
|
|
259
|
+
@typing.overload
|
|
260
|
+
def __init__(self, scene: ..., mesh: Mesh, material: Material, position: glm.vec2, rotation: typing.SupportsFloat, scale: glm.vec2, velocity: glm.vec3, collider: ..., density: typing.SupportsFloat, friction: typing.SupportsFloat) -> None:
|
|
261
|
+
...
|
|
262
|
+
@typing.overload
|
|
263
|
+
def __init__(self, parent: Node2D, mesh: Mesh, material: Material, position: glm.vec2, rotation: typing.SupportsFloat, scale: glm.vec2, velocity: glm.vec3, collider: ..., density: typing.SupportsFloat, friction: typing.SupportsFloat) -> None:
|
|
264
|
+
...
|
|
265
|
+
@typing.overload
|
|
266
|
+
def __init__(self, arg0: ..., arg1: Node2D) -> None:
|
|
267
|
+
...
|
|
268
|
+
def set_position(self, arg0: glm.vec2) -> None:
|
|
269
|
+
...
|
|
270
|
+
def set_rotation(self, arg0: typing.SupportsFloat) -> None:
|
|
271
|
+
...
|
|
272
|
+
def set_scale(self, arg0: glm.vec2) -> None:
|
|
273
|
+
...
|
|
274
|
+
def set_velocity(self, arg0: glm.vec3) -> None:
|
|
275
|
+
...
|
|
276
|
+
class PointLight(Light):
|
|
277
|
+
def __init__(self, color: glm.vec3 = ..., intensity: typing.SupportsFloat = 1.0, position: glm.vec3 = ..., range: typing.SupportsFloat = 15.0) -> None:
|
|
278
|
+
...
|
|
279
|
+
def get_position(self) -> glm.vec3:
|
|
280
|
+
...
|
|
281
|
+
def get_range(self) -> float:
|
|
282
|
+
...
|
|
283
|
+
def set_position(self, position: glm.vec3) -> None:
|
|
284
|
+
...
|
|
285
|
+
def set_range(self, range: typing.SupportsFloat) -> None:
|
|
286
|
+
...
|
|
287
|
+
class Rigid:
|
|
288
|
+
def __init__(self, solver: Solver, node: Node2D, collider: Collider, position: glm.vec3, size: glm.vec2, density: typing.SupportsFloat, friction: typing.SupportsFloat, velocity: glm.vec3) -> None:
|
|
289
|
+
...
|
|
290
|
+
def constrainedTo(self, arg0: Rigid) -> bool:
|
|
291
|
+
...
|
|
292
|
+
def getAABB(self) -> tuple[glm.vec2, glm.vec2]:
|
|
293
|
+
...
|
|
294
|
+
def getCollider(self) -> Collider:
|
|
295
|
+
...
|
|
296
|
+
def getColor(self) -> int:
|
|
297
|
+
...
|
|
298
|
+
def getDegree(self) -> int:
|
|
299
|
+
...
|
|
300
|
+
def getDensity(self) -> float:
|
|
301
|
+
...
|
|
302
|
+
def getForces(self) -> ...:
|
|
303
|
+
...
|
|
304
|
+
def getFriction(self) -> float:
|
|
305
|
+
...
|
|
306
|
+
def getIndex(self) -> int:
|
|
307
|
+
...
|
|
308
|
+
def getInertial(self) -> glm.vec3:
|
|
309
|
+
...
|
|
310
|
+
def getInitial(self) -> glm.vec3:
|
|
311
|
+
...
|
|
312
|
+
def getMass(self) -> float:
|
|
313
|
+
...
|
|
314
|
+
def getMoment(self) -> float:
|
|
315
|
+
...
|
|
316
|
+
def getNext(self) -> Rigid:
|
|
317
|
+
...
|
|
318
|
+
def getNextUnusedColor(self) -> int:
|
|
319
|
+
...
|
|
320
|
+
def getNode(self) -> Node2D:
|
|
321
|
+
...
|
|
322
|
+
def getPosition(self) -> glm.vec3:
|
|
323
|
+
...
|
|
324
|
+
def getPrev(self) -> Rigid:
|
|
325
|
+
...
|
|
326
|
+
def getPrevVelocity(self) -> glm.vec3:
|
|
327
|
+
...
|
|
328
|
+
def getRadius(self) -> float:
|
|
329
|
+
...
|
|
330
|
+
def getSatur(self) -> int:
|
|
331
|
+
...
|
|
332
|
+
def getSize(self) -> glm.vec2:
|
|
333
|
+
...
|
|
334
|
+
def getSolver(self) -> Solver:
|
|
335
|
+
...
|
|
336
|
+
def getVel(self) -> glm.vec3:
|
|
337
|
+
...
|
|
338
|
+
def getVelocity(self) -> glm.vec3:
|
|
339
|
+
...
|
|
340
|
+
def incrSatur(self) -> None:
|
|
341
|
+
...
|
|
342
|
+
def insert(self, arg0: ...) -> None:
|
|
343
|
+
...
|
|
344
|
+
def isColorUsed(self, arg0: typing.SupportsInt) -> bool:
|
|
345
|
+
...
|
|
346
|
+
def isColored(self) -> bool:
|
|
347
|
+
...
|
|
348
|
+
def remove(self, arg0: ...) -> None:
|
|
349
|
+
...
|
|
350
|
+
def reserveColors(self, arg0: typing.SupportsInt) -> None:
|
|
351
|
+
...
|
|
352
|
+
def resetColoring(self) -> None:
|
|
353
|
+
...
|
|
354
|
+
def setCollider(self, arg0: Collider) -> None:
|
|
355
|
+
...
|
|
356
|
+
def setFriction(self, arg0: typing.SupportsFloat) -> None:
|
|
357
|
+
...
|
|
358
|
+
def setInertial(self, arg0: glm.vec3) -> None:
|
|
359
|
+
...
|
|
360
|
+
def setInitial(self, arg0: glm.vec3) -> None:
|
|
361
|
+
...
|
|
362
|
+
def setMass(self, arg0: typing.SupportsFloat) -> None:
|
|
363
|
+
...
|
|
364
|
+
def setMoment(self, arg0: typing.SupportsFloat) -> None:
|
|
365
|
+
...
|
|
366
|
+
def setNode(self, arg0: Node2D) -> None:
|
|
367
|
+
...
|
|
368
|
+
def setPosition(self, arg0: glm.vec3) -> None:
|
|
369
|
+
...
|
|
370
|
+
def setPrevVelocity(self, arg0: glm.vec3) -> None:
|
|
371
|
+
...
|
|
372
|
+
def setRadius(self, arg0: typing.SupportsFloat) -> None:
|
|
373
|
+
...
|
|
374
|
+
def setScale(self, arg0: glm.vec2) -> None:
|
|
375
|
+
...
|
|
376
|
+
def setVelocity(self, arg0: glm.vec3) -> None:
|
|
377
|
+
...
|
|
378
|
+
def useColor(self, arg0: typing.SupportsInt) -> None:
|
|
379
|
+
...
|
|
380
|
+
def verifyColoring(self) -> bool:
|
|
381
|
+
...
|
|
382
|
+
class Scene:
|
|
383
|
+
def __init__(self, engine: Engine) -> None:
|
|
384
|
+
...
|
|
385
|
+
def add(self, light: ...) -> None:
|
|
386
|
+
...
|
|
387
|
+
def get_camera(self) -> ...:
|
|
388
|
+
...
|
|
389
|
+
def get_shader(self) -> ...:
|
|
390
|
+
...
|
|
391
|
+
def render(self) -> None:
|
|
392
|
+
...
|
|
393
|
+
def set_camera(self, camera: ...) -> None:
|
|
394
|
+
...
|
|
395
|
+
def set_skybox(self, skybox: ...) -> None:
|
|
396
|
+
...
|
|
397
|
+
def update(self) -> None:
|
|
398
|
+
...
|
|
399
|
+
class Shader:
|
|
400
|
+
@staticmethod
|
|
401
|
+
@typing.overload
|
|
402
|
+
def set_uniform(*args, **kwargs) -> None:
|
|
403
|
+
...
|
|
404
|
+
def __init__(self, vertexPath: str, fragmentPath: str) -> None:
|
|
405
|
+
...
|
|
406
|
+
@typing.overload
|
|
407
|
+
def bind(self, name: str, texture: ..., slot: typing.SupportsInt) -> None:
|
|
408
|
+
...
|
|
409
|
+
@typing.overload
|
|
410
|
+
def bind(self, name: str, textureArray: ..., slot: typing.SupportsInt) -> None:
|
|
411
|
+
...
|
|
412
|
+
@typing.overload
|
|
413
|
+
def bind(self, name: str, tbo: ..., slot: typing.SupportsInt) -> None:
|
|
414
|
+
...
|
|
415
|
+
@typing.overload
|
|
416
|
+
def bind(self, name: str, fbo: ..., slot: typing.SupportsInt) -> None:
|
|
417
|
+
...
|
|
418
|
+
@typing.overload
|
|
419
|
+
def bind(self, name: str, cubemap: ..., slot: typing.SupportsInt) -> None:
|
|
420
|
+
...
|
|
421
|
+
def get_attributes(self) -> ...:
|
|
422
|
+
...
|
|
423
|
+
def get_stride(self) -> int:
|
|
424
|
+
...
|
|
425
|
+
def get_uniform_location(self, name: str) -> int:
|
|
426
|
+
...
|
|
427
|
+
@typing.overload
|
|
428
|
+
def set_uniform(self, name: str, value: typing.SupportsFloat) -> None:
|
|
429
|
+
...
|
|
430
|
+
@typing.overload
|
|
431
|
+
def set_uniform(self, name: str, value: typing.SupportsFloat) -> None:
|
|
432
|
+
...
|
|
433
|
+
@typing.overload
|
|
434
|
+
def set_uniform(self, name: str, value: typing.SupportsInt) -> None:
|
|
435
|
+
...
|
|
436
|
+
@typing.overload
|
|
437
|
+
def set_uniform(self, name: str, value: glm.vec3) -> None:
|
|
438
|
+
...
|
|
439
|
+
def use(self) -> None:
|
|
440
|
+
...
|
|
441
|
+
class Skybox:
|
|
442
|
+
@typing.overload
|
|
443
|
+
def __init__(self, cubemap: Cubemap, ownsCubemap: bool = False) -> None:
|
|
444
|
+
...
|
|
445
|
+
@typing.overload
|
|
446
|
+
def __init__(self, faces: collections.abc.Sequence[Image]) -> None:
|
|
447
|
+
...
|
|
448
|
+
@typing.overload
|
|
449
|
+
def __init__(self, faces: collections.abc.Sequence[str]) -> None:
|
|
450
|
+
...
|
|
451
|
+
def get_cubemap(self) -> Cubemap:
|
|
452
|
+
...
|
|
453
|
+
def get_shader(self) -> Shader:
|
|
454
|
+
...
|
|
455
|
+
def get_vao(self) -> VAO:
|
|
456
|
+
...
|
|
457
|
+
def get_vbo(self) -> VBO:
|
|
458
|
+
...
|
|
459
|
+
def render(self, camera: ...) -> None:
|
|
460
|
+
...
|
|
461
|
+
class Solver:
|
|
462
|
+
@staticmethod
|
|
463
|
+
def setGravity(*args, **kwargs) -> None:
|
|
464
|
+
...
|
|
465
|
+
def __init__(self) -> None:
|
|
466
|
+
...
|
|
467
|
+
def getAlpha(self) -> float:
|
|
468
|
+
...
|
|
469
|
+
def getBeta(self) -> float:
|
|
470
|
+
...
|
|
471
|
+
def getDt(self) -> float:
|
|
472
|
+
...
|
|
473
|
+
def getGamma(self) -> float:
|
|
474
|
+
...
|
|
475
|
+
def getGravity(self) -> ...:
|
|
476
|
+
...
|
|
477
|
+
def getIterations(self) -> int:
|
|
478
|
+
...
|
|
479
|
+
def getNumForces(self) -> int:
|
|
480
|
+
...
|
|
481
|
+
def getNumRigids(self) -> int:
|
|
482
|
+
...
|
|
483
|
+
def getPostStabilize(self) -> bool:
|
|
484
|
+
...
|
|
485
|
+
@typing.overload
|
|
486
|
+
def insert(self, arg0: ...) -> None:
|
|
487
|
+
...
|
|
488
|
+
@typing.overload
|
|
489
|
+
def insert(self, arg0: ...) -> None:
|
|
490
|
+
...
|
|
491
|
+
@typing.overload
|
|
492
|
+
def remove(self, arg0: ...) -> None:
|
|
493
|
+
...
|
|
494
|
+
@typing.overload
|
|
495
|
+
def remove(self, arg0: ...) -> None:
|
|
496
|
+
...
|
|
497
|
+
def setAlpha(self, arg0: typing.SupportsFloat) -> None:
|
|
498
|
+
...
|
|
499
|
+
def setBeta(self, arg0: typing.SupportsFloat) -> None:
|
|
500
|
+
...
|
|
501
|
+
def setDt(self, arg0: typing.SupportsFloat) -> None:
|
|
502
|
+
...
|
|
503
|
+
def setGamma(self, arg0: typing.SupportsFloat) -> None:
|
|
504
|
+
...
|
|
505
|
+
def setIterations(self, arg0: typing.SupportsInt) -> None:
|
|
506
|
+
...
|
|
507
|
+
def setPostStabilize(self, arg0: bool) -> None:
|
|
508
|
+
...
|
|
509
|
+
class UBO:
|
|
510
|
+
@typing.overload
|
|
511
|
+
def __init__(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, drawType: typing.SupportsInt) -> None:
|
|
512
|
+
...
|
|
513
|
+
@typing.overload
|
|
514
|
+
def __init__(self, data: ..., std: ..., drawType: typing.SupportsInt = 35044) -> None:
|
|
515
|
+
...
|
|
516
|
+
def bind(self) -> None:
|
|
517
|
+
...
|
|
518
|
+
def get_size(self) -> int:
|
|
519
|
+
...
|
|
520
|
+
def unbind(self) -> None:
|
|
521
|
+
...
|
|
522
|
+
def write(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, offset: typing.SupportsInt) -> None:
|
|
523
|
+
...
|
|
524
|
+
class VAO:
|
|
525
|
+
def __init__(self, shader: Shader, vertices: VBO, indices: EBO) -> None:
|
|
526
|
+
...
|
|
527
|
+
def bind(self) -> None:
|
|
528
|
+
...
|
|
529
|
+
def bind_attribute(self, location: typing.SupportsInt, count: typing.SupportsInt, dataType: typing.SupportsInt, stride: typing.SupportsInt, offset: typing.SupportsInt, divisor: typing.SupportsInt) -> None:
|
|
530
|
+
...
|
|
531
|
+
def bind_attributes(self, attribs: ..., std: ..., std: ..., std: ..., std: ..., std: ..., divisor: typing.SupportsInt) -> None:
|
|
532
|
+
...
|
|
533
|
+
@typing.overload
|
|
534
|
+
def bind_buffer(self, buffer: VBO, attribs: ..., std: ..., std: ..., std: ..., std: ..., std: ..., divisor: typing.SupportsInt) -> None:
|
|
535
|
+
...
|
|
536
|
+
@typing.overload
|
|
537
|
+
def bind_buffer(self, buffer: VBO, indices: EBO, attribs: ..., std: ..., std: ..., std: ..., std: ..., std: ..., divisor: typing.SupportsInt) -> None:
|
|
538
|
+
...
|
|
539
|
+
def render(self, instanceCount: typing.SupportsInt = 0) -> None:
|
|
540
|
+
...
|
|
541
|
+
class VBO:
|
|
542
|
+
@typing.overload
|
|
543
|
+
def __init__(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, drawType: typing.SupportsInt) -> None:
|
|
544
|
+
...
|
|
545
|
+
@typing.overload
|
|
546
|
+
def __init__(self, data: collections.abc.Sequence, drawType: typing.SupportsInt = 35044) -> None:
|
|
547
|
+
...
|
|
548
|
+
def bind(self) -> None:
|
|
549
|
+
...
|
|
550
|
+
def get_size(self) -> int:
|
|
551
|
+
...
|
|
552
|
+
def unbind(self) -> None:
|
|
553
|
+
...
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Physics forces submodule
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import basilisk
|
|
6
|
+
import glm
|
|
7
|
+
import typing
|
|
8
|
+
__all__: list[str] = ['Contact', 'Edges', 'FeaturePair', 'Force', 'Joint', 'Manifold', 'Motor', 'Spring']
|
|
9
|
+
class Contact:
|
|
10
|
+
C0: glm.vec2
|
|
11
|
+
feature: ...
|
|
12
|
+
normal: glm.vec2
|
|
13
|
+
rA: glm.vec2
|
|
14
|
+
rB: glm.vec2
|
|
15
|
+
stick: bool
|
|
16
|
+
class Edges:
|
|
17
|
+
inEdge1: str
|
|
18
|
+
inEdge2: str
|
|
19
|
+
outEdge1: str
|
|
20
|
+
outEdge2: str
|
|
21
|
+
class FeaturePair:
|
|
22
|
+
e: ...
|
|
23
|
+
@property
|
|
24
|
+
def value(self) -> int:
|
|
25
|
+
...
|
|
26
|
+
@value.setter
|
|
27
|
+
def value(self, arg0: typing.SupportsInt) -> None:
|
|
28
|
+
...
|
|
29
|
+
class Force:
|
|
30
|
+
def disable(self) -> None:
|
|
31
|
+
...
|
|
32
|
+
class Joint(Force):
|
|
33
|
+
def __init__(self, solver: basilisk.Solver, bodyA: basilisk.Rigid, bodyB: basilisk.Rigid, rA: glm.vec2, rB: glm.vec2, stiffness: glm.vec3 = ..., fracture: typing.SupportsFloat = ...) -> None:
|
|
34
|
+
...
|
|
35
|
+
def getC0(self) -> glm.vec3:
|
|
36
|
+
...
|
|
37
|
+
def getRA(self) -> glm.vec2:
|
|
38
|
+
...
|
|
39
|
+
def getRB(self) -> glm.vec2:
|
|
40
|
+
...
|
|
41
|
+
def getRestAngle(self) -> float:
|
|
42
|
+
...
|
|
43
|
+
def getTorqueArm(self) -> float:
|
|
44
|
+
...
|
|
45
|
+
def setC0(self, arg0: glm.vec3) -> None:
|
|
46
|
+
...
|
|
47
|
+
def setRA(self, arg0: glm.vec2) -> None:
|
|
48
|
+
...
|
|
49
|
+
def setRB(self, arg0: glm.vec2) -> None:
|
|
50
|
+
...
|
|
51
|
+
def setRestAngle(self, arg0: typing.SupportsFloat) -> None:
|
|
52
|
+
...
|
|
53
|
+
def setTorqueArm(self, arg0: typing.SupportsFloat) -> None:
|
|
54
|
+
...
|
|
55
|
+
class Manifold(Force):
|
|
56
|
+
@staticmethod
|
|
57
|
+
def collide(bodyA: basilisk.Rigid, bodyB: basilisk.Rigid, contacts: Contact) -> int:
|
|
58
|
+
...
|
|
59
|
+
def __init__(self, solver: basilisk.Solver, bodyA: basilisk.Rigid, bodyB: basilisk.Rigid) -> None:
|
|
60
|
+
...
|
|
61
|
+
def getContact(self, arg0: typing.SupportsInt) -> Contact:
|
|
62
|
+
...
|
|
63
|
+
def getContactRef(self, arg0: typing.SupportsInt) -> Contact:
|
|
64
|
+
...
|
|
65
|
+
def getFriction(self) -> float:
|
|
66
|
+
...
|
|
67
|
+
def getNumContacts(self) -> int:
|
|
68
|
+
...
|
|
69
|
+
class Motor(Force):
|
|
70
|
+
def __init__(self, solver: basilisk.Solver, bodyA: basilisk.Rigid, bodyB: basilisk.Rigid, speed: typing.SupportsFloat, maxTorque: typing.SupportsFloat) -> None:
|
|
71
|
+
...
|
|
72
|
+
def getSpeed(self) -> float:
|
|
73
|
+
...
|
|
74
|
+
def setSpeed(self, arg0: typing.SupportsFloat) -> None:
|
|
75
|
+
...
|
|
76
|
+
class Spring(Force):
|
|
77
|
+
def __init__(self, solver: basilisk.Solver, bodyA: basilisk.Rigid, bodyB: basilisk.Rigid, rA: glm.vec2, rB: glm.vec2, stiffness: typing.SupportsFloat, rest: typing.SupportsFloat = -1.0) -> None:
|
|
78
|
+
...
|
|
79
|
+
def getRA(self) -> glm.vec2:
|
|
80
|
+
...
|
|
81
|
+
def getRB(self) -> glm.vec2:
|
|
82
|
+
...
|
|
83
|
+
def getRest(self) -> float:
|
|
84
|
+
...
|
|
85
|
+
def setRA(self, arg0: glm.vec2) -> None:
|
|
86
|
+
...
|
|
87
|
+
def setRB(self, arg0: glm.vec2) -> None:
|
|
88
|
+
...
|
|
89
|
+
def setRest(self, arg0: typing.SupportsFloat) -> None:
|
|
90
|
+
...
|