File: MeshTetraStuffing.scn

package info (click to toggle)
sofa-framework 1.0~beta4-12
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 88,828 kB
  • ctags: 27,300
  • sloc: cpp: 151,126; ansic: 2,387; xml: 581; sh: 417; makefile: 68
file content (68 lines) | stat: -rw-r--r-- 3,296 bytes parent folder | download | duplicates (5)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?xml version="1.0"?>
<Node showForceFields="1">
<!--
    <CollisionPipeline verbose="0" name="CollisionPipeline"/>
    <BruteForceDetection name="N2" />
    <DiscreteIntersection/>
    <CollisionResponse response="default" name="collision response"/>
-->
    <Node name="input">
        <Mesh name="surface" filename="mesh/liver-smooth.obj"/>
        <MeshTetraStuffing name="stuffing" snapPoints="true" splitTetras="true" draw="true" size="0.7" alphaLong="0.3" alphaShort="0.4" inputPoints="@surface.points" inputTriangles="@surface.triangles" />
    </Node>
    <Node activated="1" name="output">
        <EulerImplicit name="odesolver" />
        <CGLinearSolver iterations="10" name="linear solver" tolerance="1.0e-9" threshold="1.0e-9" />

        <TetrahedronSetTopologyContainer name="volume" points="@../input/stuffing.outputPoints" tetras="@../input/stuffing.outputTetras"/>
        <MechanicalObject />
        <!-- Algorithms: used in DiagonalMass to compute the mass -->
        <TetrahedronSetGeometryAlgorithms name="GeomAlgo"  />
        <DiagonalMass massDensity="1" name="computed using mass density" />
        <TetrahedralCorotationalFEMForceField name="FEM" youngModulus="500" poissonRatio="0.3" method="large" />
        <BoxConstraint box="-6 0 -2 -2 1.5 3" />
        <!--<Sphere radius="0.4" />-->
<!--
        <Node name="Surface">
	  <include href="Objects/TriangleSetTopology.xml" />
	  <Tetra2TriangleTopologicalMapping object1="../../volume" object2="Container"/>
          <TriangularFEMForceField name="FEM" youngModulus="10" poissonRatio="0.3" method="large" /> 
        </Node>
-->
        <Node name="VM">
            <OglModel name="visual" filename="mesh/liver-smooth.obj"/>
            <BarycentricMapping object2="visual" />
        </Node>
        <Node name="Circumcenters">
            <PointSetTopologyContainer name="Container2"/>
            <PointSetTopologyModifier/>
            <Mesh2PointTopologicalMapping object1="volume" object2="Container2" tetraBaryCoords="0.25 0.25 0.25" />
            <MechanicalObject/>
            <BarycentricMapping/>
            <!--<CircumcenterMapping/>-->
            <!--<Sphere radius="0.1" />-->
        </Node>
    </Node>
    <Node activated="0" name="output-gpu">
        <EulerImplicit name="odesolver" />
        <CGLinearSolver iterations="10" name="linear solver" tolerance="1.0e-9" threshold="1.0e-9" />
        <Mesh name="volume" points="@../input/stuffing.outputPoints" tetras="@../input/stuffing.outputTetras"/>
        <MechanicalObject template="CudaVec3f" />
        <UniformMass totalmass="5" name="mass" />
        <TetrahedronFEMForceField name="FEM" youngModulus="500" poissonRatio="0.3" method="large" />
        <BoxConstraint box="-6 0 -2 -2 1.5 3" />
<!--
        <Node name="Surface">
	  <include href="Objects/TriangleSetTopology.xml" />
	  <Tetra2TriangleTopologicalMapping object1="../../volume" object2="Container"/>
          <MechanicalObject/>
          <IdentityMapping/>
          <TriangularFEMForceField name="FEM" youngModulus="10" poissonRatio="0.3" method="large" /> 
        </Node>
-->
        <Node name="VM">
            <OglModel name="visual" filename="mesh/liver-smooth.obj"/>
            <BarycentricMapping object2="visual" />
        </Node>
    </Node>
</Node>