<Node name="Root" gravity="0 0 -9.81" dt="0.02">
    <RequiredPlugin name="Sofa.Component.Collision.Detection.Algorithm"/> <!-- Needed to use components [BVHNarrowPhase BruteForceBroadPhase CollisionPipeline] -->
    <RequiredPlugin name="Sofa.Component.Collision.Detection.Intersection"/> <!-- Needed to use components [MinProximityIntersection] -->
    <RequiredPlugin name="Sofa.Component.Collision.Response.Contact"/> <!-- Needed to use components [CollisionResponse] -->
    <RequiredPlugin name="Sofa.Component.IO.Mesh"/> <!-- Needed to use components [MeshOBJLoader] -->
    <RequiredPlugin name="Sofa.Component.LinearSolver.Iterative"/> <!-- Needed to use components [CGLinearSolver] -->
    <RequiredPlugin name="Sofa.Component.Mapping.Linear"/> <!-- Needed to use components [BarycentricMapping] -->
    <RequiredPlugin name="Sofa.Component.Mass"/> <!-- Needed to use components [UniformMass] -->
    <RequiredPlugin name="Sofa.Component.MechanicalLoad"/> <!-- Needed to use components [PlaneForceField] -->
    <RequiredPlugin name="Sofa.Component.ODESolver.Backward"/> <!-- Needed to use components [EulerImplicitSolver] -->
    <RequiredPlugin name="Sofa.Component.SolidMechanics.Spring"/> <!-- Needed to use components [MeshSpringForceField] -->
    <RequiredPlugin name="Sofa.Component.StateContainer"/> <!-- Needed to use components [MechanicalObject] -->
    <RequiredPlugin name="Sofa.Component.Topology.Container.Grid"/> <!-- Needed to use components [SparseGridTopology] -->
    <RequiredPlugin name="Sofa.Component.Visual"/> <!-- Needed to use components [VisualStyle] -->
    <RequiredPlugin name="Sofa.GL.Component.Rendering3D"/> <!-- Needed to use components [OglModel] -->
    <VisualStyle displayFlags="showVisual showForceFields" />
    <CollisionPipeline name="DefaultCollisionPipeline" verbose="0" draw="0" depth="6" />
    <BruteForceBroadPhase/>
    <BVHNarrowPhase/>
    <MinProximityIntersection name="Proximity" alarmDistance="0.3" contactDistance="0.2" />
    <CollisionResponse name="Response" response="PenalityContactForceField" />
    <DefaultAnimationLoop/>

    <Node name="Springs" gravity="0 -9.81 0">
        <EulerImplicitSolver name="default13" rayleighStiffness="0.5" rayleighMass="0.5" vdamping="0" />
        <CGLinearSolver template="GraphScattered" name="default14" iterations="25" tolerance="1e-05" threshold="1e-08" />
        <SparseGridTopology name="default15" fileTopology="mesh/dragon.obj" n="4 4 4" />
        <MechanicalObject template="Vec3" name="default16" translation="0 0 1.5" rotation="90 0 -90" scale3d="0.2 0.2 0.2" restScale="1" />
        <UniformMass template="Vec3" name="default17" totalMass="1" />
        <PlaneForceField name="Floor" normal="0 0.2 1" stiffness="100" damping="1" showPlane= "1"/>
        <PlaneForceField name="Wall" normal="0 -1 0" d="-4" stiffness="100" damping="1" showPlane= "1"/>
        <Node name="VisualNode" gravity="0 -9.81 0">
            <MeshOBJLoader name="meshLoader_0" filename="mesh/dragon.obj" handleSeams="1" />
            <OglModel name="Visual" src="@meshLoader_0" material="Default Diffuse 1 0 1 0 1 Ambient 1 0 0.2 0 1 Specular 0 0 1 0 1 Emissive 0 0 1 0 1 Shininess 0 45" />
            <BarycentricMapping template="Vec3,Vec3" name="default18" input="@.." output="@Visual" />
        </Node>
        <MeshSpringForceField template="Vec3" name="Springs" stiffness="50" damping="1" linesStiffness="400" linesDamping="4" trianglesStiffness="400" trianglesDamping="4" quadsStiffness="400" quadsDamping="4" tetrahedraStiffness="400" tetrahedraDamping="4" cubesStiffness="400" cubesDamping="4" />
    </Node>
</Node>
