1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
<!-- CAUTION: to be able to test this example you must compile first SOFA with the flag SOFA_HAVE_SENSABLE active
and then you must run the sensAble project-->
<Node name="root" dt="0.005" showBehaviorModels="0" showCollisionModels="1" showMappings="0" showForceFields="0" >
<Object type="CollisionPipeline" name="pipeline" depth="6" verbose="0"/>
<Object type="BruteForceDetection" name="detection" />
<Object type="CollisionResponse" name="response" response="default" />
<Object type="MinProximityIntersection" name="Proximity" alarmDistance="0.2" contactDistance="0.2" />
<Node name="Liver" >
<Object type="MeshLoader" filename="mesh/liver.msh" />
<Object type="MechanicalObject" />
<include href="Objects/TetrahedronSetTopology.xml" />
<Node name="CollisionModel" >
<include href="Objects/TriangleSetTopology.xml" />
<Object type="Tetra2TriangleTopologicalMapping" object1="../../Container" object2="Container"/>
<Object type="TriangleSet" contactStiffness="100" />
</Node>
</Node>
<Node name="Instrument" >
<Object type="CarvingManager" key="0" />
<Object type="SensAble" xform="0 0 0 0.0 1.0 0.0 0.0" />
<Object type="MechanicalObject" name="instrumentState" template="Rigid" />
<Node name="VisualModel" >
<Object type="OglModel" name="InstrumentVisualModel" fileMesh="mesh/sphere.obj" color="1.0 0.2 0.2 1.0" scale="0.15"/>
<Object type="RigidMapping" name="MM->VM mapping" object1="instrumentState" object2="InstrumentVisualModel" />
</Node>
<Node name="CollisionTip">
<Object type="SphereModel" radius="0.15" active="0" />
<MechanicalObject name="sphere_tip" />
<Object type="RigidMapping" isMechanical="false" object1="instrumentState" object2="sphere_tip" index="0" />
</Node>
</Node>
</Node>
|