|
1 | 1 | from stlib.geometries.plane import PlaneParameters |
2 | 2 | from stlib.collision import CollisionParameters |
3 | 3 | from stlib.collision import Collision |
| 4 | +from stlib.visual import Visual |
4 | 5 | from splib.core.enum_types import CollisionPrimitive |
| 6 | +from splib.simulation.headers import setupLagrangianCollision |
5 | 7 | import dataclasses |
6 | 8 | import numpy as np |
7 | 9 |
|
8 | 10 |
|
9 | 11 |
|
10 | 12 | def createScene(root): |
11 | 13 | ##Solvers |
12 | | - |
13 | | - |
| 14 | + setupLagrangianCollision(root, displayFlags = "showVisualModels",backgroundColor=[0.8, 0.8, 0.8, 1], |
| 15 | + parallelComputing = True,alarmDistance=0.3, contactDistance=0.02, |
| 16 | + frictionCoef=0.5, tolerance=1.0e-4, maxIterations=20) |
14 | 17 |
|
15 | 18 | ##Environement |
16 | | - |
17 | | - planes_lengthNormal = np.array([]) |
18 | | - planes_length = 1 |
19 | | - planes_width = 1 |
20 | | - planes_nbEdgeLength = 1 |
21 | | - planes_nbEdgeWidth = 1 |
| 19 | + planes_lengthNormal = np.array([0, 1, 0]) |
| 20 | + planes_lengthNbEdge = 1 |
| 21 | + planes_widthNbEdge = 2 |
| 22 | + planes_lengthSize = 30 |
| 23 | + planes_widthSize = 70 |
22 | 24 |
|
23 | 25 | plane1_collisionParams = CollisionParameters() |
24 | 26 | plane1_collisionParams.name = "UP" |
25 | 27 | plane1_collisionParams.primitives = [CollisionPrimitive.TRIANGLES] |
26 | 28 | plane1_collisionParams.kwargs = {"TriangleCollision" : {"moving" : False, "simulated" : False}} |
27 | | - plane1_collisionParams.geometry = PlaneParameters(np.array([0,0,0]), np.array([0,0,-1]), |
28 | | - planes_lengthNormal, planes_length, planes_width, planes_nbEdgeLength, planes_nbEdgeWidth) |
29 | | - root.add(Collision, plane1_collisionParams) |
| 29 | + plane1_collisionParams.geometry = PlaneParameters(np.array([15,0,1]), np.array([0,0,-1]), |
| 30 | + planes_lengthNormal, planes_lengthNbEdge, planes_widthNbEdge, planes_lengthSize, planes_widthSize) |
| 31 | + plane1 = root.add(Collision, parameters = plane1_collisionParams) |
| 32 | + #TODO being able to reuse already loaded geometry of current prefab to add any new sub prefab |
| 33 | + plane1_visu = plane1.addChild("Visu") |
| 34 | + plane1_visu.addObject("OglModel", name="VisualModel", src="@../Geometry/container") |
30 | 35 |
|
31 | 36 |
|
32 | 37 | plane2_collisionParams = CollisionParameters() |
33 | 38 | plane2_collisionParams.name = "DOWN" |
34 | 39 | plane2_collisionParams.primitives = [CollisionPrimitive.TRIANGLES] |
35 | 40 | plane2_collisionParams.kwargs = {"TriangleCollision" : {"moving" : False, "simulated" : False}} |
36 | | - plane2_collisionParams.geometry = PlaneParameters(np.array([0,0,0]), np.array([0,0,1]), |
37 | | - planes_lengthNormal, planes_length, planes_width, planes_nbEdgeLength, planes_nbEdgeWidth) |
38 | | - root.add(Collision, plane2_collisionParams) |
| 41 | + plane2_collisionParams.geometry = PlaneParameters(np.array([15,0,-20]), np.array([0,0,1]), |
| 42 | + planes_lengthNormal, planes_lengthNbEdge, planes_widthNbEdge, planes_lengthSize, planes_widthSize) |
| 43 | + plane2 = root.add(Collision, parameters = plane2_collisionParams) |
| 44 | + plane2_visu = plane2.addChild("Visu") |
| 45 | + plane2_visu.addObject("OglModel", name="VisualModel", src="@../Geometry/container") |
39 | 46 |
|
40 | 47 |
|
41 | 48 | ## Real models |
0 commit comments