diff --git a/Bindings/Python/examples/StaticOptimization/data/arm26.osim b/Bindings/Python/examples/StaticOptimization/data/arm26.osim
new file mode 100644
index 0000000000..4cd2f1cc66
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/data/arm26.osim
@@ -0,0 +1,1617 @@
+
+
+
+
+
+ The OpenSim Development Team (Reinbolt, J; Seth, A; Habib, A; Hamner, S) adapted from a model originally created by Kate Holzbaur (11/22/04)
+
+ License:
+ Creative Commons (CCBY 3.0). You are free to distribute, remix, tweak, and build upon this work, even commercially,
+ as long as you credit us for the original creation.
+ http://creativecommons.org/licenses/by/3.0/
+
+
+ Holzbaur, K.R.S., Murray, W.M., Delp, S.L. A Model of the Upper Extremity for Simulating Musculoskeletal Surgery and Analyzing Neuromuscular Control.
+ Annals of Biomedical Engineering, vol 33, pp 829–840, 2005
+
+ meters
+ N
+
+ 0 -9.8066 0
+
+
+
+
+ 0
+ 0 0 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ ground_ribs.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_spine.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_skull.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_jaw.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_r_clavicle.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_r_scapula.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ 1.37532 -0.294612 2.43596
+ -0.043905 -0.0039 0.1478
+ true
+ x
+
+
+
+
+
+
+
+ 1 1 1
+
+ 1.37532 -0.294612 2.43596 -0.043905 -0.0039 0.1478
+
+ false
+
+ 4
+
+ 0.003
+ 0.03
+
+
+
+
+
+
+ 1.864572
+ 0 -0.180496 0
+ 0.01481
+ 0.004551
+ 0.013193
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ r_shoulder_elev
+
+ -0.05889802 0.0023 0.99826136
+
+
+
+ 1 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0.99826136 -0 0.05889802
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 1 0 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 0 1
+
+
+
+ 0
+
+
+
+
+ ground
+ -0.017545 -0.007 0.17
+ 0 0 0
+ 0 0 0
+ 0 0 0
+
+
+
+
+
+ rotational
+
+ 0
+
+ 0
+
+ -1.57079633 3.14159265
+
+ false
+
+ false
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ arm_r_humerus.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ 3.00162 -0.853466 2.57419
+ -0.0078 -0.0041 -0.0014
+ true
+ z
+
+
+
+
+
+
+
+ 1 1 1
+
+ 3.00162 -0.853466 2.57419 -0.0078 -0.0041 -0.0014
+
+ false
+
+ 4
+
+ 0.035 0.02 0.02
+
+
+ -2.00434 -1.00164 0.975465
+ 0.0033 0.0073 0.0003
+ true
+ -y
+
+
+
+
+
+
+
+ 1 1 1
+
+ -2.00434 -1.00164 0.975465 0.0033 0.0073 0.0003
+
+ false
+
+ 4
+
+ 0.025 0.02 0.02
+
+
+ -0.14015 -0.00628319 0.154985
+ 0.0028 -0.2919 -0.0069
+ true
+ all
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0.14015 -0.00628319 0.154985 0.0028 -0.2919 -0.0069
+
+ false
+
+ 4
+
+ 0.016
+ 0.05
+
+
+
+
+
+
+ 1.534315
+ 0 -0.181479 0
+ 0.019281
+ 0.001571
+ 0.020062
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ r_elbow_flex
+
+ 0.04940001 0.03660001 0.99810825
+
+
+
+ 1 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0.99810825 0 -0.04940001
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 1 0 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 0 1
+
+
+
+ 0
+
+
+
+
+ r_humerus
+ 0.0061 -0.2904 -0.0123
+ 0 0 0
+ 0 0 0
+ 0 0 0
+
+
+
+
+
+ rotational
+
+ 0
+
+ 0
+
+ 0 2.26892803
+
+ false
+
+ false
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ arm_r_ulna.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_radius.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_lunate.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_scaphoid.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_pisiform.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_triquetrum.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_capitate.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_trapezium.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_trapezoid.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_hamate.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_1mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_thumbprox.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_thumbdist.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.05365 -0.01373 0.14723
+ ground
+
+
+ -0.02714 -0.11441 -0.00664
+ r_humerus
+
+
+ -0.03184 -0.22637 -0.01217
+ r_humerus
+
+
+ -0.01743 -0.26757 -0.01208
+ r_humerus
+
+
+ -0.0219 0.01046 -0.00078
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+ TRIlonghh
+ hybrid
+ -1 -1
+
+
+ TRIlongglen
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 798.52
+
+ 0.134
+
+ 0.143
+
+ 0.20943951
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.00599 -0.12646 0.00428
+ r_humerus
+
+
+ -0.02344 -0.14528 0.00928
+ r_humerus
+
+
+ -0.03184 -0.22637 -0.01217
+ r_humerus
+
+
+ -0.01743 -0.26757 -0.01208
+ r_humerus
+
+
+ -0.0219 0.01046 -0.00078
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 624.3
+
+ 0.1138
+
+ 0.098
+
+ 0.15707963
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.00838 -0.13695 -0.00906
+ r_humerus
+
+
+ -0.02601 -0.15139 -0.0108
+ r_humerus
+
+
+ -0.03184 -0.22637 -0.01217
+ r_humerus
+
+
+ -0.01743 -0.26757 -0.01208
+ r_humerus
+
+
+ -0.0219 0.01046 -0.00078
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 624.3
+
+ 0.1138
+
+ 0.0908
+
+ 0.15707963
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.039235 0.00347 0.14795
+ ground
+
+
+ -0.028945 0.01391 0.15639
+ ground
+
+
+ 0.02131 0.01793 0.01028
+ r_humerus
+
+
+ 0.02378 -0.00511 0.01201
+ r_humerus
+
+
+ 0.01345 -0.02827 0.00136
+ r_humerus
+
+
+ 0.01068 -0.07736 -0.00165
+ r_humerus
+
+
+ 0.01703 -0.12125 0.00024
+ r_humerus
+
+
+ 0.0228 -0.1754 -0.0063
+ r_humerus
+
+
+ 0.00751 -0.04839 0.02179
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ BIClonghh
+ hybrid
+ 2 3
+
+
+
+
+
+
+ 1
+
+ 624.3
+
+ 0.1157
+
+ 0.2723
+
+ 0
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ 0.004675 -0.01231 0.13475
+ ground
+
+
+ -0.007075 -0.04004 0.14507
+ ground
+
+
+ 0.01117 -0.07576 -0.01101
+ r_humerus
+
+
+ 0.01703 -0.12125 -0.01079
+ r_humerus
+
+
+ 0.0228 -0.1754 -0.0063
+ r_humerus
+
+
+ 0.00751 -0.04839 0.02179
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+
+
+
+ 1
+
+ 435.56
+
+ 0.1321
+
+ 0.1923
+
+ 0
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ 0.0068 -0.1739 -0.0036
+ r_humerus
+
+
+ -0.0032 -0.0239 0.0009
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 987.26
+
+ 0.0858
+
+ 0.0535
+
+ 0
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+
+
+
+
+
+
+ ground
+
+ -0.01256 0.04 0.17
+
+ false
+
+
+
+ r_humerus
+
+ 0.005 -0.2904 0.03
+
+ false
+
+
+
+ r_ulna_radius_hand
+
+ -0.0011 -0.23559 0.0943
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Bindings/Python/examples/StaticOptimization/data/arm26_InverseKinematics.mot b/Bindings/Python/examples/StaticOptimization/data/arm26_InverseKinematics.mot
new file mode 100644
index 0000000000..abd46f165b
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/data/arm26_InverseKinematics.mot
@@ -0,0 +1,132 @@
+Coordinates
+version=1
+nRows=121
+nColumns=3
+inDegrees=yes
+
+Units are S.I. units (second, meters, Newtons, ...)
+Angles are in degrees.
+
+endheader
+time r_shoulder_elev r_elbow_flex
+ 0.00000000 -0.03394423 -0.05440752
+ 0.00833333 -0.03657365 0.01417949
+ 0.01666667 -0.03908443 0.08815700
+ 0.02500000 -0.04126018 0.17357577
+ 0.03333333 -0.04302262 0.27576038
+ 0.04166667 -0.04431782 0.39945264
+ 0.05000000 -0.04510954 0.54869991
+ 0.05833333 -0.04537808 0.72677247
+ 0.06666667 -0.04512001 0.93612489
+ 0.07500000 -0.04434823 1.17840384
+ 0.08333333 -0.04309148 1.45449954
+ 0.09166667 -0.04139335 1.76463436
+ 0.10000000 -0.03931062 2.10847927
+ 0.10833333 -0.03691091 2.48528740
+ 0.11666667 -0.03427009 2.89403350
+ 0.12500000 -0.03146918 3.33354847
+ 0.13333333 -0.02859119 3.80263942
+ 0.14166667 -0.02571790 4.30018788
+ 0.15000000 -0.02292668 4.82522141
+ 0.15833333 -0.02028769 5.37695629
+ 0.16666667 -0.01786127 5.95481213
+ 0.17500000 -0.01569588 6.55840109
+ 0.18333333 -0.01382651 7.18749683
+ 0.19166667 -0.01227362 7.84198911
+ 0.20000000 -0.01104271 8.52183068
+ 0.20833333 -0.01063203 9.22680499
+ 0.21666667 -0.01014548 9.95712408
+ 0.22500000 -0.00994868 10.71250561
+ 0.23333333 -0.00999836 11.49266577
+ 0.24166667 -0.01024449 12.29720264
+ 0.25000000 -0.01063082 13.12558584
+ 0.25833333 -0.01109740 13.97716626
+ 0.26666667 -0.01158331 14.85119468
+ 0.27500000 -0.01202923 15.74684640
+ 0.28333333 -0.01237995 16.66324846
+ 0.29166667 -0.01258656 17.59950631
+ 0.30000000 -0.01260837 18.55472747
+ 0.30833333 -0.01241432 19.52804021
+ 0.31666667 -0.01198399 20.51860647
+ 0.32500000 -0.01058758 21.52207195
+ 0.33333333 -0.00959073 22.54440307
+ 0.34166667 -0.00836629 23.58174648
+ 0.35000000 -0.00694125 24.63344306
+ 0.35833333 -0.00534967 25.69885458
+ 0.36666667 -0.00363212 26.77735633
+ 0.37500000 -0.00183366 27.86832623
+ 0.38333333 -0.00000136 28.97113454
+ 0.39166667 0.00181800 30.08513509
+ 0.40000000 0.00358032 31.20965795
+ 0.40833333 0.00428682 32.34819524
+ 0.41666667 0.00590309 33.49117787
+ 0.42500000 0.00738472 34.64241319
+ 0.43333333 0.00871270 35.80113533
+ 0.44166667 0.00987599 36.96654805
+ 0.45000000 0.01087179 38.13783197
+ 0.45833333 0.01170564 39.31414404
+ 0.46666667 0.01239170 40.49461673
+ 0.47500000 0.01295331 41.67835672
+ 0.48333333 0.01327011 42.86586863
+ 0.49166667 0.01377298 44.05247968
+ 0.50000000 0.01343804 45.24176825
+ 0.50833333 0.01425886 46.42911029
+ 0.51666667 0.01516679 47.61407250
+ 0.52500000 0.01576730 48.79835999
+ 0.53333333 0.01655188 49.97933728
+ 0.54166667 0.01756672 51.15600652
+ 0.55000000 0.01883929 52.32746631
+ 0.55833333 0.02037991 53.49290785
+ 0.56666667 0.02218621 54.65157998
+ 0.57500000 0.02424569 55.80276096
+ 0.58333333 0.02653710 56.94574291
+ 0.59166667 0.02903146 58.07982547
+ 0.60000000 0.03169288 59.20431944
+ 0.60833333 0.03447969 60.31855210
+ 0.61666667 0.03734550 61.42186798
+ 0.62500000 0.04024030 62.51362855
+ 0.63333333 0.04311165 63.59321090
+ 0.64166667 0.04589217 64.66132688
+ 0.65000000 0.04854040 65.71428274
+ 0.65833333 0.05102086 66.75336239
+ 0.66666667 0.05327580 67.77793606
+ 0.67500000 0.05525461 68.78735815
+ 0.68333333 0.05691445 69.78095927
+ 0.69166667 0.05811323 70.75864875
+ 0.70000000 0.05876137 71.71835406
+ 0.70833333 0.05918762 72.66006045
+ 0.71666667 0.05930941 73.58300983
+ 0.72500000 0.05907709 74.48642151
+ 0.73333333 0.05846323 75.36950928
+ 0.74166667 0.05746128 76.23150702
+ 0.75000000 0.05608208 77.07169562
+ 0.75833333 0.05434973 77.88942823
+ 0.76666667 0.05229773 78.68415149
+ 0.77500000 0.04996565 79.45542034
+ 0.78333333 0.04739652 80.20290345
+ 0.79166667 0.04463464 80.92637757
+ 0.80000000 0.04172377 81.62570894
+ 0.80833333 0.03870563 82.30082252
+ 0.81666667 0.03561853 82.95165954
+ 0.82500000 0.03249633 83.57812722
+ 0.83333333 0.02936748 84.18004462
+ 0.84166667 0.02625434 84.75709092
+ 0.85000000 0.02322870 85.31019088
+ 0.85833333 0.01999313 85.83566423
+ 0.86666667 0.01687593 86.33409957
+ 0.87500000 0.01384316 86.80436866
+ 0.88333333 0.01087758 87.24519349
+ 0.89166667 0.00795763 87.65522203
+ 0.90000000 0.00505936 88.03313282
+ 0.90833333 0.00215732 88.37776134
+ 0.91666667 -0.00077423 88.68824068
+ 0.92500000 -0.00376022 88.96414621
+ 0.93333333 -0.00682352 89.20563380
+ 0.94166667 -0.00998396 89.41355950
+ 0.95000000 -0.01325729 89.58957023
+ 0.95833333 -0.01665443 89.73615585
+ 0.96666667 -0.02018099 89.85665620
+ 0.97500000 -0.02383697 89.95521895
+ 0.98333333 -0.02761671 90.03670904
+ 0.99166667 -0.03150905 90.10657304
+ 1.00000000 -0.03549721 90.17066638
diff --git a/Bindings/Python/examples/StaticOptimization/static_optim/__init__.py b/Bindings/Python/examples/StaticOptimization/static_optim/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/Bindings/Python/examples/StaticOptimization/static_optim/constraints.py b/Bindings/Python/examples/StaticOptimization/static_optim/constraints.py
new file mode 100644
index 0000000000..ab3def6035
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/static_optim/constraints.py
@@ -0,0 +1,31 @@
+"""
+Constraints class.
+
+ConstraintAccelerationTarget create a strict constraint for the optimization such as the generalized accelerations
+computed from muscle activation equal the generalized accelerations from inverse kinematics.
+"""
+import numpy as np
+from scipy.optimize import approx_fprime
+
+
+class ConstraintAccelerationTarget:
+ def __init__(self):
+ pass
+
+ def constraints(self, x, idx=None):
+ """callback for calculating the constraints."""
+ qddot_from_muscles = self.forward_dynamics(x)
+ const = [
+ self.actual_qddot[idx_q] - qddot_from_muscles.get(idx_q)
+ for idx_q in range(qddot_from_muscles.size())
+ ]
+ if idx is not None:
+ return const[idx]
+ else:
+ return const
+
+ def jacobian(self, x):
+ jac = np.ndarray([self.n_dof, self.n_actuators])
+ for idof in range(self.n_dof):
+ jac[idof, :] = approx_fprime(x, self.constraints, 1e-10, idof)
+ return jac
diff --git a/Bindings/Python/examples/StaticOptimization/static_optim/dynamic_models.py b/Bindings/Python/examples/StaticOptimization/static_optim/dynamic_models.py
new file mode 100644
index 0000000000..d2d2314035
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/static_optim/dynamic_models.py
@@ -0,0 +1,208 @@
+"""
+Dynamic models.
+
+These are the actual classes to send to IPOPT.
+"""
+
+import numpy as np
+import opensim as osim
+
+from static_optim.constraints import ConstraintAccelerationTarget
+from static_optim.forces import ResidualForces, ExternalForces
+from static_optim.kinematic import KinematicModel
+from static_optim.objective import ObjMinimizeActivation
+
+
+class ClassicalStaticOptimization(
+ KinematicModel,
+ ObjMinimizeActivation,
+ ConstraintAccelerationTarget,
+ ResidualForces,
+ ExternalForces,
+):
+ """
+ Computes the muscle activations in order to minimize them while targeting the acceleration from inverse kinematics.
+ This is the most classical approach to Static Opimization.
+ """
+
+ # TODO: write tests
+ def __init__(
+ self,
+ model,
+ mot,
+ filter_param=None,
+ activation_exponent=2,
+ residual_actuator_xml=None,
+ external_load_xml=None,
+ ):
+ KinematicModel.__init__(self, model, mot, filter_param)
+ ObjMinimizeActivation.__init__(self, activation_exponent)
+ ResidualForces.__init__(self, residual_actuator_xml)
+ ExternalForces.__init__(self, external_load_xml)
+
+ def forward_dynamics(self, x):
+ # set residual forces
+ fs = self.model.getForceSet()
+ for i in range(self.n_muscles, fs.getSize()):
+ act = osim.ScalarActuator.safeDownCast(fs.get(i))
+ if act:
+ act.setOverrideActuation(self.state, x[i])
+
+ # update muscles
+ muscle_activation = x[: self.n_muscles]
+ for m in range(self.n_muscles):
+ self.muscle_actuators.get(m).setActivation(self.state, muscle_activation[m])
+ self.model.equilibrateMuscles(self.state)
+ self.model.realizeAcceleration(self.state)
+ return self.state.getUDot()
+
+
+class ClassicalOptimizationLinearConstraints(
+ KinematicModel,
+ ObjMinimizeActivation,
+ ConstraintAccelerationTarget,
+ ResidualForces,
+ ExternalForces,
+):
+ """
+ Intends to mimic the classical approach but with the constraints linearized.
+ It makes the assumption that muscle length is constant at a particular position and velocity, whatever the muscle
+ activation.
+ """
+
+ # TODO: write tests
+ def __init__(
+ self,
+ model,
+ mot,
+ filter_param=None,
+ activation_exponent=2,
+ residual_actuator_xml=None,
+ external_load_xml=None,
+ muscle_physiology=True,
+ ):
+ self.muscle_physiology = muscle_physiology
+ self.previous_activation = np.array([])
+
+ KinematicModel.__init__(self, model, mot, filter_param)
+ ObjMinimizeActivation.__init__(self, activation_exponent)
+ ResidualForces.__init__(self, residual_actuator_xml)
+ ExternalForces.__init__(self, external_load_xml)
+
+ # prepare linear constraints variables
+ self.previous_activation = np.ones(self.n_muscles)
+ self.qddot_from_nl = []
+ self.constraint_vector = []
+ self.optimal_forces = []
+ self.passive_forces = []
+ self.constraint_matrix = []
+ self.jacobian_matrix = [] # Precomputed jacobian
+ self._prepare_constraints()
+
+ def forward_dynamics(self, x):
+ fs = self.model.getForceSet()
+ for i in range(fs.getSize()):
+ act = osim.ScalarActuator.safeDownCast(fs.get(i))
+ if act:
+ act.setOverrideActuation(self.state, x[i] * self.optimal_forces[i])
+
+ self.model.realizeAcceleration(self.state)
+ return self.state.getUDot()
+
+ def passive_forward_dynamics(self):
+ fs = self.model.getForceSet()
+ for i in range(fs.getSize()):
+ act = osim.ScalarActuator.safeDownCast(fs.get(i))
+ if act:
+ act.setOverrideActuation(self.state, self.passive_forces[i])
+
+ self.model.realizeAcceleration(self.state)
+ qddot = self.state.getUDot()
+ return [qddot.get(idx_q) for idx_q in range(qddot.size())]
+
+ def upd_model_kinematics(self, frame):
+ super().upd_model_kinematics(frame)
+ if self.previous_activation.size > 0:
+ self._prepare_constraints()
+
+ def _prepare_constraints(self):
+ fs = self.model.getForceSet()
+ for i in range(fs.getSize()):
+ act = osim.ScalarActuator.safeDownCast(fs.get(i))
+ if act:
+ act.overrideActuation(self.state, False)
+
+ self.passive_forces = []
+ for m in range(self.n_muscles):
+ self.muscle_actuators.get(m).setActivation(self.state, self.previous_activation[m])
+ self.model.equilibrateMuscles(self.state)
+ self.model.realizeVelocity(self.state)
+ for m in range(self.n_muscles):
+ self.passive_forces.append(self.muscle_actuators.get(m).getPassiveFiberForceAlongTendon(self.state))
+
+ forces = self.model.getForceSet()
+ self.optimal_forces = []
+ imus = 0
+ for i in range(forces.getSize()):
+ muscle = osim.Muscle.safeDownCast(forces.get(i))
+ if muscle:
+ if self.muscle_physiology:
+ self.model.setAllControllersEnabled(True)
+ self.optimal_forces.append(muscle.getActiveFiberForceAlongTendon(self.state) /
+ self.previous_activation[i])
+ self.model.setAllControllersEnabled(False)
+ else:
+ self.optimal_forces.append(muscle.getMaxIsometricForce())
+ imus += 1
+ coordinate = osim.CoordinateActuator.safeDownCast(forces.get(i))
+ if coordinate:
+ self.optimal_forces.append(coordinate.getOptimalForce())
+
+ self.linear_constraints()
+
+ def constraints(self, x, idx=None):
+ # x = self.previous_activation
+ x_tp = x.reshape((x.shape[0], 1))
+ x_mul = np.ndarray((self.constraint_matrix.shape[0], x_tp.shape[1]))
+ np.matmul(self.constraint_matrix, x_tp, x_mul)
+ x_constraint = x_mul.ravel()
+
+ # That is what really happening
+ # const = self.actual_qddot - (x_constraint + self.passive_forward_dynamics())
+ const = x_constraint - self.constraint_vector
+
+ if idx is not None:
+ return const[idx]
+ else:
+ return const
+
+ def linear_constraints(self):
+ fs = self.model.getForceSet()
+ for i in range(fs.getSize()):
+ act = osim.ScalarActuator.safeDownCast(fs.get(i))
+ if act:
+ act.overrideActuation(self.state, True)
+ p_vector = np.zeros(self.n_actuators)
+
+ qddot_from_nl_tp = self.forward_dynamics(p_vector)
+ self.qddot_from_nl = np.array(
+ [qddot_from_nl_tp.get(idx_q) for idx_q in range(qddot_from_nl_tp.size())])
+
+ self.constraint_matrix = np.zeros((self.n_dof, self.n_actuators))
+
+ for p in range(self.n_actuators):
+ p_vector[p] = 1
+ qddot_from_muscles_tp = self.forward_dynamics(p_vector)
+ qddot_from_muscles = np.array([qddot_from_muscles_tp.get(idx_q) for idx_q in range(qddot_from_muscles_tp.size())])
+ self.constraint_matrix[:, p] = qddot_from_muscles - self.qddot_from_nl
+ p_vector[p] = 0
+
+ self.constraint_vector = np.array(self.actual_qddot) - np.array(self.passive_forward_dynamics())
+
+ def jacobian(self, x):
+ return self.constraint_matrix
+
+ def set_previous_activation(self, x):
+ x[x <= 0] = 0.01
+ x[x > 1] = 1
+ self.previous_activation = np.array(x)
\ No newline at end of file
diff --git a/Bindings/Python/examples/StaticOptimization/static_optim/forces.py b/Bindings/Python/examples/StaticOptimization/static_optim/forces.py
new file mode 100644
index 0000000000..0c68b22a17
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/static_optim/forces.py
@@ -0,0 +1,34 @@
+"""
+Forces method classes.
+
+The dynamic model should inherit from these classes in order to get the proper forces.
+"""
+import opensim as osim
+
+
+class ResidualForces:
+ def __init__(self, residual_actuator_xml=None):
+
+ if residual_actuator_xml:
+ force_set = osim.ArrayStr()
+ force_set.append(residual_actuator_xml)
+
+ analyze_tool = osim.AnalyzeTool(self.model)
+ analyze_tool.setModel(self.model)
+ analyze_tool.setForceSetFiles(force_set)
+ analyze_tool.updateModelForces(self.model, residual_actuator_xml)
+ self.state = self.model.initSystem()
+
+ fs = self.model.getForceSet()
+ for i in range(fs.getSize()):
+ act = osim.CoordinateActuator.safeDownCast(fs.get(i))
+ if act:
+ act.overrideActuation(self.state, True)
+
+
+class ExternalForces:
+ def __init__(self, external_load_xml=None):
+ if external_load_xml:
+ analyze_tool = osim.AnalyzeTool(self.model)
+ analyze_tool.setModel(self.model)
+ analyze_tool.setExternalLoadsFileName(external_load_xml)
diff --git a/Bindings/Python/examples/StaticOptimization/static_optim/kinematic.py b/Bindings/Python/examples/StaticOptimization/static_optim/kinematic.py
new file mode 100644
index 0000000000..00493f5f88
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/static_optim/kinematic.py
@@ -0,0 +1,84 @@
+"""
+Kinematics method classes.
+
+The dynamic model should inherit from this class in order to get the proper kinematics.
+"""
+
+import opensim as osim
+
+
+class KinematicModel:
+ def __init__(self, model, mot, filter_param=None):
+
+ # load model
+ self.model = osim.Model(model)
+ self.state = self.model.initSystem()
+
+ # prepare data
+ self.actual_q, self.actual_qdot, self.actual_qddot = [], [], []
+
+ # get some reference that will be modified during the optimization (for speed sake)
+ self.actuators = self.model.getForceSet()
+ self.muscle_actuators = self.model.getMuscles()
+ self.n_dof = self.state.getQ().size()
+ self.n_actuators = self.actuators.getSize()
+ self.n_muscles = self.muscle_actuators.getSize()
+
+ self._data_storage = osim.Storage(mot)
+ self.filter_param = filter_param
+
+ self.__dispatch_kinematics()
+
+ def get_time(self, frame):
+ return self._data_storage.getStateVector(frame).getTime()
+
+ def __dispatch_kinematics(self):
+ self.model.getSimbodyEngine().convertDegreesToRadians(self._data_storage)
+
+ if self.filter_param:
+ # TODO: read value from xml
+ self._data_storage.lowpassFIR(self.filter_param[0], self.filter_param[1])
+
+ # TODO: read value from xml
+ self.gen_coord_function = osim.GCVSplineSet(5, self._data_storage)
+ self.n_frame = self._data_storage.getSize()
+
+ self.all_q, self.all_qdot, self.all_qddot = [], [], []
+ for iframe in range(self.n_frame):
+ q, qdot, qddot = [], [], []
+ for iq in range(self._data_storage.getStateVector(iframe).getSize()):
+ q.append(
+ self.gen_coord_function.evaluate(
+ iq, 0, self._data_storage.getStateVector(iframe).getTime()
+ )
+ )
+ qdot.append(
+ self.gen_coord_function.evaluate(
+ iq, 1, self._data_storage.getStateVector(iframe).getTime()
+ )
+ )
+ qddot.append(
+ self.gen_coord_function.evaluate(
+ iq, 2, self._data_storage.getStateVector(iframe).getTime()
+ )
+ )
+
+ self.all_q.append(q)
+ self.all_qdot.append(qdot)
+ self.all_qddot.append(qddot)
+
+ self.model.initStateWithoutRecreatingSystem(self.state)
+ self.upd_model_kinematics(frame=0)
+
+ def upd_model_kinematics(self, frame):
+ # get a fresh state
+ self.state.setTime(self.get_time(frame))
+
+ # update kinematic states
+ self.actual_q = self.all_q[frame]
+ self.actual_qdot = self.all_qdot[frame]
+ self.actual_qddot = self.all_qddot[frame]
+
+ self.state.setQ(osim.Vector(self.actual_q))
+ self.state.setU(osim.Vector(self.actual_qdot))
+ self.model.realizeVelocity(self.state)
diff --git a/Bindings/Python/examples/StaticOptimization/static_optim/objective.py b/Bindings/Python/examples/StaticOptimization/static_optim/objective.py
new file mode 100644
index 0000000000..1d1dcfa6f8
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/static_optim/objective.py
@@ -0,0 +1,38 @@
+"""
+Objectives class.
+
+ObjMinimizeActivation minimizes the absolute activation raised at the activation_exponent (2 as default).
+"""
+import numpy as np
+import opensim as osim
+
+
+class ObjMinimizeActivation:
+ def __init__(self, activation_exponent=2):
+ self.activation_exponent = activation_exponent
+ self.muscles_actuators = self.model.getMuscles()
+ self.n_muscles = self.muscles_actuators.getSize()
+
+ def objective(self, x):
+ """callback for calculating the objective."""
+ return np.power(np.abs(x), self.activation_exponent).sum()
+
+ def gradient(self, x):
+ """callback for calculating the gradient."""
+ return self.activation_exponent * np.power(
+ np.abs(x), self.activation_exponent - 1
+ )
+
+ def get_bounds(self):
+ forces = self.model.getForceSet()
+ activation = {"min": [], "max": []}
+ for i in range(forces.getSize()):
+ f = osim.CoordinateActuator.safeDownCast(forces.get(i))
+ if f:
+ activation["min"].append(f.get_min_control())
+ activation["max"].append(f.get_max_control())
+ m = osim.Muscle.safeDownCast(forces.get(i))
+ if m:
+ activation["min"].append(m.get_min_control())
+ activation["max"].append(m.get_max_control())
+ return activation["min"], activation["max"]
diff --git a/Bindings/Python/examples/StaticOptimization/static_optimization_example.py b/Bindings/Python/examples/StaticOptimization/static_optimization_example.py
new file mode 100644
index 0000000000..763ada415d
--- /dev/null
+++ b/Bindings/Python/examples/StaticOptimization/static_optimization_example.py
@@ -0,0 +1,124 @@
+import os
+import ipopt
+import numpy as np
+
+from static_optim.dynamic_models import ClassicalStaticOptimization, ClassicalOptimizationLinearConstraints
+
+setup = {
+ "model": "data/arm26.osim",
+ "mot": "data/arm26_InverseKinematics.mot",
+ "filter_param": None,
+ "muscle_physiology": True,
+}
+show_results = False # Necessitate that pyomeca and matplotlib are installed on the computer
+
+# non-linear static optimization model
+if os.path.isfile('data_non_linear_all.npy'):
+ # If possible load the data since non-linear is very slow
+ calc_non_linear = False
+ x0_non_linear_all = np.load('data_non_linear_all.npy')
+ info_non_linear = dict()
+ info_non_linear["obj_val"] = 0
+ info_non_linear["g"] = 0
+
+else:
+ calc_non_linear = True
+ x0_non_linear_all = []
+ model_non_linear = ClassicalStaticOptimization(setup["model"], setup["mot"], setup["filter_param"])
+
+ # optimization options
+ activation_initial_guess_non_linear = np.zeros([model_non_linear.n_muscles])
+ lb_non_linear, ub_non_linear = model_non_linear.get_bounds()
+
+ # problem
+ problem_non_linear = ipopt.problem(
+ n=model_non_linear.n_muscles, # Nb of variables
+ lb=lb_non_linear, # Variables lower bounds
+ ub=ub_non_linear, # Variables upper bounds
+ m=model_non_linear.n_dof, # Nb of constraints
+ cl=np.zeros(model_non_linear.n_dof), # Lower bound constraints
+ cu=np.zeros(model_non_linear.n_dof), # Upper bound constraints
+ problem_obj=model_non_linear, # Class that defines the problem
+ )
+ problem_non_linear.addOption("tol", 1e-7)
+ problem_non_linear.addOption("print_level", 0)
+
+
+# linear static optimization model
+model_linear = ClassicalOptimizationLinearConstraints(
+ setup["model"],
+ setup["mot"],
+ setup["filter_param"],
+ muscle_physiology=setup["muscle_physiology"],
+)
+
+# optimization options
+activation_initial_guess_linear = np.zeros([model_linear.n_muscles])
+lb_linear, ub_linear = model_linear.get_bounds()
+
+# problem
+problem_linear = ipopt.problem(
+ n=model_linear.n_muscles, # Nb of variables
+ lb=lb_linear, # Variables lower bounds
+ ub=ub_linear, # Variables upper bounds
+ m=model_linear.n_dof, # Nb of constraints
+ cl=np.zeros(model_linear.n_dof), # Lower bound constraints
+ cu=np.zeros(model_linear.n_dof), # Upper bound constraints
+ problem_obj=model_linear, # Class that defines the problem
+)
+problem_linear.addOption("tol", 1e-7)
+problem_linear.addOption("print_level", 0)
+
+# optimization
+activations_non_linear = []
+activations_linear = []
+for iframe in range(0, int(model_linear.n_frame)):
+ print(f'frame: {iframe} | time: {model_linear.get_time(iframe)}')
+
+ # Reference
+ if calc_non_linear:
+ model_non_linear.upd_model_kinematics(iframe)
+ try:
+ x_non_linear, info_non_linear = problem_non_linear.solve(activation_initial_guess_non_linear)
+ except RuntimeError:
+ print(f"Error while computing the frame #{iframe}")
+ x0_non_linear_all.append(x_non_linear)
+ else:
+ x_non_linear = x0_non_linear_all[iframe]
+ # the output is the initial guess for next frame
+ activation_initial_guess_non_linear = x_non_linear
+ activations_non_linear.append(x_non_linear)
+ print(f'x_non_linear = {x_non_linear}')
+
+ # New optim
+ if hasattr(model_linear, 'previous_activation'):
+ model_linear.set_previous_activation(activation_initial_guess_linear)
+ model_linear.upd_model_kinematics(iframe)
+ try:
+ x_linear, info_linear = problem_linear.solve(activation_initial_guess_linear)
+ except RuntimeError:
+ print(f"Error while computing the frame #{iframe}")
+
+ # the output is the initial guess for next frame
+ activation_initial_guess_linear = x_linear
+ activations_linear.append(x_linear)
+ print(f'x = {x_linear}')
+ print(f'Diff = {x_non_linear - x_linear}')
+ print('')
+
+# Save the non linear data
+np.save('data_non_linear_all', x0_non_linear_all)
+
+# Show the data
+if show_results:
+ import matplotlib.pyplot as plt
+ from pyomeca import Analogs3d
+
+ data = {
+ "non_linear": Analogs3d(np.array(activations_non_linear)),
+ "linear": Analogs3d(np.array(activations_linear))
+ }
+ ax = data["linear"].plot(fmt='')
+ data["non_linear"].plot(fmt='.', ax=ax)
+ (data["non_linear"] - data["linear"]).plot(fmt='')
+ plt.show()
diff --git a/CHANGELOG.md b/CHANGELOG.md
index df940eafb3..39c253e11d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -219,6 +219,7 @@ Python interface
- Improved error handling. Now, OpenSim's error messages show up as exceptions
in Python.
- The Python bindings can now be built for Python 3 (as well as Python 2).
+- Added an example of Static optimization performed in Python 3.
Other Changes
-------------
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
new file mode 100644
index 0000000000..31e178b1d6
--- /dev/null
+++ b/CMakeLists.txt.user
@@ -0,0 +1,6166 @@
+
+
+
+
+
+ EnvironmentId
+ {26864590-175a-4720-9ce0-4db157a6a2bd}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ false
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop Qt 5.12.0 GCC 64bit
+ Desktop Qt 5.12.0 GCC 64bit
+ qt.qt5.5120.gcc_64_kit
+ 1
+ 0
+ 101
+
+
+ CMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}
+ CMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
+ CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
+ OPENSIM_DEPENDENCIES_DIR:PATH=/home/pariterre/Programmation/opensim-core/opensim_dependencies_install
+ QT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Défaut
+ Défaut
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+
+ CMAKE_BUILD_TYPE:STRING=Debug
+ CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
+ CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+
+ CMAKE_BUILD_TYPE:STRING=Release
+
+ /home/pariterre/Programmation/build-opensim-core-Desktop_Qt_5_12_0_GCC_64bit-Release
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+ Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+
+ CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
+
+ /home/pariterre/Programmation/build-opensim-core-Desktop_Qt_5_12_0_GCC_64bit-Release with Debug Information
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release with Debug Information
+ Release with Debug Information
+ CMakeProjectManager.CMakeBuildConfiguration
+
+
+
+ CMAKE_BUILD_TYPE:STRING=MinSizeRel
+
+ /home/pariterre/Programmation/build-opensim-core-Desktop_Qt_5_12_0_GCC_64bit-Minimum Size Release
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Minimum Size Release
+ Minimum Size Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+ 5
+
+
+ 0
+ Déploiement
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy Configuration
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testLepton
+
+ CMakeProjectManager.CMakeRunConfiguration.testLepton
+/home/pariterre/Programmation/opensim-core/Vendors/lepton/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ ImuStreaming
+
+ CMakeProjectManager.CMakeRunConfiguration.ImuStreaming
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureComponents
+
+ CMakeProjectManager.CMakeRunConfiguration.futureComponents
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/UsefulComponents/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCommandLineInterface
+
+ CMakeProjectManager.CMakeRunConfiguration.testCommandLineInterface
+/home/pariterre/Programmation/opensim-core/Applications/opensim-cmd/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ StaticOptimizationExample
+
+ CMakeProjectManager.CMakeRunConfiguration.StaticOptimizationExample
+/home/pariterre/Programmation/opensim-core/OpenSim/Examples/StaticOptimizationExample_Arm26/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMarkerData
+
+ CMakeProjectManager.CMakeRunConfiguration.testMarkerData
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testTRCFileAdapter
+
+ CMakeProjectManager.CMakeRunConfiguration.testTRCFileAdapter
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testFunctionAdapter
+
+ CMakeProjectManager.CMakeRunConfiguration.testFunctionAdapter
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testComponentInterface
+
+ CMakeProjectManager.CMakeRunConfiguration.testComponentInterface
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testNCSpline
+
+ CMakeProjectManager.CMakeRunConfiguration.testNCSpline
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSmoothSegmentedFunctionFactory
+
+ CMakeProjectManager.CMakeRunConfiguration.testSmoothSegmentedFunctionFactory
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSTOFileAdapter
+
+ CMakeProjectManager.CMakeRunConfiguration.testSTOFileAdapter
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testPath
+
+ CMakeProjectManager.CMakeRunConfiguration.testPath
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testRootSolver
+
+ CMakeProjectManager.CMakeRunConfiguration.testRootSolver
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureIKListOutputs
+
+ CMakeProjectManager.CMakeRunConfiguration.futureIKListOutputs
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testFunctions
+
+ CMakeProjectManager.CMakeRunConfiguration.testFunctions
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testGCVSpline
+
+ CMakeProjectManager.CMakeRunConfiguration.testGCVSpline
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSerialization
+
+ CMakeProjectManager.CMakeRunConfiguration.testSerialization
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testStorage
+
+ CMakeProjectManager.CMakeRunConfiguration.testStorage
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testDataTable
+
+ CMakeProjectManager.CMakeRunConfiguration.testDataTable
+/home/pariterre/Programmation/opensim-core/OpenSim/Common/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testStatesTrajectory
+
+ CMakeProjectManager.CMakeRunConfiguration.testStatesTrajectory
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testInverseKinematicsSolver
+
+ CMakeProjectManager.CMakeRunConfiguration.testInverseKinematicsSolver
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testInitState
+
+ CMakeProjectManager.CMakeRunConfiguration.testInitState
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testFrames
+
+ CMakeProjectManager.CMakeRunConfiguration.testFrames
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testModelInterface
+
+ CMakeProjectManager.CMakeRunConfiguration.testModelInterface
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureRigidContact
+
+ CMakeProjectManager.CMakeRunConfiguration.futureRigidContact
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testForces
+
+ CMakeProjectManager.CMakeRunConfiguration.testForces
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testAssemblySolver
+
+ CMakeProjectManager.CMakeRunConfiguration.testAssemblySolver
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testManager
+
+ CMakeProjectManager.CMakeRunConfiguration.testManager
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMomentArms
+
+ CMakeProjectManager.CMakeRunConfiguration.testMomentArms
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testReportersWithModel
+
+ CMakeProjectManager.CMakeRunConfiguration.testReportersWithModel
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testPoints
+
+ CMakeProjectManager.CMakeRunConfiguration.testPoints
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testContactGeometry
+
+ CMakeProjectManager.CMakeRunConfiguration.testContactGeometry
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testNestedModelComponents
+
+ CMakeProjectManager.CMakeRunConfiguration.testNestedModelComponents
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testPrescribedForce
+
+ CMakeProjectManager.CMakeRunConfiguration.testPrescribedForce
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMuscleMetabolicsProbes
+
+ CMakeProjectManager.CMakeRunConfiguration.testMuscleMetabolicsProbes
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureMuscleMetabolicsResponse
+
+ CMakeProjectManager.CMakeRunConfiguration.futureMuscleMetabolicsResponse
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testProbes
+
+ CMakeProjectManager.CMakeRunConfiguration.testProbes
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSimulationUtilities
+
+ CMakeProjectManager.CMakeRunConfiguration.testSimulationUtilities
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testJoints
+
+ CMakeProjectManager.CMakeRunConfiguration.testJoints
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/SimbodyEngine/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testConstraints
+
+ CMakeProjectManager.CMakeRunConfiguration.testConstraints
+/home/pariterre/Programmation/opensim-core/OpenSim/Simulation/SimbodyEngine/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMuscleFirstOrderActivationDynamicModel
+
+ CMakeProjectManager.CMakeRunConfiguration.testMuscleFirstOrderActivationDynamicModel
+/home/pariterre/Programmation/opensim-core/OpenSim/Actuators/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testActuators
+
+ CMakeProjectManager.CMakeRunConfiguration.testActuators
+/home/pariterre/Programmation/opensim-core/OpenSim/Actuators/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMuscleFixedWidthPennationModel
+
+ CMakeProjectManager.CMakeRunConfiguration.testMuscleFixedWidthPennationModel
+/home/pariterre/Programmation/opensim-core/OpenSim/Actuators/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMuscles
+
+ CMakeProjectManager.CMakeRunConfiguration.testMuscles
+/home/pariterre/Programmation/opensim-core/OpenSim/Actuators/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSerializableMuscleCurves
+
+ CMakeProjectManager.CMakeRunConfiguration.testSerializableMuscleCurves
+/home/pariterre/Programmation/opensim-core/OpenSim/Actuators/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testOutputReporter
+
+ CMakeProjectManager.CMakeRunConfiguration.testOutputReporter
+/home/pariterre/Programmation/opensim-core/OpenSim/Analyses/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureOrientationInverseKinematics
+
+ CMakeProjectManager.CMakeRunConfiguration.futureOrientationInverseKinematics
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testExternalLoads
+
+ CMakeProjectManager.CMakeRunConfiguration.testExternalLoads
+/home/pariterre/Programmation/opensim-core/OpenSim/Tools/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testControllers
+
+ CMakeProjectManager.CMakeRunConfiguration.testControllers
+/home/pariterre/Programmation/opensim-core/OpenSim/Tools/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testModelCopy
+
+ CMakeProjectManager.CMakeRunConfiguration.testModelCopy
+/home/pariterre/Programmation/opensim-core/OpenSim/Tools/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSerializeOpenSimObjects
+
+ CMakeProjectManager.CMakeRunConfiguration.testSerializeOpenSimObjects
+/home/pariterre/Programmation/opensim-core/OpenSim/Tools/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testVisualization
+
+ CMakeProjectManager.CMakeRunConfiguration.testVisualization
+/home/pariterre/Programmation/opensim-core/OpenSim/Tools/Test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleHopperDeviceAnswers
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleHopperDeviceAnswers
+/home/pariterre/Programmation/opensim-core/OpenSim/Examples/ExampleHopperDevice/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleHopperDevice
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleHopperDevice
+/home/pariterre/Programmation/opensim-core/OpenSim/Examples/ExampleHopperDevice/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ example2DataTable
+
+ CMakeProjectManager.CMakeRunConfiguration.example2DataTable
+/home/pariterre/Programmation/opensim-core/OpenSim/Examples/DataTable/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ example1DataTable
+
+ CMakeProjectManager.CMakeRunConfiguration.example1DataTable
+/home/pariterre/Programmation/opensim-core/OpenSim/Examples/DataTable/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testComponents
+
+ CMakeProjectManager.CMakeRunConfiguration.testComponents
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/Components/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureStatesTrajectoryUsage
+
+ CMakeProjectManager.CMakeRunConfiguration.futureStatesTrajectoryUsage
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testAddComponents
+
+ CMakeProjectManager.CMakeRunConfiguration.testAddComponents
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/AddComponents/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testControllerExample
+
+ CMakeProjectManager.CMakeRunConfiguration.testControllerExample
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/ControllerExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleController
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleController
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/ControllerExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testExampleMain
+
+ CMakeProjectManager.CMakeRunConfiguration.testExampleMain
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/ExampleMain/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleMain
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleMain
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/ExampleMain/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testOptimizationExample
+
+ CMakeProjectManager.CMakeRunConfiguration.testOptimizationExample
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/OptimizationExample_Arm26/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleOptimization
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleOptimization
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/OptimizationExample_Arm26/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCustomActuatorExample
+
+ CMakeProjectManager.CMakeRunConfiguration.testCustomActuatorExample
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/CustomActuatorExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleCustomActuator
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleCustomActuator
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/CustomActuatorExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testMuscleExample
+
+ CMakeProjectManager.CMakeRunConfiguration.testMuscleExample
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/MuscleExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureMarkerPreview
+
+ CMakeProjectManager.CMakeRunConfiguration.futureMarkerPreview
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleMuscle
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleMuscle
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/MuscleExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testSimpleOptimizationExample
+
+ CMakeProjectManager.CMakeRunConfiguration.testSimpleOptimizationExample
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/SimpleOptimizationExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ exampleOptimizationSimple
+
+ CMakeProjectManager.CMakeRunConfiguration.exampleOptimizationSimple
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/SimpleOptimizationExample/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ checkEnvironment
+
+ CMakeProjectManager.CMakeRunConfiguration.checkEnvironment
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/Environment/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testIterators
+
+ CMakeProjectManager.CMakeRunConfiguration.testIterators
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/testIterators/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ visualizeModel
+
+ CMakeProjectManager.CMakeRunConfiguration.visualizeModel
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/VisualizeModel/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testREADME
+
+ CMakeProjectManager.CMakeRunConfiguration.testREADME
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/README/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testWrapping
+
+ CMakeProjectManager.CMakeRunConfiguration.testWrapping
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/Wrapping/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testExampleLuxoMuscle
+
+ CMakeProjectManager.CMakeRunConfiguration.testExampleLuxoMuscle
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/ExampleLuxoMuscle/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testBuildDynamicWalker
+
+ CMakeProjectManager.CMakeRunConfiguration.testBuildDynamicWalker
+/home/pariterre/Programmation/opensim-core/OpenSim/Tests/BuildDynamicWalker/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureOutputVectorsAndChannels
+
+ CMakeProjectManager.CMakeRunConfiguration.futureOutputVectorsAndChannels
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testJointReactions
+
+ CMakeProjectManager.CMakeRunConfiguration.testJointReactions
+/home/pariterre/Programmation/opensim-core/Applications/Analyze/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testStaticOptimization
+
+ CMakeProjectManager.CMakeRunConfiguration.testStaticOptimization
+/home/pariterre/Programmation/opensim-core/Applications/Analyze/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testInducedAccelerations
+
+ CMakeProjectManager.CMakeRunConfiguration.testInducedAccelerations
+/home/pariterre/Programmation/opensim-core/Applications/Analyze/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testAnalyzeTool
+
+ CMakeProjectManager.CMakeRunConfiguration.testAnalyzeTool
+/home/pariterre/Programmation/opensim-core/Applications/Analyze/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testForward
+
+ CMakeProjectManager.CMakeRunConfiguration.testForward
+/home/pariterre/Programmation/opensim-core/Applications/Forward/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testScale
+
+ CMakeProjectManager.CMakeRunConfiguration.testScale
+/home/pariterre/Programmation/opensim-core/Applications/Scale/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testIK
+
+ CMakeProjectManager.CMakeRunConfiguration.testIK
+/home/pariterre/Programmation/opensim-core/Applications/IK/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testID
+
+ CMakeProjectManager.CMakeRunConfiguration.testID
+/home/pariterre/Programmation/opensim-core/Applications/ID/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCSingleMuscle
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCSingleMuscle
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCEMGDrivenArm_Thelen
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCEMGDrivenArm_Thelen
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ futureTaskSpace
+
+ CMakeProjectManager.CMakeRunConfiguration.futureTaskSpace
+/home/pariterre/Programmation/opensim-core/OpenSim/Sandbox/TaskSpace/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCTwoMusclesOnBlock
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCTwoMusclesOnBlock
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCEMGDrivenArm_Millard
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCEMGDrivenArm_Millard
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCArm26_Millard
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCArm26_Millard
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCGait10dof18musc
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCGait10dof18musc
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCSingleRigidTendonMuscle
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCSingleRigidTendonMuscle
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCWithControlConstraintsGait2354
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCWithControlConstraintsGait2354
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCWithControlConstraintsRunningModel
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCWithControlConstraintsRunningModel
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testCMCArm26_Thelen
+
+ CMakeProjectManager.CMakeRunConfiguration.testCMCArm26_Thelen
+/home/pariterre/Programmation/opensim-core/Applications/CMC/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ testRRA
+
+ CMakeProjectManager.CMakeRunConfiguration.testRRA
+/home/pariterre/Programmation/opensim-core/Applications/RRA/test/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ opensim-cmd
+
+ CMakeProjectManager.CMakeRunConfiguration.opensim-cmd
+/home/pariterre/Programmation/opensim-core/Applications/opensim-cmd/
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ /home/pariterre/Programmation/BUILDS/opensim/opensim-core-build
+
+ 102
+
+
+
+ ProjectExplorer.Project.Target.1
+
+ Imported Kit
+ Imported Kit
+ {8890ef2f-f74e-4f77-b78b-358d73b9a5e7}
+ 0
+ 0
+ 0
+
+
+ CMAKE_BUILD_TYPE:STRING=Debug
+
+ /home/pariterre/Programmation/opensim-core/build
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ all
+
+ true
+ CMake Build
+
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+ Debug
+ CMakeProjectManager.CMakeBuildConfiguration
+
+ 1
+
+
+ 0
+ Déploiement
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy Configuration
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+
+ Custom Executable
+
+ ProjectExplorer.CustomExecutableRunConfiguration
+
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 2
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 20
+
+
+ Version
+ 20
+
+
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 49775b7c48..6fe47ea402 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -19,7 +19,7 @@ Contents:
Thank you for contributing!
-Ways to Contribute
+Ways to Contribute
------------------
There are lots of ways to contribute to the OpenSim project, and people with widely varying skill sets can make meaningful contributions. Please don't think your contribution has to be momentous to be appreciated. See a typo? Tell us about it or fix it! Here are some contribution ideas:
diff --git a/OpenSim/Analyses/StaticOptimization.cpp b/OpenSim/Analyses/StaticOptimization.cpp
index 8e16bc3390..49912525d7 100644
--- a/OpenSim/Analyses/StaticOptimization.cpp
+++ b/OpenSim/Analyses/StaticOptimization.cpp
@@ -375,11 +375,11 @@ record(const SimTK::State& s)
target.setParameterLimits(lowerBounds, upperBounds);
- _parameters = 0; // Set initial guess to zeros
+ _parameters = 0.02; // Set initial guess to zeros (min activation is 0.01, and for central difference make it is not lower bound)
// Static optimization
_modelWorkingCopy->getMultibodySystem().realize(sWorkingCopy,SimTK::Stage::Velocity);
- target.prepareToOptimize(sWorkingCopy, &_parameters[0]);
+ target.prepareToOptimize(sWorkingCopy, &_parameters[0]); // Use previous solution as initial guess
//LARGE_INTEGER start;
//LARGE_INTEGER stop;
@@ -446,7 +446,7 @@ record(const SimTK::State& s)
double tolConstraints = 1e-6;
bool incompleteModel = false;
string msgIncomplete = "The model appears unsuitable for static optimization.\nTry appending the model with additional force(s) or locking joint(s) to reduce the following acceleration constraint violation(s):\n";
- SimTK::Vector constraints;
+ SimTK::Vector constraints(target.getNumConstraints());
target.constraintFunc(_parameters,true,constraints);
auto coordinates = _modelWorkingCopy->getCoordinatesInMultibodyTreeOrder();
@@ -581,7 +581,7 @@ int StaticOptimization::begin(const SimTK::State& s )
_forceReporter->updForceStorage().reset();
_parameters.resize(_modelWorkingCopy->getNumControls());
- _parameters = 0;
+ _parameters = 0.02;
}
_statesSplineSet=GCVSplineSet(5,_statesStore);
diff --git a/OpenSim/Analyses/StaticOptimizationTarget.cpp b/OpenSim/Analyses/StaticOptimizationTarget.cpp
index 09b59a7b44..8b764675dd 100644
--- a/OpenSim/Analyses/StaticOptimizationTarget.cpp
+++ b/OpenSim/Analyses/StaticOptimizationTarget.cpp
@@ -38,7 +38,7 @@ using SimTK::Vector;
using SimTK::Matrix;
using SimTK::Real;
-#define USE_LINEAR_CONSTRAINT_MATRIX
+//#define USE_LINEAR_CONSTRAINT_MATRIX
const double StaticOptimizationTarget::SMALLDX = 1.0e-14;
//const double StaticOptimizationTarget::_activationExponent = 2.0;
@@ -89,9 +89,11 @@ StaticOptimizationTarget(const SimTK::State& s, Model *aModel,int aNP,int aNC, b
bool StaticOptimizationTarget::
prepareToOptimize(SimTK::State& s, double *x)
{
- // COMPUTE MAX ISOMETRIC FORCE
const ForceSet& fSet = _model->getForceSet();
+#ifdef USE_LINEAR_CONSTRAINT_MATRIX
+ // COMPUTE MAX ISOMETRIC FORCE
+ int imus(0);
for(int i=0, j=0;i(&fSet.get(i));
if( act ) {
@@ -101,11 +103,12 @@ prepareToOptimize(SimTK::State& s, double *x)
//ActivationFiberLengthMuscle *aflmus = dynamic_cast(mus);
if(mus && _useMusclePhysiology) {
_model->setAllControllersEnabled(true);
- fOpt = mus->calcInextensibleTendonActiveFiberForce(s, 1.0);
+ fOpt = mus->calcInextensibleTendonActiveFiberForce(s, x[imus]) / x[imus];
_model->setAllControllersEnabled(false);
} else {
fOpt = mus->getMaxIsometricForce();
}
+ imus++;
} else {
fOpt = act->getOptimalForce();
}
@@ -113,7 +116,6 @@ prepareToOptimize(SimTK::State& s, double *x)
}
}
-#ifdef USE_LINEAR_CONSTRAINT_MATRIX
//cout<<"Computing linear constraint matrix..."<(&fSet.get(i));
+ if( act ) {
+ act->overrideActuation(s, false);
+ }
+ }
+
#endif
// return false to indicate that we still need to proceed with optimization
@@ -543,17 +554,14 @@ constraintFunc(const SimTK::Vector ¶meters, const bool new_parameters, SimTK
//QueryPerformanceFrequency(&frequency);
//QueryPerformanceCounter(&start);
-#ifndef USE_LINEAR_CONSTRAINT_MATRIX
-
- // Evaluate constraint function for all constraints and pick the appropriate component
- computeConstraintVector(parameters,constraints);
-
-#else
-
+#ifdef USE_LINEAR_CONSTRAINT_MATRIX
// Use precomputed constraint matrix
//cout<<"Computing constraints assuming linear dependence..."<getCurrentState());
+ computeConstraintVector(state, parameters,constraints);
#endif
//QueryPerformanceCounter(&stop);
@@ -631,17 +639,13 @@ constraintJacobian(const SimTK::Vector ¶meters, const bool new_parameters, S
//QueryPerformanceFrequency(&frequency);
//QueryPerformanceCounter(&start);
-#ifndef USE_LINEAR_CONSTRAINT_MATRIX
-
- // Compute gradient
- StaticOptimizationTarget::CentralDifferencesConstraint(this,&_dx[0],parameters,jac);
-
-#else
-
+#ifdef USE_LINEAR_CONSTRAINT_MATRIX
// Use precomputed constraint matrix (works if constraint is linear)
//cout<<"Computing constraint gradient assuming linear dependence..."<getForceSet();
+#ifdef USE_LINEAR_CONSTRAINT_MATRIX
for(int i=0,j=0;i(&fs.get(i));
if( act ) {
@@ -670,12 +674,36 @@ computeAcceleration(SimTK::State& s, const SimTK::Vector ¶meters,SimTK::Vect
j++;
}
}
-
+#else
+ for(int i=0,j=0;i(&fs.get(i));
+ if (mus){
+ mus->setActivation(s, parameters[j]);
+ ++j;
+ }
+ }
+ try{
+ _model->equilibrateMuscles(s);
+ } catch (const Exception& x) {
+ // If the muscle falls into some weird numerical error, try to just slightly change the activations
+ for(int i=0,j=0;i(&fs.get(i));
+ if (mus){
+ if (parameters[j] < 1)
+ mus->setActivation(s, parameters[j]+.001);
+ else
+ mus->setActivation(s, parameters[j]-.001);
+ ++j;
+ }
+ }
+ _model->equilibrateMuscles(s);
+ }
+#endif
_model->getMultibodySystem().realize(s,SimTK::Stage::Acceleration);
SimTK::Vector udot = _model->getMatterSubsystem().getUDot(s);
- for(int i=0; i<_accelerationIndices.getSize(); i++)
+ for(int i=0; i<_accelerationIndices.getSize(); i++)
rAccel[i] = udot[_accelerationIndices[i]];
//QueryPerformanceCounter(&stop);
diff --git a/OpenSim/Examples/CMakeLists.txt b/OpenSim/Examples/CMakeLists.txt
index 60c42c24f3..7244c77b5e 100644
--- a/OpenSim/Examples/CMakeLists.txt
+++ b/OpenSim/Examples/CMakeLists.txt
@@ -11,6 +11,7 @@ if(BUILD_API_EXAMPLES)
MuscleExample
CustomActuatorExample
OptimizationExample_Arm26
+ StaticOptimizationExample
checkEnvironment
SimpleOptimizationExample
SymbolicExpressionReporter
@@ -21,6 +22,7 @@ if(BUILD_API_EXAMPLES)
add_subdirectory(ExampleHopperDevice)
add_subdirectory(SymbolicExpressionReporter)
add_subdirectory(DataTable)
+ add_subdirectory(StaticOptimizationExample)
elseif()
diff --git a/OpenSim/Examples/StaticOptimizationExample/CMakeLists.txt b/OpenSim/Examples/StaticOptimizationExample/CMakeLists.txt
new file mode 100644
index 0000000000..c9c2655fee
--- /dev/null
+++ b/OpenSim/Examples/StaticOptimizationExample/CMakeLists.txt
@@ -0,0 +1,32 @@
+set(EXAMPLES_TO_COMPILE StaticOptimizationExample.cpp
+)
+
+foreach(EXAMPLE_PROG ${EXAMPLES_TO_COMPILE})
+ get_filename_component(EXAMPLE_ROOT ${EXAMPLE_PROG} NAME_WE)
+ add_executable(${EXAMPLE_ROOT} ${EXAMPLE_PROG})
+ target_link_libraries(${EXAMPLE_ROOT} ${Simbody_LIBRARIES} osimCommon osimTools)
+ set_target_properties(${EXAMPLE_ROOT} PROPERTIES FOLDER "Examples")
+
+ file(GLOB ADDITIONAL_FILES *.osim *.xml *.mot)
+
+ foreach(ADDITIONAL_FILE ${ADDITIONAL_FILES})
+ get_filename_component(ADDITIONAL_FILE_NAME ${ADDITIONAL_FILE} NAME)
+ add_custom_command(
+ TARGET ${EXAMPLE_ROOT}
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy
+ ${ADDITIONAL_FILE}
+ ${CMAKE_BINARY_DIR}/OpenSim/Examples/${EXAMPLE_ROOT}/${ADDITIONAL_FILE_NAME})
+ endforeach(ADDITIONAL_FILE)
+
+ # Doesn't work...
+ add_custom_target(
+ TARGET ${EXAMPLE_ROOT}
+ COMMAND ${CMAKE_COMMAND} -E make_directory
+ ${CMAKE_BINARY_DIR}/OpenSim/Examples/${EXAMPLE_ROOT}/Results)
+endforeach(EXAMPLE_PROG ${EXAMPLES_TO_COMPILE})
+
+
+
+
+
diff --git a/OpenSim/Examples/StaticOptimizationExample/StaticOptimizationExample.cpp b/OpenSim/Examples/StaticOptimizationExample/StaticOptimizationExample.cpp
new file mode 100644
index 0000000000..8994ce1b49
--- /dev/null
+++ b/OpenSim/Examples/StaticOptimizationExample/StaticOptimizationExample.cpp
@@ -0,0 +1,17 @@
+
+// INCLUDE
+#include
+#include
+#include
+#include
+
+using namespace OpenSim;
+using namespace std;
+
+int main()
+{
+ AnalyzeTool analyze("OpenSim/Examples/StaticOptimizationExample/arm26_Setup_StaticOptimization.xml");
+ analyze.run();
+
+ return 0;
+}
diff --git a/OpenSim/Examples/StaticOptimizationExample/arm26.osim b/OpenSim/Examples/StaticOptimizationExample/arm26.osim
new file mode 100644
index 0000000000..4cd2f1cc66
--- /dev/null
+++ b/OpenSim/Examples/StaticOptimizationExample/arm26.osim
@@ -0,0 +1,1617 @@
+
+
+
+
+
+ The OpenSim Development Team (Reinbolt, J; Seth, A; Habib, A; Hamner, S) adapted from a model originally created by Kate Holzbaur (11/22/04)
+
+ License:
+ Creative Commons (CCBY 3.0). You are free to distribute, remix, tweak, and build upon this work, even commercially,
+ as long as you credit us for the original creation.
+ http://creativecommons.org/licenses/by/3.0/
+
+
+ Holzbaur, K.R.S., Murray, W.M., Delp, S.L. A Model of the Upper Extremity for Simulating Musculoskeletal Surgery and Analyzing Neuromuscular Control.
+ Annals of Biomedical Engineering, vol 33, pp 829–840, 2005
+
+ meters
+ N
+
+ 0 -9.8066 0
+
+
+
+
+ 0
+ 0 0 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ ground_ribs.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_spine.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_skull.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_jaw.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_r_clavicle.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ ground_r_scapula.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ 1.37532 -0.294612 2.43596
+ -0.043905 -0.0039 0.1478
+ true
+ x
+
+
+
+
+
+
+
+ 1 1 1
+
+ 1.37532 -0.294612 2.43596 -0.043905 -0.0039 0.1478
+
+ false
+
+ 4
+
+ 0.003
+ 0.03
+
+
+
+
+
+
+ 1.864572
+ 0 -0.180496 0
+ 0.01481
+ 0.004551
+ 0.013193
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ r_shoulder_elev
+
+ -0.05889802 0.0023 0.99826136
+
+
+
+ 1 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0.99826136 -0 0.05889802
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 1 0 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 0 1
+
+
+
+ 0
+
+
+
+
+ ground
+ -0.017545 -0.007 0.17
+ 0 0 0
+ 0 0 0
+ 0 0 0
+
+
+
+
+
+ rotational
+
+ 0
+
+ 0
+
+ -1.57079633 3.14159265
+
+ false
+
+ false
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ arm_r_humerus.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ 3.00162 -0.853466 2.57419
+ -0.0078 -0.0041 -0.0014
+ true
+ z
+
+
+
+
+
+
+
+ 1 1 1
+
+ 3.00162 -0.853466 2.57419 -0.0078 -0.0041 -0.0014
+
+ false
+
+ 4
+
+ 0.035 0.02 0.02
+
+
+ -2.00434 -1.00164 0.975465
+ 0.0033 0.0073 0.0003
+ true
+ -y
+
+
+
+
+
+
+
+ 1 1 1
+
+ -2.00434 -1.00164 0.975465 0.0033 0.0073 0.0003
+
+ false
+
+ 4
+
+ 0.025 0.02 0.02
+
+
+ -0.14015 -0.00628319 0.154985
+ 0.0028 -0.2919 -0.0069
+ true
+ all
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0.14015 -0.00628319 0.154985 0.0028 -0.2919 -0.0069
+
+ false
+
+ 4
+
+ 0.016
+ 0.05
+
+
+
+
+
+
+ 1.534315
+ 0 -0.181479 0
+ 0.019281
+ 0.001571
+ 0.020062
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ r_elbow_flex
+
+ 0.04940001 0.03660001 0.99810825
+
+
+
+ 1 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0.99810825 0 -0.04940001
+
+
+
+ 0
+
+
+
+
+
+
+
+
+ 1 0 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 1 0
+
+
+
+ 0
+
+
+
+
+
+
+
+ 0 0 1
+
+
+
+ 0
+
+
+
+
+ r_humerus
+ 0.0061 -0.2904 -0.0123
+ 0 0 0
+ 0 0 0
+ 0 0 0
+
+
+
+
+
+ rotational
+
+ 0
+
+ 0
+
+ 0 2.26892803
+
+ false
+
+ false
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ arm_r_ulna.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_radius.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_lunate.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_scaphoid.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_pisiform.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_triquetrum.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_capitate.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_trapezium.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_trapezoid.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_hamate.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_1mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5mc.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_thumbprox.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_thumbdist.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_2distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_3distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_4distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5proxph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5midph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+ arm_r_5distph.vtp
+
+ 1 1 1
+
+
+
+ -0 0 -0 0 0 0
+
+ 1 1 1
+
+ 4
+
+ 1
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.05365 -0.01373 0.14723
+ ground
+
+
+ -0.02714 -0.11441 -0.00664
+ r_humerus
+
+
+ -0.03184 -0.22637 -0.01217
+ r_humerus
+
+
+ -0.01743 -0.26757 -0.01208
+ r_humerus
+
+
+ -0.0219 0.01046 -0.00078
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+ TRIlonghh
+ hybrid
+ -1 -1
+
+
+ TRIlongglen
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 798.52
+
+ 0.134
+
+ 0.143
+
+ 0.20943951
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.00599 -0.12646 0.00428
+ r_humerus
+
+
+ -0.02344 -0.14528 0.00928
+ r_humerus
+
+
+ -0.03184 -0.22637 -0.01217
+ r_humerus
+
+
+ -0.01743 -0.26757 -0.01208
+ r_humerus
+
+
+ -0.0219 0.01046 -0.00078
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 624.3
+
+ 0.1138
+
+ 0.098
+
+ 0.15707963
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.00838 -0.13695 -0.00906
+ r_humerus
+
+
+ -0.02601 -0.15139 -0.0108
+ r_humerus
+
+
+ -0.03184 -0.22637 -0.01217
+ r_humerus
+
+
+ -0.01743 -0.26757 -0.01208
+ r_humerus
+
+
+ -0.0219 0.01046 -0.00078
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 624.3
+
+ 0.1138
+
+ 0.0908
+
+ 0.15707963
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ -0.039235 0.00347 0.14795
+ ground
+
+
+ -0.028945 0.01391 0.15639
+ ground
+
+
+ 0.02131 0.01793 0.01028
+ r_humerus
+
+
+ 0.02378 -0.00511 0.01201
+ r_humerus
+
+
+ 0.01345 -0.02827 0.00136
+ r_humerus
+
+
+ 0.01068 -0.07736 -0.00165
+ r_humerus
+
+
+ 0.01703 -0.12125 0.00024
+ r_humerus
+
+
+ 0.0228 -0.1754 -0.0063
+ r_humerus
+
+
+ 0.00751 -0.04839 0.02179
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ BIClonghh
+ hybrid
+ 2 3
+
+
+
+
+
+
+ 1
+
+ 624.3
+
+ 0.1157
+
+ 0.2723
+
+ 0
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ 0.004675 -0.01231 0.13475
+ ground
+
+
+ -0.007075 -0.04004 0.14507
+ ground
+
+
+ 0.01117 -0.07576 -0.01101
+ r_humerus
+
+
+ 0.01703 -0.12125 -0.01079
+ r_humerus
+
+
+ 0.0228 -0.1754 -0.0063
+ r_humerus
+
+
+ 0.00751 -0.04839 0.02179
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+
+
+
+ 1
+
+ 435.56
+
+ 0.1321
+
+ 0.1923
+
+ 0
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+ false
+
+ 0
+
+ 1
+
+
+
+
+
+ 0.0068 -0.1739 -0.0036
+ r_humerus
+
+
+ -0.0032 -0.0239 0.0009
+ r_ulna_radius_hand
+
+
+
+
+
+
+
+
+
+
+
+ 1 1 1
+
+ -0 0 -0 0 0 0
+
+ false
+
+ 4
+
+
+
+
+ TRI
+ hybrid
+ -1 -1
+
+
+
+
+
+
+ 1
+
+ 987.26
+
+ 0.0858
+
+ 0.0535
+
+ 0
+
+ 10
+
+ 0.01
+
+ 0.04
+
+ 0.033
+
+ 0.6
+
+ 0.5
+
+ 4
+
+ 0.3
+
+ 1.8
+
+
+
+
+
+
+
+
+
+ ground
+
+ -0.01256 0.04 0.17
+
+ false
+
+
+
+ r_humerus
+
+ 0.005 -0.2904 0.03
+
+ false
+
+
+
+ r_ulna_radius_hand
+
+ -0.0011 -0.23559 0.0943
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenSim/Examples/StaticOptimizationExample/arm26_InverseKinematics.mot b/OpenSim/Examples/StaticOptimizationExample/arm26_InverseKinematics.mot
new file mode 100644
index 0000000000..4482dc0d80
--- /dev/null
+++ b/OpenSim/Examples/StaticOptimizationExample/arm26_InverseKinematics.mot
@@ -0,0 +1,133 @@
+inverse kinematics
+nRows=121
+nColumns=12
+
+# SIMM Motion File Header:
+name inverse kinematics
+datacolumns 12
+datarows 121
+otherdata 1
+range 0.000000 1.000000
+endheader
+time r_shoulder_elev r_elbow_flex r_acromion_tx r_acromion_ty r_acromion_tz r_humerus_epicondyle_tx r_humerus_epicondyle_ty r_humerus_epicondyle_tz r_radius_styloid_tx r_radius_styloid_ty r_radius_styloid_tz
+ 0.00000000 -0.36571172 0.89932091 -0.01305452 0.03950548 0.16950548 -0.01255938 -0.29741438 0.19998562 -0.01312468 -0.53356968 0.25142032
+ 0.00833333 -0.34635835 0.92606446 -0.01296065 0.03959935 0.16959935 -0.01256732 -0.29742232 0.19997768 -0.01286702 -0.53360038 0.25138255
+ 0.01666667 -0.33196550 0.95466896 -0.01285343 0.03970657 0.16970657 -0.01257439 -0.29742939 0.19997061 -0.01258261 -0.53362982 0.25134502
+ 0.02500000 -0.31486548 0.98516023 -0.01273643 0.03982357 0.16982357 -0.01258031 -0.29743531 0.19996469 -0.01224700 -0.53365833 0.25130658
+ 0.03333333 -0.34958635 1.16797448 -0.01261356 0.03994644 0.16994644 -0.01258485 -0.29743985 0.19996015 -0.01183747 -0.53368607 0.25126617
+ 0.04166667 -0.32091242 1.18102966 -0.01248890 0.04007110 0.17007110 -0.01258782 -0.29744282 0.19995718 -0.01133375 -0.53371292 0.25122284
+ 0.05000000 -0.27147880 1.21348294 -0.01236661 0.04019339 0.17019339 -0.01258911 -0.29744411 0.19995589 -0.01071857 -0.53373847 0.25117577
+ 0.05833333 -0.29593672 1.45165354 -0.01225076 0.04030924 0.17030924 -0.01258868 -0.29744368 0.19995632 -0.00997806 -0.53376194 0.25112427
+ 0.06666667 -0.23255294 1.48542215 -0.01214522 0.04041478 0.17041478 -0.01258653 -0.29744153 0.19995847 -0.00910189 -0.53378220 0.25106785
+ 0.07500000 -0.24906631 1.77076571 -0.01205349 0.04050651 0.17050651 -0.01258276 -0.29743776 0.19996224 -0.00808330 -0.53379774 0.25100613
+ 0.08333333 -0.16473664 1.81603600 -0.01197863 0.04058137 0.17058137 -0.01257751 -0.29743251 0.19996749 -0.00691885 -0.53380669 0.25093892
+ 0.09166667 -0.20303900 2.23239981 -0.01192314 0.04063686 0.17063686 -0.01257098 -0.29742598 0.19997402 -0.00560804 -0.53380691 0.25086614
+ 0.10000000 -0.09914484 2.30366584 -0.01188886 0.04067114 0.17067114 -0.01256343 -0.29741843 0.19998157 -0.00415286 -0.53379600 0.25078780
+ 0.10833333 -0.16279847 2.84960286 -0.01187693 0.04068307 0.17068307 -0.01255517 -0.29741017 0.19998983 -0.00255714 -0.53377143 0.25070403
+ 0.11666667 -0.14515615 3.21583550 -0.01188776 0.04067224 0.17067224 -0.01254650 -0.29740150 0.19999850 -0.00082605 -0.53373051 0.25061499
+ 0.12500000 -0.12953200 3.61836241 -0.01192099 0.04063901 0.17063901 -0.01253778 -0.29739278 0.20000722 0.00103459 -0.53367055 0.25052087
+ 0.13333333 -0.11559872 4.05556346 -0.01197549 0.04058451 0.17058451 -0.01252933 -0.29738433 0.20001567 0.00301876 -0.53358881 0.25042188
+ 0.14166667 -0.10321086 4.52565937 -0.01204947 0.04051053 0.17051053 -0.01252151 -0.29737651 0.20002349 0.00512072 -0.53348253 0.25031818
+ 0.15000000 -0.09222400 5.02703208 -0.01214045 0.04041955 0.17041955 -0.01251460 -0.29736960 0.20003040 0.00733533 -0.53334896 0.25020993
+ 0.15833333 -0.08250693 5.55831114 -0.01224541 0.04031459 0.17031459 -0.01250888 -0.29736388 0.20003612 0.00965821 -0.53318529 0.25009722
+ 0.16666667 -0.07394526 6.11840519 -0.01236085 0.04019915 0.17019915 -0.01250458 -0.29735958 0.20004042 0.01208588 -0.53298865 0.24998010
+ 0.17500000 -0.06643992 6.70649281 -0.01248292 0.04007708 0.17007708 -0.01250187 -0.29735687 0.20004313 0.01461569 -0.53275611 0.24985856
+ 0.18333333 -0.05990367 7.32198529 -0.01260756 0.03995244 0.16995244 -0.01250084 -0.29735584 0.20004416 0.01724570 -0.53248458 0.24973256
+ 0.19166667 -0.05425688 7.96447193 -0.01273061 0.03982939 0.16982939 -0.01250154 -0.29735654 0.20004346 0.01997452 -0.53217087 0.24960202
+ 0.20000000 -0.04942385 8.63365713 -0.01284798 0.03971202 0.16971202 -0.01250395 -0.29735895 0.20004105 0.02280103 -0.53181166 0.24946683
+ 0.20833333 -0.04532973 9.32929686 -0.01295576 0.03960424 0.16960424 -0.01250797 -0.29736297 0.20003703 0.02572420 -0.53140351 0.24932687
+ 0.21666667 -0.04189845 10.05114077 -0.01305036 0.03950964 0.16950964 -0.01251344 -0.29736844 0.20003156 0.02874286 -0.53094288 0.24918203
+ 0.22500000 -0.03905156 10.79888459 -0.01312862 0.03943138 0.16943138 -0.01252014 -0.29737514 0.20002486 0.03185548 -0.53042620 0.24903219
+ 0.23333333 -0.03670794 11.57213586 -0.01318794 0.03937206 0.16937206 -0.01252782 -0.29738282 0.20001718 0.03506007 -0.52984985 0.24887726
+ 0.24166667 -0.03478428 12.37039415 -0.01322634 0.03933366 0.16933366 -0.01253617 -0.29739117 0.20000883 0.03835410 -0.52921028 0.24871718
+ 0.25000000 -0.03319728 13.19304609 -0.01324255 0.03931745 0.16931745 -0.01254487 -0.29739987 0.20000013 0.04173442 -0.52850399 0.24855191
+ 0.25833333 -0.03185968 14.03936873 -0.01323603 0.03932397 0.16932397 -0.01255357 -0.29740857 0.19999143 0.04519735 -0.52772763 0.24838144
+ 0.26666667 -0.03069339 14.90855355 -0.01320698 0.03935302 0.16935302 -0.01256194 -0.29741694 0.19998306 0.04873870 -0.52687796 0.24820580
+ 0.27500000 -0.02962037 15.79972240 -0.01315638 0.03940362 0.16940362 -0.01256964 -0.29742464 0.19997536 0.05235386 -0.52595193 0.24802501
+ 0.28333333 -0.02857033 16.71195763 -0.01308592 0.03947408 0.16947408 -0.01257638 -0.29743138 0.19996862 0.05603789 -0.52494667 0.24783914
+ 0.29166667 -0.02748165 17.64432766 -0.01299794 0.03956206 0.16956206 -0.01258189 -0.29743689 0.19996311 0.05978563 -0.52385949 0.24764827
+ 0.30000000 -0.02630303 18.59591055 -0.01289537 0.03966463 0.16966463 -0.01258595 -0.29744095 0.19995905 0.06359178 -0.52268789 0.24745248
+ 0.30833333 -0.02499484 19.56581269 -0.01278164 0.03977836 0.16977836 -0.01258841 -0.29744341 0.19995659 0.06745099 -0.52142956 0.24725187
+ 0.31666667 -0.02352997 20.55318161 -0.01266051 0.03989949 0.16989949 -0.01258916 -0.29744416 0.19995584 0.07135787 -0.52008236 0.24704652
+ 0.32500000 -0.02189415 21.55721255 -0.01253604 0.04002396 0.17002396 -0.01258819 -0.29744319 0.19995681 0.07530707 -0.51864431 0.24683656
+ 0.33333333 -0.02008570 22.57714903 -0.01241237 0.04014763 0.17014763 -0.01258552 -0.29744052 0.19995948 0.07929325 -0.51711365 0.24662207
+ 0.34166667 -0.01811476 23.61227859 -0.01229362 0.04026638 0.17026638 -0.01258127 -0.29743627 0.19996373 0.08331112 -0.51548874 0.24640318
+ 0.35000000 -0.01600203 24.66192465 -0.01218374 0.04037626 0.17037626 -0.01257559 -0.29743059 0.19996941 0.08735537 -0.51376820 0.24617999
+ 0.35833333 -0.01377704 25.72543625 -0.01208639 0.04047361 0.17047361 -0.01256872 -0.29742372 0.19997628 0.09142070 -0.51195081 0.24595261
+ 0.36666667 -0.01147607 26.80217652 -0.01200482 0.04055518 0.17055518 -0.01256091 -0.29741591 0.19998409 0.09550181 -0.51003558 0.24572119
+ 0.37500000 -0.00913992 27.89151149 -0.01194174 0.04061826 0.17061826 -0.01255249 -0.29740749 0.19999251 0.09959332 -0.50802176 0.24548586
+ 0.38333333 -0.00681148 28.99279965 -0.01189925 0.04066075 0.17066075 -0.01254376 -0.29739876 0.20000124 0.10368986 -0.50590888 0.24524677
+ 0.39166667 -0.00453331 30.10538322 -0.01187878 0.04068122 0.17068122 -0.01253509 -0.29739009 0.20000991 0.10778597 -0.50369672 0.24500407
+ 0.40000000 -0.00234534 31.22858097 -0.01188099 0.04067901 0.17067901 -0.01252681 -0.29738181 0.20001819 0.11187620 -0.50138532 0.24475794
+ 0.40833333 -0.00028285 32.36168290 -0.01190583 0.04065417 0.17065417 -0.01251923 -0.29737423 0.20002577 0.11595504 -0.49897507 0.24450857
+ 0.41666667 0.00162535 33.50394664 -0.01195245 0.04060755 0.17060755 -0.01251267 -0.29736767 0.20003233 0.12001699 -0.49646663 0.24425615
+ 0.42500000 0.00335832 34.65459541 -0.01201931 0.04054069 0.17054069 -0.01250738 -0.29736238 0.20003762 0.12405656 -0.49386096 0.24400089
+ 0.43333333 0.00490388 35.81282221 -0.01210419 0.04045581 0.17045581 -0.01250356 -0.29735856 0.20004144 0.12806829 -0.49115935 0.24374301
+ 0.44166667 0.00625921 36.97779498 -0.01220424 0.04035576 0.17035576 -0.01250136 -0.29735636 0.20004364 0.13204683 -0.48836337 0.24348273
+ 0.45000000 0.00743086 38.14865791 -0.01231615 0.04024385 0.17024385 -0.01250087 -0.29735587 0.20004413 0.13598691 -0.48547488 0.24322029
+ 0.45833333 0.00843440 39.32453349 -0.01243617 0.04012383 0.17012383 -0.01250212 -0.29735712 0.20004288 0.13988337 -0.48249601 0.24295593
+ 0.46666667 0.00929366 40.50452568 -0.01256033 0.03999967 0.16999967 -0.01250504 -0.29736004 0.20003996 0.14373121 -0.47942919 0.24268989
+ 0.47500000 0.01003957 41.68772348 -0.01268447 0.03987553 0.16987553 -0.01250953 -0.29736453 0.20003547 0.14752556 -0.47627713 0.24242242
+ 0.48333333 0.01070875 42.87320520 -0.01280446 0.03975554 0.16975554 -0.01251541 -0.29737041 0.20002959 0.15126172 -0.47304280 0.24215378
+ 0.49166667 0.01134191 44.06004303 -0.01291632 0.03964368 0.16964368 -0.01252245 -0.29737745 0.20002255 0.15493517 -0.46972942 0.24188421
+ 0.50000000 0.01198206 45.24730749 -0.01301630 0.03954370 0.16954370 -0.01253037 -0.29738537 0.20001463 0.15854159 -0.46634048 0.24161399
+ 0.50833333 0.01267270 46.43407232 -0.01310109 0.03945891 0.16945891 -0.01253887 -0.29739387 0.20000613 0.16207688 -0.46287969 0.24134337
+ 0.51666667 0.01345596 47.61941862 -0.01316785 0.03939215 0.16939215 -0.01254760 -0.29740260 0.19999740 0.16553716 -0.45935101 0.24107261
+ 0.52500000 0.01437089 48.80243902 -0.01321436 0.03934564 0.16934564 -0.01255624 -0.29741124 0.19998876 0.16891877 -0.45575859 0.24080197
+ 0.53333333 0.01545184 49.98224116 -0.01323908 0.03932092 0.16932092 -0.01256443 -0.29741943 0.19998057 0.17221831 -0.45210681 0.24053171
+ 0.54166667 0.01672706 51.15795063 -0.01324117 0.03931883 0.16931883 -0.01257186 -0.29742686 0.19997314 0.17543264 -0.44840022 0.24026209
+ 0.55000000 0.01821759 52.32871326 -0.01322058 0.03933942 0.16933942 -0.01257824 -0.29743324 0.19996676 0.17855889 -0.44464355 0.23999336
+ 0.55833333 0.01993625 53.49369685 -0.01317798 0.03938202 0.16938202 -0.01258332 -0.29743832 0.19996168 0.18159446 -0.44084166 0.23972577
+ 0.56666667 0.02188715 54.65209201 -0.01311480 0.03944520 0.16944520 -0.01258690 -0.29744190 0.19995810 0.18453702 -0.43699960 0.23945956
+ 0.57500000 0.02406536 55.80311241 -0.01303314 0.03952686 0.16952686 -0.01258883 -0.29744383 0.19995617 0.18738455 -0.43312250 0.23919498
+ 0.58333333 0.02645693 56.94599452 -0.01293572 0.03962428 0.16962428 -0.01258904 -0.29744405 0.19995595 0.19013529 -0.42921562 0.23893226
+ 0.59166667 0.02903926 58.07999661 -0.01282578 0.03973422 0.16973422 -0.01258753 -0.29744253 0.19995747 0.19278781 -0.42528429 0.23867162
+ 0.60000000 0.03178161 59.20440250 -0.01270699 0.03985301 0.16985301 -0.01258436 -0.29743936 0.19996064 0.19534094 -0.42133392 0.23841329
+ 0.60833333 0.03464610 60.31852459 -0.01258330 0.03997670 0.16997670 -0.01257964 -0.29743464 0.19996536 0.19779387 -0.41736991 0.23815746
+ 0.61666667 0.03758875 61.42170168 -0.01245884 0.04010116 0.17010116 -0.01257356 -0.29742856 0.19997144 0.20014607 -0.41339769 0.23790435
+ 0.62500000 0.04056077 62.51329589 -0.01233775 0.04022225 0.17022225 -0.01256636 -0.29742136 0.19997864 0.20239731 -0.40942265 0.23765413
+ 0.63333333 0.04350995 63.59268878 -0.01222406 0.04033594 0.17033594 -0.01255833 -0.29741333 0.19998667 0.20454767 -0.40545016 0.23740699
+ 0.64166667 0.04638226 64.65927586 -0.01212156 0.04043844 0.17043844 -0.01254978 -0.29740478 0.19999522 0.20659748 -0.40148555 0.23716308
+ 0.65000000 0.04912336 65.71246042 -0.01203366 0.04052634 0.17052634 -0.01254103 -0.29739603 0.20000397 0.20854735 -0.39753414 0.23692258
+ 0.65833333 0.05168016 66.75164583 -0.01196330 0.04059670 0.17059670 -0.01253244 -0.29738744 0.20001256 0.21039814 -0.39360118 0.23668561
+ 0.66666667 0.05400236 67.77622719 -0.01191281 0.04064719 0.17064719 -0.01252435 -0.29737935 0.20002065 0.21215091 -0.38969195 0.23645234
+ 0.67500000 0.05604381 68.78558259 -0.01188388 0.04067612 0.17067612 -0.01251706 -0.29737206 0.20002794 0.21380696 -0.38581170 0.23622289
+ 0.68333333 0.06979236 69.77100245 -0.01187747 0.04068253 0.17068253 -0.01251087 -0.29736587 0.20003413 0.21536776 -0.38196571 0.23599740
+ 0.69166667 0.06806868 70.75126662 -0.01189380 0.04066620 0.17066620 -0.01250602 -0.29736102 0.20003898 0.21683498 -0.37815928 0.23577600
+ 0.70000000 0.06770480 71.71218515 -0.01193232 0.04062768 0.17062768 -0.01250269 -0.29735769 0.20004231 0.21821046 -0.37439776 0.23555882
+ 0.70833333 0.06690687 72.65507471 -0.01199174 0.04056826 0.17056826 -0.01250102 -0.29735602 0.20004398 0.21949622 -0.37068650 0.23534597
+ 0.71666667 0.06584502 73.57897612 -0.01207010 0.04048990 0.17048990 -0.01250108 -0.29735608 0.20004392 0.22069445 -0.36703086 0.23513758
+ 0.72500000 0.06449404 74.48314039 -0.01216477 0.04039523 0.17039523 -0.01250285 -0.29735785 0.20004215 0.22180755 -0.36343612 0.23493376
+ 0.73333333 0.06285762 75.36679895 -0.01227261 0.04028739 0.17028739 -0.01250628 -0.29736128 0.20003872 0.22283809 -0.35990746 0.23473462
+ 0.74166667 0.06094491 76.22920866 -0.01239002 0.04016998 0.17016998 -0.01251123 -0.29736623 0.20003377 0.22378885 -0.35644981 0.23454024
+ 0.75000000 0.05877203 77.06967336 -0.01251309 0.04004691 0.17004691 -0.01251750 -0.29737250 0.20002750 0.22466280 -0.35306781 0.23435070
+ 0.75833333 0.05636103 77.88756761 -0.01263773 0.03992227 0.16992227 -0.01252484 -0.29737984 0.20002016 0.22546310 -0.34976566 0.23416605
+ 0.76666667 0.05373876 78.68235732 -0.01275978 0.03980022 0.16980022 -0.01253298 -0.29738798 0.20001202 0.22619307 -0.34654709 0.23398632
+ 0.77500000 0.05093576 79.45361444 -0.01287517 0.03968483 0.16968483 -0.01254159 -0.29739659 0.20000341 0.22685619 -0.34341525 0.23381151
+ 0.78333333 0.04798497 80.20102266 -0.01298006 0.03957994 0.16957994 -0.01255033 -0.29740533 0.19999467 0.22745603 -0.34037273 0.23364162
+ 0.79166667 0.04492049 80.92437184 -0.01307096 0.03948904 0.16948904 -0.01255886 -0.29741386 0.19998614 0.22799621 -0.33742155 0.23347660
+ 0.80000000 0.04177628 81.62353969 -0.01314484 0.03941516 0.16941516 -0.01256685 -0.29742185 0.19997815 0.22848037 -0.33456327 0.23331641
+ 0.80833333 0.03858497 82.29846098 -0.01319924 0.03936076 0.16936076 -0.01257398 -0.29742898 0.19997102 0.22891211 -0.33179911 0.23316099
+ 0.81666667 0.03537668 82.94908527 -0.01323235 0.03932765 0.16932765 -0.01257998 -0.29743498 0.19996502 0.22929492 -0.32913014 0.23301028
+ 0.82500000 0.03217802 83.57532672 -0.01324306 0.03931694 0.16931694 -0.01258461 -0.29743961 0.19996039 0.22963221 -0.32655748 0.23286425
+ 0.83333333 0.02901118 84.17701009 -0.01323102 0.03932898 0.16932898 -0.01258768 -0.29744268 0.19995732 0.22992720 -0.32408258 0.23272287
+ 0.84166667 0.02589322 84.75381918 -0.01319663 0.03936337 0.16936337 -0.01258908 -0.29744408 0.19995592 0.23018300 -0.32170738 0.23258614
+ 0.85000000 0.02283563 85.30525356 -0.01314103 0.03941897 0.16941897 -0.01258876 -0.29744376 0.19995624 0.23040254 -0.31943456 0.23245411
+ 0.85833333 0.01984394 85.83060080 -0.01306607 0.03949393 0.16949393 -0.01258672 -0.29744172 0.19995828 0.23058864 -0.31726762 0.23232686
+ 0.86666667 0.01691778 86.32892998 -0.01297426 0.03958574 0.16958574 -0.01258304 -0.29743804 0.19996196 0.23074402 -0.31521095 0.23220452
+ 0.87500000 0.01405106 86.79911086 -0.01286865 0.03969135 0.16969135 -0.01257787 -0.29743287 0.19996713 0.23087130 -0.31326970 0.23208723
+ 0.88333333 0.01123241 87.23986240 -0.01275276 0.03980724 0.16980724 -0.01257142 -0.29742642 0.19997358 0.23097310 -0.31144964 0.23197518
+ 0.89166667 0.00844590 87.64983004 -0.01263045 0.03992955 0.16992955 -0.01256393 -0.29741893 0.19998107 0.23105197 -0.30975681 0.23186856
+ 0.90000000 0.00567191 88.02769033 -0.01250579 0.04005421 0.17005421 -0.01255570 -0.29741070 0.19998930 0.23111047 -0.30819707 0.23176755
+ 0.90833333 0.00288819 88.37227703 -0.01238294 0.04017706 0.17017706 -0.01254705 -0.29740205 0.19999795 0.23115111 -0.30677559 0.23167233
+ 0.91666667 0.00007104 88.68272162 -0.01226599 0.04029401 0.17029401 -0.01253832 -0.29739332 0.20000668 0.23117637 -0.30549626 0.23158301
+ 0.92500000 -0.00280345 88.95859798 -0.01215882 0.04040118 0.17040118 -0.01252985 -0.29738485 0.20001515 0.23118860 -0.30436106 0.23149965
+ 0.93333333 -0.00575814 89.20006062 -0.01206503 0.04049497 0.17049497 -0.01252197 -0.29737697 0.20002303 0.23119006 -0.30336953 0.23142223
+ 0.94166667 -0.00881334 89.40796412 -0.01198771 0.04057229 0.17057229 -0.01251500 -0.29737000 0.20003000 0.23118280 -0.30251825 0.23135060
+ 0.95000000 -0.01198637 89.58395452 -0.01192947 0.04063053 0.17063053 -0.01250920 -0.29736420 0.20003580 0.23116869 -0.30180044 0.23128455
+ 0.95833333 0.01890233 89.64605129 -0.01189222 0.04066778 0.17066778 -0.01250481 -0.29735981 0.20004019 0.23114936 -0.30120580 0.23122369
+ 0.96666667 -0.02746879 89.85716098 -0.01187722 0.04068278 0.17068278 -0.01250199 -0.29735699 0.20004301 0.23112621 -0.30072042 0.23116756
+ 0.97500000 -0.00118994 89.89484427 -0.01188496 0.04067504 0.17067504 -0.01250085 -0.29735585 0.20004415 0.23110044 -0.30032702 0.23111556
+ 0.98333333 -0.00677497 89.99446345 -0.01191519 0.04064481 0.17064481 -0.01250145 -0.29735645 0.20004355 0.23107306 -0.30000530 0.23106698
+ 0.99166667 -0.02953557 90.10080868 -0.01196690 0.04059310 0.17059310 -0.01250375 -0.29735875 0.20004125 0.23104492 -0.29973250 0.23102105
+ 1.00000000 -0.02356660 90.10762135 -0.01203836 0.04052164 0.17052164 -0.01250767 -0.29736267 0.20003733 0.23101676 -0.29948414 0.23097691
diff --git a/OpenSim/Examples/StaticOptimizationExample/arm26_Setup_StaticOptimization.xml b/OpenSim/Examples/StaticOptimizationExample/arm26_Setup_StaticOptimization.xml
new file mode 100644
index 0000000000..595973176e
--- /dev/null
+++ b/OpenSim/Examples/StaticOptimizationExample/arm26_Setup_StaticOptimization.xml
@@ -0,0 +1,100 @@
+
+
+
+
+ arm26.osim
+
+ false
+
+
+
+ Results
+
+ 20
+
+ 0.0000000
+
+ 1.0000000
+
+ false
+
+ 20000
+
+ 1.00000000
+
+ 0.00000001
+
+ 0.00001000
+
+
+
+
+
+ true
+
+ 0.00000000
+
+ 1.00000000
+
+ 1
+
+ true
+
+ true
+
+ 2.00000000
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ arm26_InverseKinematics.mot
+
+
+
+ 6.00000000
+
+
+