1<element name="surface" required="0">
2  <description>The surface parameters</description>
3  <element name="bounce" required="0">
4    <description></description>
5    <element name="restitution_coefficient" type="double" default="0" min="0.0" max="1.0" required="0">
6      <description>Bounciness coefficient of restitution, from [0...1], where 0=no bounciness.</description>
7    </element>
8    <element name="threshold" type="double" default="100000" required="0">
9      <description>Bounce capture velocity, below which effective coefficient of restitution is 0.</description>
10    </element>
11  </element> <!-- End Bounce -->
12
13  <element name="friction" required="0">
14    <description></description>
15
16    <element name="torsional" required="0">
17      <description>Parameters for torsional friction</description>
18      <element name="coefficient" type="double" default="1.0" min="0.0" required="0">
19        <description>Torsional friction coefficient in the range of [0..1].</description>
20      </element>
21      <element name="use_patch_radius" type="bool" default="1" required="0">
22        <description>
23          If this flag is true,
24          torsional friction is calculated using the "patch_radius" parameter.
25          If this flag is set to false,
26          "surface_radius" (R) and contact depth (d)
27          are used to compute the patch radius as sqrt(R*d).
28        </description>
29      </element>
30      <element name="patch_radius" type="double" default="0" min="0.0" required="0">
31        <description>Radius of contact patch surface.</description>
32      </element>
33      <element name="surface_radius" type="double" default="0.0" min="0.0" required="0">
34        <description>Surface radius on the point of contact.</description>
35      </element>
36      <element name="ode" required="0">
37        <description>Torsional friction parameters for ODE</description>
38        <element name="slip" type="double" default="0.0" required="0">
39          <description>Force dependent slip for torsional friction, between the range of [0..1].</description>
40        </element>
41      </element> <!-- End ODE -->
42    </element> <!-- End torsional -->
43
44    <element name="ode" required="0">
45      <description>ODE friction parameters</description>
46      <element name="mu" type="double" default="1" min="0.0" required="0">
47        <description>Coefficient of friction in the range of [0..1].</description>
48      </element>
49      <element name="mu2" type="double" default="1" min="0.0" required="0">
50        <description>Second coefficient of friction in the range of [0..1]</description>
51      </element>
52      <element name="fdir1" type="vector3" default="0 0 0" required="0">
53        <description>3-tuple specifying direction of mu1 in the collision local reference frame.</description>
54      </element>
55      <element name="slip1" type="double" default="0.0" required="0">
56        <description>Force dependent slip direction 1 in collision local frame, between the range of [0..1].</description>
57      </element>
58      <element name="slip2" type="double" default="0.0" required="0">
59        <description>Force dependent slip direction 2 in collision local frame, between the range of [0..1].</description>
60      </element>
61    </element> <!-- End ODE -->
62    <element name="bullet" required="0">
63      <element name="friction" type="double" default="1" min="0.0" required="0">
64        <description>Coefficient of friction in the range of [0..1].</description>
65      </element>
66      <element name="friction2" type="double" default="1" min="0.0" required="0">
67        <description>Coefficient of friction in the range of [0..1].</description>
68      </element>
69      <element name="fdir1" type="vector3" default="0 0 0" required="0">
70        <description>3-tuple specifying direction of mu1 in the collision local reference frame.</description>
71      </element>
72      <element name="rolling_friction" type="double" default="1" required="0">
73        <description> coefficient of friction in the range of [0..1]</description>
74      </element>
75    </element> <!-- End Bullet -->
76  </element> <!-- End Friction -->
77
78  <element name="contact" required="0">
79    <description></description>
80    <element name="collide_without_contact" type="bool" default="0" required="0">
81      <description>Flag to disable contact force generation, while still allowing collision checks and contact visualization to occur.</description>
82    </element>
83    <element name="collide_without_contact_bitmask" type="unsigned int" default="1" required="0">
84      <description>Bitmask for collision filtering when collide_without_contact is on </description>
85    </element>
86
87    <element name="collide_bitmask" type="unsigned int" default="65535" required="0">
88      <description>Bitmask for collision filtering. This will override collide_without_contact</description>
89    </element>
90
91    <element name="poissons_ratio" type="double" default="0.3" required="0">
92      <description>
93        Poisson's ratio is the ratio between transverse and axial strain.
94        This value must lie between (-1, 0.5).  Defaults to 0.3 for typical steel.
95        Note typical silicone elastomers have Poisson's ratio near 0.49 ~ 0.50.
96
97        For reference, approximate values for Material:(Young's Modulus, Poisson's Ratio)
98        for some of the typical materials are:
99          Plastic:  (1e8 ~ 3e9 Pa,  0.35 ~ 0.41),
100          Wood:     (4e9 ~ 1e10 Pa, 0.22 ~ 0.50),
101          Aluminum: (7e10 Pa,       0.32 ~ 0.35),
102          Steel:    (2e11 Pa,       0.26 ~ 0.31).
103      </description>
104    </element>
105    <element name="elastic_modulus" type="double" default="-1" required="0">
106      <description>
107        Young's Modulus in SI derived unit Pascal.
108        Defaults to -1.  If value is less or equal to zero,
109        contact using elastic modulus (with Poisson's Ratio) is disabled.
110
111        For reference, approximate values for Material:(Young's Modulus, Poisson's Ratio)
112        for some of the typical materials are:
113          Plastic:  (1e8 ~ 3e9 Pa,  0.35 ~ 0.41),
114          Wood:     (4e9 ~ 1e10 Pa, 0.22 ~ 0.50),
115          Aluminum: (7e10 Pa,       0.32 ~ 0.35),
116          Steel:    (2e11 Pa,       0.26 ~ 0.31).
117      </description>
118    </element>
119
120    <element name="ode" required="0">
121      <description>ODE contact parameters</description>
122      <element name="soft_cfm" type="double" default="0" required="0">
123        <description>Soft constraint force mixing.</description>
124      </element>
125      <element name="soft_erp" type="double" default="0.2" required="0">
126        <description>Soft error reduction parameter</description>
127      </element>
128      <element name="kp" type="double" default="1000000000000.0" required="0">
129        <description>dynamically "stiffness"-equivalent coefficient for contact joints</description>
130      </element>
131      <element name="kd" type="double" default="1.0" required="0">
132        <description>dynamically "damping"-equivalent coefficient for contact joints</description>
133      </element>
134      <element name="max_vel" type="double" default="0.01" required="0">
135        <description>maximum contact correction velocity truncation term.</description>
136      </element>
137      <element name="min_depth" type="double" default="0" required="0">
138        <description>minimum allowable depth before contact correction impulse is applied</description>
139      </element>
140    </element> <!-- End ODE -->
141    <element name="bullet" required="0">
142      <description>Bullet contact parameters</description>
143      <element name="soft_cfm" type="double" default="0" required="0">
144        <description>Soft constraint force mixing.</description>
145      </element>
146      <element name="soft_erp" type="double" default="0.2" required="0">
147        <description>Soft error reduction parameter</description>
148      </element>
149      <element name="kp" type="double" default="1000000000000.0" required="0">
150        <description>dynamically "stiffness"-equivalent coefficient for contact joints</description>
151      </element>
152      <element name="kd" type="double" default="1.0" required="0">
153        <description>dynamically "damping"-equivalent coefficient for contact joints</description>
154      </element>
155      <element name="split_impulse" type="bool" default="1" required="1">
156        <description>Similar to ODE's max_vel implementation.  See http://bulletphysics.org/mediawiki-1.5.8/index.php/BtContactSolverInfo#Split_Impulse for more information.</description>
157      </element>
158      <element name="split_impulse_penetration_threshold" type="double" default="-0.01" required="1">
159        <description>Similar to ODE's max_vel implementation.  See http://bulletphysics.org/mediawiki-1.5.8/index.php/BtContactSolverInfo#Split_Impulse for more information.</description>
160      </element>
161    </element> <!-- End Bullet -->
162  </element> <!-- End Contact -->
163
164  <!-- for deformable bodies -->
165  <element name="soft_contact" required="0">
166    <element name="dart" required="0">
167      <description>soft contact pamameters based on paper:
168             http://www.cc.gatech.edu/graphics/projects/Sumit/homepage/papers/sigasia11/jain_softcontacts_siga11.pdf
169      </description>
170      <element name="bone_attachment" type="double" default="100.0" required="1">
171        <description>This is variable k_v in the soft contacts paper.  Its unit is N/m.</description>
172      </element>
173      <element name="stiffness" type="double" default="100.0" required="1">
174        <description>This is variable k_e in the soft contacts paper.  Its unit is N/m.</description>
175      </element>
176      <element name="damping" type="double" default="10.0" required="1">
177        <description>Viscous damping of point velocity in body frame.  Its unit is N/m/s.</description>
178      </element>
179      <element name="flesh_mass_fraction" type="double" default="0.05" required="1">
180        <description>Fraction of mass to be distributed among deformable nodes.</description>
181      </element>
182    </element> <!-- dart -->
183  </element> <!-- soft_contact -->
184
185</element> <!-- End Surface -->
186