basilisk-engine 0.2.8__cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.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.
Files changed (36) hide show
  1. basilisk/__init__.py +1 -0
  2. basilisk/basilisk/__init__.pyi +472 -0
  3. basilisk/basilisk/forces.pyi +90 -0
  4. basilisk/basilisk.cpython-313-x86_64-linux-gnu.so +0 -0
  5. basilisk/basilisk.pyi +536 -0
  6. basilisk/shaders/default.frag +15 -0
  7. basilisk/shaders/default.vert +19 -0
  8. basilisk/shaders/default2D.frag +11 -0
  9. basilisk/shaders/default2D.vert +16 -0
  10. basilisk/shaders/frame.frag +11 -0
  11. basilisk/shaders/frame.vert +11 -0
  12. basilisk/shaders/include/blinn_phong.glsl +35 -0
  13. basilisk/shaders/include/light.glsl +28 -0
  14. basilisk/shaders/include/material.glsl +52 -0
  15. basilisk/shaders/include/texture.glsl +11 -0
  16. basilisk/shaders/instance.frag +38 -0
  17. basilisk/shaders/instance.vert +27 -0
  18. basilisk/shaders/instance2D.frag +14 -0
  19. basilisk/shaders/instance2D.vert +20 -0
  20. basilisk/shaders/test.frag +16 -0
  21. basilisk/shaders/test.vert +12 -0
  22. basilisk_engine-0.2.8.dist-info/METADATA +86 -0
  23. basilisk_engine-0.2.8.dist-info/RECORD +36 -0
  24. basilisk_engine-0.2.8.dist-info/WHEEL +6 -0
  25. basilisk_engine-0.2.8.dist-info/sboms/auditwheel.cdx.json +1 -0
  26. basilisk_engine.libs/libGLX-c14481bc.so.0.0.0 +0 -0
  27. basilisk_engine.libs/libGLdispatch-64b28464.so.0.0.0 +0 -0
  28. basilisk_engine.libs/libOpenGL-4c5f8d52.so.0.0.0 +0 -0
  29. include/GLFW/glfw3.h +5912 -0
  30. include/GLFW/glfw3native.h +628 -0
  31. lib64/cmake/glfw3/glfw3Config.cmake +1 -0
  32. lib64/cmake/glfw3/glfw3ConfigVersion.cmake +65 -0
  33. lib64/cmake/glfw3/glfw3Targets-release.cmake +19 -0
  34. lib64/cmake/glfw3/glfw3Targets.cmake +107 -0
  35. lib64/libglfw3.a +0 -0
  36. lib64/pkgconfig/glfw3.pc +13 -0
