TutorialCollisionDynamicGroups
From SOFAWiki
Tutorial : Collision Cubes
- Previous Tutorial: TutorialCollisionMultipleGroups
Example showing multiple interactions managed by dynamic collision groups
This example is distributed inexamples/Tutorials/Basic/TutorialCollisionDynamicGroups.scnwithin SofaSVN and SOFA distributions starting from 1.0 beta 4.
Graph
XML Description
<?xml version="1.0" ?> <!-- See http://wiki.sofa-framework.org/mediawiki/index.php/TutorialCollisionMultipleGroups.scn --> <Node name="root" dt="0.01" gravity="0 0 -9.81" showForceFields="1" showCollisionModels="1"> <!-- Basic Components to perform the collision detection --> <CollisionPipeline/> <BruteForceDetection/> <DefaultContactManager/> <MinProximityIntersection alarmDistance="0.5" contactDistance="0.2"/> <!-- Component Creating dynamic collision group --> <DefaultCollisionGroupManager/> <Node name="CubeSphere1"> <EulerImplicitSolver name="EulerImplicit" /> <CGLinearSolver name="CG Solver" /> <MechanicalObject name="Particles" template="Vec3d" position="0 0 1 1 0 1 0 1 1 1 1 1 0 0 2 1 0 2 0 1 2 1 1 2" translation="-2 1 2" /> <MeshTopology name="Topology" hexas="0 4 6 2 1 5 7 3" /> <UniformMass name="Mass" totalmass="1" /> <MeshSpringForceField name="Springs" stiffness="100" damping="1" /> <!-- Collision Model --> <SphereModel name="Spheres Cube1" radius="0.4"/> </Node> <Node name="CubeSphere2"> <EulerImplicitSolver name="EulerImplicit" /> <CGLinearSolver name="CG Solver" /> <MechanicalObject name="Particles" template="Vec3d" position="0 0 1 1 0 1 0 1 1 1 1 1 0 0 2 1 0 2 0 1 2 1 1 2" translation="0 0 6"/> <MeshTopology name="Topology" hexas="0 4 6 2 1 5 7 3" /> <UniformMass name="Mass" totalmass="1" /> <MeshSpringForceField name="Springs" stiffness="100" damping="1" /> <!-- Collision Model --> <SphereModel name="Spheres Cube2" radius="0.4"/> </Node> <Node name="CubeGeometry1"> <EulerImplicitSolver name="EulerImplicit" /> <CGLinearSolver name="CG Solver" /> <MechanicalObject name="Particles" template="Vec3d" position="0 0 1 1 0 1 0 1 1 1 1 1 0 0 2 1 0 2 0 1 2 1 1 2" translation="0 1 2"/> <MeshTopology name="Topology" hexas="0 4 6 2 1 5 7 3" /> <UniformMass name="Mass" totalmass="1" /> <MeshSpringForceField name="Springs" stiffness="100" damping="1" /> <!-- Collision Models --> <TriangleModel name="Triangles CubeGeometry1"/> <LineModel name="Lines CubeGeometry1"/> <PointModel name="Points CubeGeometry1"/> </Node> <Node name="CubeGeometry2"> <EulerImplicitSolver name="EulerImplicit" /> <CGLinearSolver name="CG Solver" /> <MechanicalObject name="Particles" template="Vec3d" position="0 0 1 1 0 1 0 1 1 1 1 1 0 0 2 1 0 2 0 1 2 1 1 2" translation="2 1 2"/> <MeshTopology name="Topology" hexas="0 4 6 2 1 5 7 3" /> <UniformMass name="Mass" totalmass="1" /> <MeshSpringForceField name="Springs" stiffness="100" damping="1" /> <!-- Collision Models --> <TriangleModel name="Triangles CubeGeometry2"/> <LineModel name="Lines CubeGeometry2"/> <PointModel name="Points CubeGeometry2"/> </Node> <Node name="SaladBowl"> <MeshTopology name="Topology Salad Bowl" filename="mesh/SaladBowl.obj"/> <MechanicalObject name="Particles Salad Bowl" scale="10"/> <TriangleModel name="Triangles Salad Bowl" moving="0" simulated="0"/> <LineModel name="Lines Salad Bowl" moving="0" simulated="0"/> <PointModel name="Points Salad Bowl" moving="0" simulated="0"/> </Node> </Node>