basilisk/__init__.py ADDED
@@ -0,0 +1 @@
1
+ from .basilisk import *
@@ -0,0 +1,472 @@
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
+ __all__: list[str] = ['AmbientLight', 'Collider', 'DirectionalLight', 'EBO', 'Engine', 'FBO', 'Frame', 'Image', 'Light', 'Material', 'Mesh', 'Node', 'Node2D', 'PointLight', 'Rigid', 'Scene', 'Shader', 'Solver', 'UBO', 'VAO', 'VBO', 'forces']
11
+ class AmbientLight(Light):
12
+ def __init__(self, color: glm.vec3 = ..., intensity: typing.SupportsFloat = 1.0) -> None:
13
+ ...
14
+ def getColor(self) -> glm.vec3:
15
+ ...
16
+ def getIntensity(self) -> float:
17
+ ...
18
+ class Collider:
19
+ def __init__(self, solver: Solver, vertices: collections.abc.Sequence[glm.vec2]) -> None:
20
+ ...
21
+ def getArea(self) -> float:
22
+ ...
23
+ def getBaseMoment(self) -> float:
24
+ ...
25
+ def getBaseRadius(self) -> float:
26
+ ...
27
+ def getCOM(self) -> glm.vec2:
28
+ ...
29
+ def getGC(self) -> glm.vec2:
30
+ ...
31
+ def getHalfDim(self) -> glm.vec2:
32
+ ...
33
+ def getMass(self, arg0: glm.vec2, arg1: typing.SupportsFloat) -> float:
34
+ ...
35
+ def getMoment(self, arg0: glm.vec2, arg1: typing.SupportsFloat) -> float:
36
+ ...
37
+ def getRadius(self, arg0: glm.vec2) -> float:
38
+ ...
39
+ def getVertices(self) -> list[glm.vec2]:
40
+ ...
41
+ def setArea(self, arg0: typing.SupportsFloat) -> None:
42
+ ...
43
+ def setBaseMoment(self, arg0: typing.SupportsFloat) -> None:
44
+ ...
45
+ def setCOM(self, arg0: glm.vec2) -> None:
46
+ ...
47
+ def setGC(self, arg0: glm.vec2) -> None:
48
+ ...
49
+ def setHalfDim(self, arg0: glm.vec2) -> None:
50
+ ...
51
+ def setVertices(self, arg0: collections.abc.Sequence[glm.vec2]) -> None:
52
+ ...
53
+ class DirectionalLight(Light):
54
+ def __init__(self, color: glm.vec3 = ..., intensity: typing.SupportsFloat = 1.0, direction: glm.vec3 = ...) -> None:
55
+ ...
56
+ def getColor(self) -> glm.vec3:
57
+ ...
58
+ def getDirection(self) -> glm.vec3:
59
+ ...
60
+ def getIntensity(self) -> float:
61
+ ...
62
+ class EBO:
63
+ def __init__(self, data: collections.abc.Sequence[typing.SupportsInt], drawType: typing.SupportsInt = 35044) -> None:
64
+ ...
65
+ def bind(self) -> None:
66
+ ...
67
+ def getSize(self) -> int:
68
+ ...
69
+ def unbind(self) -> None:
70
+ ...
71
+ def write(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, offset: typing.SupportsInt) -> None:
72
+ ...
73
+ class Engine:
74
+ def __init__(self, width: typing.SupportsInt, height: typing.SupportsInt, title: str, autoMouseGrab: bool = True) -> None:
75
+ ...
76
+ def getFrame(self) -> ...:
77
+ ...
78
+ def getKeyboard(self) -> ...:
79
+ ...
80
+ def getMouse(self) -> ...:
81
+ ...
82
+ def getResourceServer(self) -> ...:
83
+ ...
84
+ def getWindow(self) -> ...:
85
+ ...
86
+ def isRunning(self) -> bool:
87
+ ...
88
+ def render(self) -> None:
89
+ ...
90
+ def setResolution(self, width: typing.SupportsInt, height: typing.SupportsInt) -> None:
91
+ ...
92
+ def update(self) -> None:
93
+ ...
94
+ def useContext(self) -> None:
95
+ ...
96
+ class FBO:
97
+ def __init__(self, width: typing.SupportsInt, height: typing.SupportsInt, components: typing.SupportsInt) -> None:
98
+ ...
99
+ def bind(self) -> None:
100
+ ...
101
+ def clear(self, r: typing.SupportsFloat, g: typing.SupportsFloat, b: typing.SupportsFloat, a: typing.SupportsFloat) -> None:
102
+ ...
103
+ def getDepthID(self) -> int:
104
+ ...
105
+ def getHeight(self) -> int:
106
+ ...
107
+ def getID(self) -> int:
108
+ ...
109
+ def getTextureID(self) -> int:
110
+ ...
111
+ def getWidth(self) -> int:
112
+ ...
113
+ def unbind(self) -> None:
114
+ ...
115
+ class Frame:
116
+ def __init__(self, engine: Engine, width: typing.SupportsInt, height: typing.SupportsInt) -> None:
117
+ ...
118
+ def clear(self, r: typing.SupportsFloat, g: typing.SupportsFloat, b: typing.SupportsFloat, a: typing.SupportsFloat) -> None:
119
+ ...
120
+ def getAspectRatio(self) -> float:
121
+ ...
122
+ def getEBO(self) -> EBO:
123
+ ...
124
+ def getFBO(self) -> FBO:
125
+ ...
126
+ def getHeight(self) -> int:
127
+ ...
128
+ def getRenderHeight(self) -> int:
129
+ ...
130
+ def getRenderWidth(self) -> int:
131
+ ...
132
+ def getShader(self) -> Shader:
133
+ ...
134
+ def getVAO(self) -> VAO:
135
+ ...
136
+ def getVBO(self) -> VBO:
137
+ ...
138
+ def getWidth(self) -> int:
139
+ ...
140
+ @typing.overload
141
+ def render(self) -> None:
142
+ ...
143
+ @typing.overload
144
+ def render(self, x: typing.SupportsInt, y: typing.SupportsInt, width: typing.SupportsInt, height: typing.SupportsInt) -> None:
145
+ ...
146
+ def use(self) -> None:
147
+ ...
148
+ class Image:
149
+ def __init__(self, file: str) -> None:
150
+ ...
151
+ def getData(self) -> int:
152
+ ...
153
+ def getHeight(self) -> int:
154
+ ...
155
+ def getWidth(self) -> int:
156
+ ...
157
+ class Light:
158
+ def getColor(self) -> glm.vec3:
159
+ ...
160
+ def getIntensity(self) -> float:
161
+ ...
162
+ def setColor(self, arg0: glm.vec3) -> None:
163
+ ...
164
+ def setIntensity(self, arg0: typing.SupportsFloat) -> None:
165
+ ...
166
+ class Material:
167
+ def __init__(self, color: glm.vec3 = ..., albedo: Image = None, normal: Image = None) -> None:
168
+ ...
169
+ def getAlbedo(self) -> Image:
170
+ ...
171
+ def getColor(self) -> glm.vec3:
172
+ ...
173
+ def getNormal(self) -> Image:
174
+ ...
175
+ class Mesh:
176
+ def __init__(self, modelPath: str, generateUV: bool = False, generateNormals: bool = False) -> None:
177
+ ...
178
+ def get_indices(self) -> list[int]:
179
+ ...
180
+ def get_vertices(self) -> list[float]:
181
+ ...
182
+ class Node:
183
+ @typing.overload
184
+ def __init__(self, scene: Scene, mesh: ... = None, material: ... = None, position: glm.vec3 = ..., rotation: glm.quat = ..., scale: glm.vec3 = ...) -> None:
185
+ ...
186
+ @typing.overload
187
+ def __init__(self, parent: Node, mesh: ... = None, material: ... = None, position: glm.vec3 = ..., rotation: glm.quat = ..., scale: glm.vec3 = ...) -> None:
188
+ ...
189
+ @typing.overload
190
+ def __init__(self, scene: Scene, parent: Node) -> None:
191
+ ...
192
+ def setPosition(self, position: glm.vec3) -> None:
193
+ ...
194
+ def setRotation(self, rotation: glm.quat) -> None:
195
+ ...
196
+ def setScale(self, scale: glm.vec3) -> None:
197
+ ...
198
+ class Node2D:
199
+ @typing.overload
200
+ 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:
201
+ ...
202
+ @typing.overload
203
+ 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:
204
+ ...
205
+ @typing.overload
206
+ def __init__(self, arg0: ..., arg1: Node2D) -> None:
207
+ ...
208
+ @typing.overload
209
+ def setPosition(self, arg0: glm.vec2) -> None:
210
+ ...
211
+ @typing.overload
212
+ def setPosition(self, arg0: glm.vec3) -> None:
213
+ ...
214
+ def setRotation(self, arg0: typing.SupportsFloat) -> None:
215
+ ...
216
+ def setScale(self, arg0: glm.vec2) -> None:
217
+ ...
218
+ def setVelocity(self, arg0: glm.vec3) -> None:
219
+ ...
220
+ class PointLight(Light):
221
+ def __init__(self, color: glm.vec3 = ..., intensity: typing.SupportsFloat = 1.0, position: glm.vec3 = ..., range: typing.SupportsFloat = 15.0) -> None:
222
+ ...
223
+ def getColor(self) -> glm.vec3:
224
+ ...
225
+ def getIntensity(self) -> float:
226
+ ...
227
+ def getPosition(self) -> glm.vec3:
228
+ ...
229
+ def getRange(self) -> float:
230
+ ...
231
+ class Rigid:
232
+ 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:
233
+ ...
234
+ def constrainedTo(self, arg0: Rigid) -> bool:
235
+ ...
236
+ def getAABB(self) -> tuple[glm.vec2, glm.vec2]:
237
+ ...
238
+ def getCollider(self) -> Collider:
239
+ ...
240
+ def getColor(self) -> int:
241
+ ...
242
+ def getDegree(self) -> int:
243
+ ...
244
+ def getDensity(self) -> float:
245
+ ...
246
+ def getForces(self) -> ...:
247
+ ...
248
+ def getFriction(self) -> float:
249
+ ...
250
+ def getIndex(self) -> int:
251
+ ...
252
+ def getInertial(self) -> glm.vec3:
253
+ ...
254
+ def getInitial(self) -> glm.vec3:
255
+ ...
256
+ def getMass(self) -> float:
257
+ ...
258
+ def getMoment(self) -> float:
259
+ ...
260
+ def getNext(self) -> Rigid:
261
+ ...
262
+ def getNextUnusedColor(self) -> int:
263
+ ...
264
+ def getNode(self) -> Node2D:
265
+ ...
266
+ def getPosition(self) -> glm.vec3:
267
+ ...
268
+ def getPrev(self) -> Rigid:
269
+ ...
270
+ def getPrevVelocity(self) -> glm.vec3:
271
+ ...
272
+ def getRadius(self) -> float:
273
+ ...
274
+ def getSatur(self) -> int:
275
+ ...
276
+ def getSize(self) -> glm.vec2:
277
+ ...
278
+ def getSolver(self) -> Solver:
279
+ ...
280
+ def getVel(self) -> glm.vec3:
281
+ ...
282
+ def getVelocity(self) -> glm.vec3:
283
+ ...
284
+ def incrSatur(self) -> None:
285
+ ...
286
+ def insert(self, arg0: ...) -> None:
287
+ ...
288
+ def isColorUsed(self, arg0: typing.SupportsInt) -> bool:
289
+ ...
290
+ def isColored(self) -> bool:
291
+ ...
292
+ def remove(self, arg0: ...) -> None:
293
+ ...
294
+ def reserveColors(self, arg0: typing.SupportsInt) -> None:
295
+ ...
296
+ def resetColoring(self) -> None:
297
+ ...
298
+ def setCollider(self, arg0: Collider) -> None:
299
+ ...
300
+ def setFriction(self, arg0: typing.SupportsFloat) -> None:
301
+ ...
302
+ def setInertial(self, arg0: glm.vec3) -> None:
303
+ ...
304
+ def setInitial(self, arg0: glm.vec3) -> None:
305
+ ...
306
+ def setMass(self, arg0: typing.SupportsFloat) -> None:
307
+ ...
308
+ def setMoment(self, arg0: typing.SupportsFloat) -> None:
309
+ ...
310
+ def setNode(self, arg0: Node2D) -> None:
311
+ ...
312
+ def setPosition(self, arg0: glm.vec3) -> None:
313
+ ...
314
+ def setPrevVelocity(self, arg0: glm.vec3) -> None:
315
+ ...
316
+ def setRadius(self, arg0: typing.SupportsFloat) -> None:
317
+ ...
318
+ def setScale(self, arg0: glm.vec2) -> None:
319
+ ...
320
+ def setVelocity(self, arg0: glm.vec3) -> None:
321
+ ...
322
+ def useColor(self, arg0: typing.SupportsInt) -> None:
323
+ ...
324
+ def verifyColoring(self) -> bool:
325
+ ...
326
+ class Scene:
327
+ def __init__(self, engine: Engine) -> None:
328
+ ...
329
+ def add(self, light: ...) -> None:
330
+ ...
331
+ def getCamera(self) -> ...:
332
+ ...
333
+ def getShader(self) -> ...:
334
+ ...
335
+ def render(self) -> None:
336
+ ...
337
+ def setCamera(self, camera: ...) -> None:
338
+ ...
339
+ def update(self) -> None:
340
+ ...
341
+ class Shader:
342
+ @staticmethod
343
+ @typing.overload
344
+ def setUniform(*args, **kwargs) -> None:
345
+ ...
346
+ def __init__(self, vertexPath: str, fragmentPath: str) -> None:
347
+ ...
348
+ @typing.overload
349
+ def bind(self, name: str, texture: ..., slot: typing.SupportsInt) -> None:
350
+ ...
351
+ @typing.overload
352
+ def bind(self, name: str, textureArray: ..., slot: typing.SupportsInt) -> None:
353
+ ...
354
+ @typing.overload
355
+ def bind(self, name: str, tbo: ..., slot: typing.SupportsInt) -> None:
356
+ ...
357
+ @typing.overload
358
+ def bind(self, name: str, fbo: ..., slot: typing.SupportsInt) -> None:
359
+ ...
360
+ def getAttributes(self) -> ...:
361
+ ...
362
+ def getStride(self) -> int:
363
+ ...
364
+ def getUniformLocation(self, name: str) -> int:
365
+ ...
366
+ @typing.overload
367
+ def setUniform(self, name: str, value: typing.SupportsFloat) -> None:
368
+ ...
369
+ @typing.overload
370
+ def setUniform(self, name: str, value: typing.SupportsFloat) -> None:
371
+ ...
372
+ @typing.overload
373
+ def setUniform(self, name: str, value: typing.SupportsInt) -> None:
374
+ ...
375
+ @typing.overload
376
+ def setUniform(self, name: str, value: glm.vec3) -> None:
377
+ ...
378
+ def use(self) -> None:
379
+ ...
380
+ class Solver:
381
+ @staticmethod
382
+ def setGravity(*args, **kwargs) -> None:
383
+ ...
384
+ def __init__(self) -> None:
385
+ ...
386
+ def getAlpha(self) -> float:
387
+ ...
388
+ def getBeta(self) -> float:
389
+ ...
390
+ def getDt(self) -> float:
391
+ ...
392
+ def getGamma(self) -> float:
393
+ ...
394
+ def getGravity(self) -> ...:
395
+ ...
396
+ def getIterations(self) -> int:
397
+ ...
398
+ def getNumForces(self) -> int:
399
+ ...
400
+ def getNumRigids(self) -> int:
401
+ ...
402
+ def getPostStabilize(self) -> bool:
403
+ ...
404
+ @typing.overload
405
+ def insert(self, arg0: ...) -> None:
406
+ ...
407
+ @typing.overload
408
+ def insert(self, arg0: ...) -> None:
409
+ ...
410
+ @typing.overload
411
+ def remove(self, arg0: ...) -> None:
412
+ ...
413
+ @typing.overload
414
+ def remove(self, arg0: ...) -> None:
415
+ ...
416
+ def setAlpha(self, arg0: typing.SupportsFloat) -> None:
417
+ ...
418
+ def setBeta(self, arg0: typing.SupportsFloat) -> None:
419
+ ...
420
+ def setDt(self, arg0: typing.SupportsFloat) -> None:
421
+ ...
422
+ def setGamma(self, arg0: typing.SupportsFloat) -> None:
423
+ ...
424
+ def setIterations(self, arg0: typing.SupportsInt) -> None:
425
+ ...
426
+ def setPostStabilize(self, arg0: bool) -> None:
427
+ ...
428
+ class UBO:
429
+ @typing.overload
430
+ def __init__(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, drawType: typing.SupportsInt) -> None:
431
+ ...
432
+ @typing.overload
433
+ def __init__(self, data: ..., std: ..., drawType: typing.SupportsInt = 35044) -> None:
434
+ ...
435
+ def bind(self) -> None:
436
+ ...
437
+ def getSize(self) -> int:
438
+ ...
439
+ def unbind(self) -> None:
440
+ ...
441
+ def write(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, offset: typing.SupportsInt) -> None:
442
+ ...
443
+ class VAO:
444
+ def __init__(self, shader: Shader, vertices: VBO, indices: EBO) -> None:
445
+ ...
446
+ def bind(self) -> None:
447
+ ...
448
+ def bindAttribute(self, location: typing.SupportsInt, count: typing.SupportsInt, dataType: typing.SupportsInt, stride: typing.SupportsInt, offset: typing.SupportsInt, divisor: typing.SupportsInt) -> None:
449
+ ...
450
+ def bindAttributes(self, attribs: ..., std: ..., std: ..., std: ..., std: ..., std: ..., divisor: typing.SupportsInt) -> None:
451
+ ...
452
+ @typing.overload
453
+ def bindBuffer(self, buffer: VBO, attribs: ..., std: ..., std: ..., std: ..., std: ..., std: ..., divisor: typing.SupportsInt) -> None:
454
+ ...
455
+ @typing.overload
456
+ def bindBuffer(self, buffer: VBO, indices: EBO, attribs: ..., std: ..., std: ..., std: ..., std: ..., std: ..., divisor: typing.SupportsInt) -> None:
457
+ ...
458
+ def render(self, instanceCount: typing.SupportsInt = 0) -> None:
459
+ ...
460
+ class VBO:
461
+ @typing.overload
462
+ def __init__(self, data: typing_extensions.CapsuleType, size: typing.SupportsInt, drawType: typing.SupportsInt) -> None:
463
+ ...
464
+ @typing.overload
465
+ def __init__(self, data: collections.abc.Sequence, drawType: typing.SupportsInt = 35044) -> None:
466
+ ...
467
+ def bind(self) -> None:
468
+ ...
469
+ def getSize(self) -> int:
470
+ ...
471
+ def unbind(self) -> None:
472
+ ...
@@ -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
+ ...