Index: cpp/tests/SDK-tests.txt
===================================================================
--- cpp/tests/SDK-tests.txt	(revision 1015)
+++ cpp/tests/SDK-tests.txt	(revision 1033)
@@ -51,5 +51,5 @@
 
 TESTNAME:full_props with fS
-arg:/*S*/1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
+arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
 out:*INSERTPLATFORMDEPENDENTFILE*:full_props-fS
 RUNTEST
@@ -69,5 +69,5 @@
 
 TESTNAME:f0_variants_test with fS
-arg:/*S*/1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
+arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
 out:*INSERTPLATFORMDEPENDENTFILE*:f0_variants_test-fS
 RUNTEST
@@ -110,5 +110,5 @@
 
 TESTNAME:genomanipulation with fS
-arg:/*S*/1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
+arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
 out:*INSERTPLATFORMDEPENDENTFILE*:genomanipulation-fS
 RUNTEST
@@ -166,5 +166,5 @@
 
 TESTNAME:multiline_f0_test with fS
-arg:/*S*/1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}
+arg:/*S*/1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})
 out:*INSERTPLATFORMDEPENDENTFILE*:multiline_f0_test-fS
 RUNTEST
@@ -267,5 +267,5 @@
 arg:0.4
 arg:9
-arg:PJNCL
+arg:PJNCG
 out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-f9
 RUNTEST
@@ -278,5 +278,5 @@
 arg:0.4
 arg:4
-arg:PJNCL
+arg:PJNCG
 out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-f4
 RUNTEST
@@ -289,5 +289,5 @@
 arg:0.4
 arg:H
-arg:PJNCL
+arg:PJNCG
 out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fH
 RUNTEST
@@ -300,5 +300,5 @@
 arg:0.4
 arg:B
-arg:PJNCL
+arg:PJNCG
 out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fB
 RUNTEST
@@ -311,5 +311,5 @@
 arg:0.4
 arg:L
-arg:PJNCL
+arg:PJNCG
 out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fL
 RUNTEST
@@ -322,5 +322,5 @@
 arg:0.4
 arg:S
-arg:PJNCL
+arg:PJNCG
 out:*INSERTPLATFORMDEPENDENTFILE*:evol_test-fS
 RUNTEST
Index: cpp/tests/evol_test-fS.goal
===================================================================
--- cpp/tests/evol_test-fS.goal	(revision 1015)
+++ cpp/tests/evol_test-fS.goal	(revision 1033)
@@ -1,66 +1,22 @@
-Evaluation 0	31,36.4,37	1,1,1	0,0,0	0,0,0	0,0,0	30,35.4,36
-Evaluation 10	31,34,39	1,1,1	0,0,0	0,0,0	0,0,0	30,33,38
-Evaluation 20	23,34,39	1,1,1	0,0,0	0,0,0	0,0,0	22,33,38
-Evaluation 30	23,40.7,50	1,1,1	0,0,0	0,0,0	0,0,0	22,39.7,49
-Evaluation 40	39,74.6,148	1,1.3,2	0,0.3,1	0,0.4,1	0,0,0	38,72.6,144
-Evaluation 50	39,69.8,148	1,1.3,2	0,0.3,1	0,0.3,1	0,0,0	38,67.9,144
-Evaluation 60	39,75.9,148	1,1.4,2	0,0.4,1	0,0.4,1	0,0,0	38,73.7,144
-Evaluation 70	39,108.9,216	1,1.7,3	0,0.7,2	0,0.7,1	0,0,0	38,105.8,210
-[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-Evaluation 80	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-39,137.8,221	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-1,2,3	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,1,2	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,1,2	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,0,0	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-38,133.8,215
-[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-Evaluation 90	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-39,137.3,159	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-1,1.9,2	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,0.9,1	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,1.1,2	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,0,0	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-38,133.4,154
-[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-Evaluation 99	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-39,134.9,159	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-1,1.9,2	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,0.9,1	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,0.9,2	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-0,0,0	[WARN] Model.internalCheck: stif too big in Joint #0 (adjusted)
-[WARN] Model.internalCheck: rotstif too big in Joint #0 (adjusted)
-38,131.2,154
-140.0	/*S*/1.1:R[Gpart]{i=0.014;rz=-1.102;y=0.806;z=0.806}bC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-39.0	/*S*/1.1:C{i=0.014;x=0.806;y=0.806;z=0.441}
-150.0	/*S*/1.1:R[Gpart:ry=-0.382]{i=0.014;rz=-1.102;y=0.806;z=0.806}FC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-140.0	/*S*/1.1:R[Gpart:ry=0.214]{i=0.014;y=0.806;z=0.806}FTC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-132.0	/*S*/1.1:R{i=0.014;rz=-1.102;y=0.806;z=0.806}FC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-150.0	/*S*/1.1:R[Gpart:ry=-0.382]{i=0.014;rz=-1.102;y=0.806;z=0.806}FC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-159.0	/*S*/1.1:R[Gpart:ry=-0.382]{i=0.014;rz=-1.102;y=0.806;z=0.806}bFC[Gpart]{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-139.0	/*S*/1.1:R[Gpart]{i=0.014;rz=-1.102;y=0.806;z=0.806}C{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-150.0	/*S*/1.1:R[Gpart:ry=-0.382]{i=0.014;rz=-1.102;y=0.806;z=0.806}FC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
-150.0	/*S*/1.1:R[Gpart:ry=-0.382]{i=0.014;rz=-1.102;y=0.806;z=0.806}FC{rx=0.6168;ry=1.4967;rz=-0.3841;tx=-0.0382;ty=-0.5913;tz=1.197;x=0.971;y=0.433;z=0.829}
+Evaluation 0	37,42.4,43	1,1,1	0,0,0	0,0,0	0,0,0	36,41.4,42
+Evaluation 10	37,40,45	1,1,1	0,0,0	0,0,0	0,0,0	36,39,44
+Evaluation 20	30,50.8,130	1,1.1,2	0,0.1,1	0,0.3,2	0,0,0	29,49.3,126
+Evaluation 30	38,82.4,131	1,1.4,2	0,0.4,1	0,0.4,1	0,0,0	37,80.2,127
+Evaluation 40	38,91,130	1,1.3,2	0,0.3,1	0,0.3,1	0,0,0	37,89.1,126
+Evaluation 50	47,96.1,122	1,1.1,2	0,0.1,1	0,0.2,1	0,0,0	46,94.7,118
+Evaluation 60	98,106.2,113	1,1,1	0,0,0	0,0,0	0,0,0	97,105.2,112
+Evaluation 70	100,109.8,119	1,1,1	0,0,0	0,0.5,2	0,0,0	99,108.3,116
+Evaluation 80	112,114.8,118	1,1,1	0,0,0	0,0.8,2	0,0,0	110,113,115
+Evaluation 90	112,141.7,200	1,1.3,2	0,0.3,1	0,1.7,3	0,0,0	110,138.4,195
+Evaluation 99	116,183.7,224	1,1.7,2	0,0.7,1	1,2,3	0,0,0	114,179.3,218
+216.0	/*S*/1.1,0,0.4:cFiR[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.7085,y=0.912,z=0.912}FR{rx=-0.9779,ry=0.174,rz=0.9518,tx=-0.4499,ty=-0.5055,tz=-0.8089,x=0.8736,y=0.8736,z=0.8736}
+215.0	/*S*/1.1,0,0.4:cFiR[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.7085,y=0.912,z=0.912}R{rx=-0.9779,ry=0.174,rz=0.9518,tx=-0.4499,ty=-0.5055,tz=-0.8089,x=0.8736,y=0.8736,z=0.8736}
+224.0	/*S*/1.1,0,0.4:cFiR[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.7085,y=0.912,z=0.912}FR[Gpart]{rx=-0.9779,ry=0.174,rz=0.9518,tx=-0.4499,ty=-0.5055,tz=-0.8089,x=0.8736,y=0.8736,z=0.8736}
+116.0	/*S*/1.1,0,0.4:csC[N]{rx=0.6168,ry=1.4967,rz=-0.3841,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.6537,y=0.8414,z=0.8414}
+208.0	/*S*/1.1,0,0.4:ciC[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=1.465,y=0.359,z=0.88}C{rx=-0.0202,ry=-1.4451,rz=1.0233,tx=-0.593,ty=-1.2751,tz=0.0792,x=1.299,y=1.145,z=1.64}
+117.0	/*S*/1.1,0,0.4:ciC[*;Gpart]{rx=0.6168,ry=1.4967,rz=2.579,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=1.465,y=0.359,z=0.88}
+205.0	/*S*/1.1,0,0.4:cFiR[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.7085,y=0.912,z=0.912}FR{rx=-0.9779,ry=0.174,rz=0.9518,tx=-0.4499,tz=-0.8089,x=0.8736,y=0.8736,z=0.8736}
+120.0	/*S*/1.1,0,0.4:ciR[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.7085,y=0.912,z=0.912}
+201.0	/*S*/1.1,0,0.4:ciC[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.6537,y=0.8414,z=0.8414}E{rx=-0.9779,ry=0.174,rz=0.9518,tx=-0.4499,ty=-0.5055,tz=-0.8089,x=1,y=1,z=1}
+215.0	/*S*/1.1,0,0.4:cFiR[*;Gpart]{rx=0.6168,ry=1.4967,rz=-0.468,s=1.026,tx=-0.0382,ty=-0.5913,tz=1.197,x=0.7085,y=0.912,z=0.912}R{rx=-0.9779,ry=0.174,rz=0.9518,tx=-0.4499,ty=-0.5055,tz=-0.8089,x=0.8736,y=0.8736,z=0.8736}
 
Index: cpp/tests/f0_variants_test-fS.goal
===================================================================
--- cpp/tests/f0_variants_test-fS.goal	(revision 1015)
+++ cpp/tests/f0_variants_test-fS.goal	(revision 1033)
@@ -1,4 +1,4 @@
 
-Source genotype: '1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}'
+Source genotype: '1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})'
                   ( format S )
 
@@ -8,78 +8,66 @@
 ==== With defdata (skips default values) ======
 m:
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:x=1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:x=3.4488812833580815, y=-0.26888325253375556, z=1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, ry=-0.9391, rz=0.3034
-p:x=5.053754302253353, y=-0.5377665050675111, z=2.6620556038997822, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:x=5.552059067218389, y=-1.6581236294201593, z=4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, ry=-0.9391, rz=0.3034
-p:x=5.983025350431394, y=-2.6270811423738007, z=5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, fr=0.27320538214602824, ry=-0.199
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:x=1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:x=2.669522581015868, y=-0.12927953115999094, z=1.770803754024758, sh=1, rx=1.3416, ry=-1.3967, rz=1.1368
+p:x=2.5149067817465802, y=-0.12852148117052686, z=1.7757109168238943, sh=1, ing=0.275, rx=-1.277, ry=-1.087, rz=-0.9208
+p:x=3.491120795397971, y=0.0627093264475479, z=3.542562176271334, sh=1, rx=0.4085, ry=1.0807, rz=0.5977
+p:x=4.82498021179015, y=-1.4556859677056804, z=3.7057221690326423, sh=1, rx=-0.9279, ry=-0.2806, rz=-0.7292
+p:x=2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271
+p:x=2.1225041839451873, y=0.3558613626799459, z=1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, ry=-0.3828, rz=1.5117
+p:x=3.2159989925040344, y=-0.15022914055334208, z=2.057760603467444, sh=1, rx=1.3416, ry=-1.3967, rz=1.1368
+p:x=1.0846131653683386, y=-0.09317957887309433, z=-3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, ry=-1.5695, rz=1.1659
+p:x=0.1364642552368182, y=0.619565647570761, z=3.289951226640109, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, ry=-0.3828, rz=1.5117
+p:x=1.6422082610960242, y=-0.21052356609516198, z=2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, ry=-1.3967, rz=1.1368
 j:p1=0, p2=1, sh=1
 j:p1=1, p2=2, sh=1
-j:p1=2, p2=3, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:p1=3, p2=4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:p1=4, p2=5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:n1=6, n2=4, w=-5.154
-c:n1=7, n2=0
-c:n1=15, n2=0
-c:n1=15, n2=2
-c:n1=15, n2=3
-c:n1=15, n2=9
-c:n1=15, n2=12
-c:n1=15, n2=14
+j:p1=1, p2=3, sh=2
+j:p1=3, p2=4, sh=1
+j:p1=4, p2=5, sh=1
+j:p1=0, p2=6, sh=2
+j:p1=6, p2=7, sh=1
+j:p1=6, p2=8, sh=1
+j:p1=0, p2=9, sh=1
+j:p1=0, p2=10, sh=1
+j:p1=0, p2=11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:n1=3, n2=1
 
 
 ==== Without defdata (saves all fields) ======
 m:se=1.0, Vstyle=
-p:x=0.0, y=0.0, z=0.0, sh=2, s=1.0, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.0, ry=-0.214, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=1.84400826446281, y=0.0, z=0.0, sh=2, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.36363636363636365, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=3.4488812833580815, y=-0.26888325253375556, z=1.3310278019498911, sh=1, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.3305785123966942, ing=0.25, as=0.25, rx=0.603, ry=-0.9391, rz=0.3034, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=5.053754302253353, y=-0.5377665050675111, z=2.6620556038997822, sh=2, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.3305785123966942, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=5.552059067218389, y=-1.6581236294201593, z=4.369698100138417, sh=1, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.3005259203606311, ing=0.25, as=0.25, rx=0.603, ry=-0.9391, rz=0.3034, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=5.983025350431394, y=-2.6270811423738007, z=5.846578096885344, sh=2, s=1.0, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.0, dn=1.0, fr=0.27320538214602824, ing=0.25, as=0.25, rx=0.0, ry=-0.199, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=0.0, y=0.0, z=0.0, sh=2, s=1.0, sx=0.806, sy=0.806, sz=2.295, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=1.6610658177212956, y=0.0, z=0.0, sh=2, s=1.0, sx=0.806, sy=1.0, sz=0.806, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.669522581015868, y=-0.12927953115999094, z=1.770803754024758, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=1.3416, ry=-1.3967, rz=1.1368, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.5149067817465802, y=-0.12852148117052686, z=1.7757109168238943, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.275, as=0.25, rx=-1.277, ry=-1.087, rz=-0.9208, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=3.491120795397971, y=0.0627093264475479, z=3.542562176271334, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.4085, ry=1.0807, rz=0.5977, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=4.82498021179015, y=-1.4556859677056804, z=3.7057221690326423, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=-0.9279, ry=-0.2806, rz=-0.7292, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.044122892122303, y=0.0, z=0.0, sh=3, s=1.0, sx=1.0144, sy=0.903, sz=0.903, h=0.0, dn=1.0, fr=0.4, ing=0.22727272727272727, as=0.25, rx=0.0, ry=0.271, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.1225041839451873, y=0.3558613626799459, z=1.8896569415253044, sh=3, s=1.0, sx=0.8736, sy=0.8736, sz=0.8736, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.3229, ry=-0.3828, rz=1.5117, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=3.2159989925040344, y=-0.15022914055334208, z=2.057760603467444, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=1.3416, ry=-1.3967, rz=1.1368, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=1.0846131653683386, y=-0.09317957887309433, z=-3.5838606901740344, sh=2, s=1.0, sx=1.273, sy=0.133, sz=1.509, h=0.0, dn=1.0, fr=0.4, ing=0.22727272727272727, as=0.25, rx=-0.9744, ry=-1.5695, rz=1.1659, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=0.1364642552368182, y=0.619565647570761, z=3.289951226640109, sh=3, s=1.0, sx=0.8736, sy=0.8736, sz=0.8736, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.3229, ry=-0.3828, rz=1.5117, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=1.6422082610960242, y=-0.21052356609516198, z=2.883642273506047, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.22727272727272727, as=0.25, rx=1.3416, ry=-1.3967, rz=1.1368, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
 j:p1=0, p2=1, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
 j:p1=1, p2=2, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-j:p1=2, p2=3, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=0.2165289256198347, rotstif=0.2165289256198347, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-j:p1=3, p2=4, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=0.9090909090909091, rotstif=0.9090909090909091, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-j:p1=4, p2=5, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=0.8264462809917354, rotstif=0.8264462809917354, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-n:p=0, j=-1, d=S, i=, Vstyle=neuro
-n:p=0, j=-1, d=S, i=, Vstyle=neuro
-n:p=0, j=-1, d=S, i=, Vstyle=neuro
-n:p=1, j=-1, d=S, i=, Vstyle=neuro
-n:p=1, j=-1, d=S, i=, Vstyle=neuro
-n:p=1, j=-1, d=*, i=, Vstyle=neuro
-n:p=-1, j=0, d=M, i=, Vstyle=neuro
-n:p=-1, j=0, d=M, i=, Vstyle=neuro
-n:p=-1, j=1, d=M, i=, Vstyle=neuro
-n:p=2, j=-1, d=Gpart, i=, Vstyle=neuro
-n:p=3, j=-1, d=*, i=, Vstyle=neuro
-n:p=3, j=-1, d=*, i=, Vstyle=neuro
-n:p=3, j=-1, d=Gpart, i=, Vstyle=neuro
-n:p=5, j=-1, d=*, i=, Vstyle=neuro
-n:p=5, j=-1, d=*, i=, Vstyle=neuro
-n:p=5, j=-1, d=N, i=, Vstyle=neuro
-c:n1=6, n2=4, w=-5.154, i=
-c:n1=7, n2=0, w=1.0, i=
-c:n1=15, n2=0, w=1.0, i=
-c:n1=15, n2=2, w=1.0, i=
-c:n1=15, n2=3, w=1.0, i=
-c:n1=15, n2=9, w=1.0, i=
-c:n1=15, n2=12, w=1.0, i=
-c:n1=15, n2=14, w=1.0, i=
+j:p1=1, p2=3, sh=2, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=3, p2=4, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=4, p2=5, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=6, sh=2, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=6, p2=7, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=6, p2=8, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=9, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=10, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=11, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+n:p=0, j=-1, d=Gpart, i=, Vstyle=neuro
+n:p=1, j=-1, d=N, i=, Vstyle=neuro
+n:p=-1, j=0, d=M:p=0.899, i=, Vstyle=neuro
+n:p=3, j=-1, d=N, i=, Vstyle=neuro
+n:p=6, j=-1, d=N, i=, Vstyle=neuro
+c:n1=3, n2=1, w=1.0, i=
 
 
Index: cpp/tests/full_props-fS.goal
===================================================================
--- cpp/tests/full_props-fS.goal	(revision 1015)
+++ cpp/tests/full_props-fS.goal	(revision 1033)
@@ -1,39 +1,33 @@
 //0s
 m:se=1.0, Vstyle=
-p:x=0.0, y=0.0, z=0.0, sh=2, s=1.0, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.0, ry=-0.214, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=1.84400826446281, y=0.0, z=0.0, sh=2, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.36363636363636365, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=3.4488812833580815, y=-0.26888325253375556, z=1.3310278019498911, sh=1, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.3305785123966942, ing=0.25, as=0.25, rx=0.603, ry=-0.9391, rz=0.3034, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=5.053754302253353, y=-0.5377665050675111, z=2.6620556038997822, sh=2, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.3305785123966942, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=5.552059067218389, y=-1.6581236294201593, z=4.369698100138417, sh=1, s=1.0, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, h=0.0, dn=1.0, fr=0.3005259203606311, ing=0.25, as=0.25, rx=0.603, ry=-0.9391, rz=0.3034, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
-p:x=5.983025350431394, y=-2.6270811423738007, z=5.846578096885344, sh=2, s=1.0, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.0, dn=1.0, fr=0.27320538214602824, ing=0.25, as=0.25, rx=0.0, ry=-0.199, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=0.0, y=0.0, z=0.0, sh=2, s=1.0, sx=0.806, sy=0.806, sz=2.295, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=1.6610658177212956, y=0.0, z=0.0, sh=2, s=1.0, sx=0.806, sy=1.0, sz=0.806, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.0, ry=0.0, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.669522581015868, y=-0.12927953115999094, z=1.770803754024758, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=1.3416, ry=-1.3967, rz=1.1368, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.5149067817465802, y=-0.12852148117052686, z=1.7757109168238943, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.275, as=0.25, rx=-1.277, ry=-1.087, rz=-0.9208, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=3.491120795397971, y=0.0627093264475479, z=3.542562176271334, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.4085, ry=1.0807, rz=0.5977, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=4.82498021179015, y=-1.4556859677056804, z=3.7057221690326423, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=-0.9279, ry=-0.2806, rz=-0.7292, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.044122892122303, y=0.0, z=0.0, sh=3, s=1.0, sx=1.0144, sy=0.903, sz=0.903, h=0.0, dn=1.0, fr=0.4, ing=0.22727272727272727, as=0.25, rx=0.0, ry=0.271, rz=0.0, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=2.1225041839451873, y=0.3558613626799459, z=1.8896569415253044, sh=3, s=1.0, sx=0.8736, sy=0.8736, sz=0.8736, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.3229, ry=-0.3828, rz=1.5117, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=3.2159989925040344, y=-0.15022914055334208, z=2.057760603467444, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=1.3416, ry=-1.3967, rz=1.1368, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=1.0846131653683386, y=-0.09317957887309433, z=-3.5838606901740344, sh=2, s=1.0, sx=1.273, sy=0.133, sz=1.509, h=0.0, dn=1.0, fr=0.4, ing=0.22727272727272727, as=0.25, rx=-0.9744, ry=-1.5695, rz=1.1659, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=0.1364642552368182, y=0.619565647570761, z=3.289951226640109, sh=3, s=1.0, sx=0.8736, sy=0.8736, sz=0.8736, h=0.0, dn=1.0, fr=0.4, ing=0.25, as=0.25, rx=0.3229, ry=-0.3828, rz=1.5117, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
+p:x=1.6422082610960242, y=-0.21052356609516198, z=2.883642273506047, sh=1, s=1.0, sx=1.0, sy=1.0, sz=1.0, h=0.0, dn=1.0, fr=0.4, ing=0.22727272727272727, as=0.25, rx=1.3416, ry=-1.3967, rz=1.1368, i=, Vstyle=part, vs=0.2, vr=1.0, vg=1.0, vb=1.0
 j:p1=0, p2=1, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
 j:p1=1, p2=2, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-j:p1=2, p2=3, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=0.2165289256198347, rotstif=0.2165289256198347, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-j:p1=3, p2=4, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=0.9090909090909091, rotstif=0.9090909090909091, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-j:p1=4, p2=5, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=0.8264462809917354, rotstif=0.8264462809917354, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
-n:p=0, j=-1, d=S, i=, Vstyle=neuro
-n:p=0, j=-1, d=S, i=, Vstyle=neuro
-n:p=0, j=-1, d=S, i=, Vstyle=neuro
-n:p=1, j=-1, d=S, i=, Vstyle=neuro
-n:p=1, j=-1, d=S, i=, Vstyle=neuro
-n:p=1, j=-1, d=*, i=, Vstyle=neuro
-n:p=-1, j=0, d="M:p=1.0, a=0", i=, Vstyle=neuro
-n:p=-1, j=0, d="M:p=1.0, a=0", i=, Vstyle=neuro
-n:p=-1, j=1, d="M:p=1.0, a=0", i=, Vstyle=neuro
-n:p=2, j=-1, d="Gpart:ry=0.0, rz=0.0", i=, Vstyle=neuro
-n:p=3, j=-1, d=*, i=, Vstyle=neuro
-n:p=3, j=-1, d=*, i=, Vstyle=neuro
-n:p=3, j=-1, d="Gpart:ry=0.0, rz=0.0", i=, Vstyle=neuro
-n:p=5, j=-1, d=*, i=, Vstyle=neuro
-n:p=5, j=-1, d=*, i=, Vstyle=neuro
-n:p=5, j=-1, d="N:in=0.8, fo=0.04, si=2.0, s=0.0", i=, Vstyle=neuro
-c:n1=6, n2=4, w=-5.154, i=
-c:n1=7, n2=0, w=1.0, i=
-c:n1=15, n2=0, w=1.0, i=
-c:n1=15, n2=2, w=1.0, i=
-c:n1=15, n2=3, w=1.0, i=
-c:n1=15, n2=9, w=1.0, i=
-c:n1=15, n2=12, w=1.0, i=
-c:n1=15, n2=14, w=1.0, i=
+j:p1=1, p2=3, sh=2, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=3, p2=4, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=4, p2=5, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=6, sh=2, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=6, p2=7, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=6, p2=8, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=9, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=10, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+j:p1=0, p2=11, sh=1, hx=0.0, hy=0.0, hz=0.0, hrx=0.0, hry=0.0, hrz=0.0, hxn=-1.5708, hxp=1.5708, hyn=-1.5708, hyp=1.5708, stif=1.0, rotstif=1.0, stam=0.25, i=, Vstyle=joint, vr=1.0, vg=1.0, vb=1.0
+n:p=0, j=-1, d="Gpart:ry=0.0, rz=0.0", i=, Vstyle=neuro
+n:p=1, j=-1, d="N:in=0.8, fo=0.04, si=2.0, s=0.0", i=, Vstyle=neuro
+n:p=-1, j=0, d="M:p=0.899, a=0", i=, Vstyle=neuro
+n:p=3, j=-1, d="N:in=0.8, fo=0.04, si=2.0, s=0.0", i=, Vstyle=neuro
+n:p=6, j=-1, d="N:in=0.8, fo=0.04, si=2.0, s=0.0", i=, Vstyle=neuro
+c:n1=3, n2=1, w=1.0, i=
 
 
Index: cpp/tests/genomanipulation-complex.goal
===================================================================
--- cpp/tests/genomanipulation-complex.goal	(revision 1015)
+++ cpp/tests/genomanipulation-complex.goal	(revision 1033)
@@ -29,5 +29,5 @@
    ##                                           ##
     #############################################
-            (part # 2)
+            (part # 1)
 Here is the full listing of properties as they are printed in f0
  (please compare with f0 genotype).
@@ -37,17 +37,17 @@
  [this data is provided by Part::properties() ]
  #        id                      type  name        group (22 properties)
- 0.        x = 2.0                  f   position.x  Geometry  
+ 0.        x = 1.0                  f   position.x  Geometry  
  1.        y = 0.0                  f   position.y  Geometry  
  2.        z = 0.0                  f   position.z  Geometry  
  3.       sh = 0                    d 0 3 0 shape       Geometry  
  4.        s = 1.0                  f 0.1 10.0 1.0 size        Geometry  
- 5.       sx = 1.0                  f 0.001 1000.0 1.0 scale.x     Geometry  
- 6.       sy = 1.0                  f 0.001 1000.0 1.0 scale.y     Geometry  
- 7.       sz = 1.0                  f 0.001 1000.0 1.0 scale.z     Geometry  
+ 5.       sx = 1.0                  f 0.05 5.0 1.0 scale.x     Geometry  
+ 6.       sy = 1.0                  f 0.05 5.0 1.0 scale.y     Geometry  
+ 7.       sz = 1.0                  f 0.05 5.0 1.0 scale.z     Geometry  
  8.        h = 0.0                  f 0 1 0 hollow      Other properties
  9.       dn = 1.0                  f 0.2 5.0 1.0 density     Other properties
-10.       fr = 0.976                f 0.0 4.0 0.4 friction    Other properties
-11.      ing = 0.475                f 0.0 1.0 0.25 ingestion   Other properties
-12.       as = 0.175                f 0.0 1.0 0.25 assimilation  Other properties
+10.       fr = 1.12                 f 0.0 4.0 0.4 friction    Other properties
+11.      ing = 0.53125              f 0.0 1.0 0.25 ingestion   Other properties
+12.       as = 0.15625              f 0.0 1.0 0.25 assimilation  Other properties
 13.       rx = 0.0                  f   rot.x       Geometry  
 14.       ry = 0.0                  f   rot.y       Geometry  
@@ -69,7 +69,7 @@
  0.        h = 0.0                  f 0 1 0 hollow      Extra properties
  1.       dn = 1.0                  f 0.2 5.0 1.0 density     Extra properties
- 2.       fr = 0.976                f 0.0 4.0 0.4 friction    Extra properties
- 3.      ing = 0.475                f 0.0 1.0 0.25 ingestion   Extra properties
- 4.       as = 0.175                f 0.0 1.0 0.25 assimilation  Extra properties
+ 2.       fr = 1.12                 f 0.0 4.0 0.4 friction    Extra properties
+ 3.      ing = 0.53125              f 0.0 1.0 0.25 ingestion   Extra properties
+ 4.       as = 0.15625              f 0.0 1.0 0.25 assimilation  Extra properties
  5.       vs = 0.2                  f 0.05 0.7 0.2 visual thickness  Extra properties
  6.       vr = 0.5                  f 0.0 1.0 1.0 red component  Extra properties
@@ -83,14 +83,14 @@
 Now we will try to change some of properties:
 
-      Change property #0 to random value from range [0..1]
-      Current value of 'h' (hollow) is '0.0'
+      Change property #5 to random value from range [0.05..0.7]
+      Current value of 'vs' (visual thickness) is '0.2'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.548814'
-
-Let's see f0... (check out part #2 !)
-
-p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+      The value is now '0.514873'
+
+Let's see f0... (check out part #1 !)
+
+p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
 j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
 j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
@@ -104,10 +104,10 @@
    ##                                           ##
     #############################################
-            (joint # 0)
+            (joint # 1)
 Similarly as with Part, the full list of properties comes first:
 
  #        id                      type  name        group (27 properties)
- 0.       p1 = 0                    d -1 999999 -1 part1 ref#  Connections
- 1.       p2 = 1                    d -1 999999 -1 part2 ref#  Connections
+ 0.       p1 = 1                    d -1 999999 -1 part1 ref#  Connections
+ 1.       p2 = 2                    d -1 999999 -1 part2 ref#  Connections
  2.       rx = 0.0                  f   rotation.x  Geometry  
  3.       ry = 0.0                  f   rotation.y  Geometry  
@@ -129,5 +129,5 @@
 19.     stif = 1.0                  f 0.0 1.0 1.0 stiffness   Other properties
 20.  rotstif = 1.0                  f 0.0 1.0 1.0 rotation stiffness  Other properties
-21.     stam = 0.15625              f 0.0 1.0 0.25 stamina     Other properties
+21.     stam = 0.175                f 0.0 1.0 0.25 stamina     Other properties
 22.        i =                      s   info        Other properties
 23.   Vstyle = joint                s 0 0 joint vis_style   Visual    
@@ -141,12 +141,12 @@
 Delta fields (dx,dy,dz) describe relative location of the second part.
 This joint will change the second Part's positions to preserve delta distance.
-Let's move the first Part (#0) along y axis (+0.1) and change delta.z (dz) by 0.1.
-Position of the second Part referenced by this joint (part #1) is now changed:
-
-p:y=0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, 0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, 0.1, 0.1, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
-j:0, 1, dx=1.0, 0.0, 0.1, stam=0.15625, vr=0.5, 0.5, 0.5
-j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
+Let's move the first Part (#1) along y axis (+0.1) and change delta.z (dz) by 0.1.
+Position of the second Part referenced by this joint (part #2) is now changed:
+
+p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, z=0.1, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
+j:1, 2, dx=1.0, 0.0, 0.1, stam=0.175, vr=0.5, 0.5, 0.5
 n:j=0, d=@:p=0.6543
 n:j=1, d=G
@@ -158,9 +158,9 @@
 As you can see, Joint's delta fields have altered:
 
-p:y=0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, 0.1, -0.1, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
-j:0, 1, dx=1.0, 0.0, -0.1, stam=0.15625, vr=0.5, 0.5, 0.5
-j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
+p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, z=-0.1, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
+j:1, 2, dx=1.0, 0.0, -0.1, stam=0.175, vr=0.5, 0.5, 0.5
 n:j=0, d=@:p=0.6543
 n:j=1, d=G
@@ -171,9 +171,9 @@
 f0 is now:
 
-p:y=0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, 0.1, -0.1, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
-j:0, 1, stam=0.15625, vr=0.5, 0.5, 0.5
-j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
+p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, z=-0.1, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
+j:1, 2, stam=0.175, vr=0.5, 0.5, 0.5
 n:j=0, d=@:p=0.6543
 n:j=1, d=G
@@ -188,8 +188,8 @@
 
 p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, 0.1, -0.1, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
-j:0, 1, stam=0.15625, vr=0.5, 0.5, 0.5
-j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, z=-0.1, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
+j:1, 2, stam=0.175, vr=0.5, 0.5, 0.5
 n:j=0, d=@:p=0.6543
 n:j=1, d=G
@@ -208,15 +208,15 @@
 
 They can be changed just like Part's extra properties:
-      Change property #4 to random value from range [0..1]
-      Current value of 'vb' (blue component) is '0.5'
+      Change property #3 to random value from range [0..1]
+      Current value of 'vg' (green component) is '0.5'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.592845'
+      The value is now '0.857946'
 And after that we have this genotype:
 
 p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, 0.1, -0.1, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
-j:0, 1, stam=0.15625, vr=0.5, 0.5, 0.592845
-j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, z=-0.1, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
+j:1, 2, stam=0.175, vr=0.5, 0.857946, 0.5
 n:j=0, d=@:p=0.6543
 n:j=1, d=G
@@ -228,5 +228,5 @@
    ##                                           ##
     #############################################
-            (neuro # 0)
+            (neuro # 1)
 Basic features of Neuro object are similar to those of Part and Joint.
 We can request a property list:
@@ -234,9 +234,9 @@
  #        id                      type  name        group (10 properties)
  0.        p = -1                   d -1 999999 -1 part ref#   Connections
- 1.        j = 0                    d -1 999999 -1 joint ref#  Connections
- 2.        d = @:p=0.6543           s   details     Other     
+ 1.        j = 1                    d -1 999999 -1 joint ref#  Connections
+ 2.        d = G                    s   details     Other     
  3.        i =                      s   info        Other     
  4.   Vstyle = neuro                s 0 0 neuro vis_style   Visual    
- 5. getInputCount = 1                    d   input count  Connections
+ 5. getInputCount = 0                    d   input count  Connections
  9. classObject = null                 oNeuroClass neuron class  Connections
 
@@ -248,5 +248,5 @@
 Each neuron can have any number of inputs = weighted connections
  with other neurons.
-According to Neuro::getInputCount(), this one has 1 inputs.
+According to Neuro::getInputCount(), this one has 0 inputs.
 Standard API is provided for accessing those inputs (getInput(int)),
 adding inputs (addInput(Neuro*)) and removing them (removeInput(int)).
@@ -255,22 +255,13 @@
 The most unusual thing is 'details' field (d).
 It is something like separate object with its own set of properties.
-Currently the value of 'd' is '@:p=0.6543'.
-'@' is the class name (Neuro::getClassName() == '@') and means 'Rotation muscle'.
+Currently the value of 'd' is 'G'.
+'G' is the class name (Neuro::getClassName() == 'G') and means 'Gyroscope'.
 Neuro::getClass() gives you information about basic characteristic
 of the class, that can be analyzed automatically.
-For the current object we can learn that it supports 1 inputs (getPreferredInputs()) and doesn't provide useful output signal (getPreferredOutput()==0).
-Instances of '@' can be used in models having shape types: 'ball-and-stick'.
-Instances of '@' can be attached to Joints having any shapes.
-The class defines its own properties:
-
- [ data provided by Neuro::classProperties() ]
- #        id                      type  name        group (1 properties)
- 0.        p = 0.6543               f 0.01 1.0 1.0 power       Rotation muscle
-and they can be changed:
-      Change property #0 to random value from range [0.01..1]
-      Current value of 'p' (power) is '0.6543'
-      Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.718037'
-After that, 'details' contains the new object: '@:p=0.718037'.
+For the current object we can learn that it supports no inputs (getPreferredInputs()) and provides meaningful output signal (getPreferredOutput()==1).
+Instances of 'G' can be used in models having shape types: 'ball-and-stick'.
+Instances of 'G' can be attached to Joints having any shapes.
+(This class does not have its own properties
+ - Neuro::classProperties().getPropCount()==0)
 The class of this object can be changed using Neuro::setClassName()
 The following classes are available:
@@ -302,19 +293,16 @@
 22.   Sin  Sinus generator        2
 
-Let's change the Neuro's class to 'Water'...
-[WARN] Param.loadSingleLine: Unknown property 'Water.p' (ignored)
-Info for input #0 = ""
-Info for input #0, field "abc" = ""
-The final object description will be then: 'Water'
+Let's change the Neuro's class to 'ChMux'...
+The final object description will be then: 'ChMux'
 And the full f0 genotype:
 
 p:fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, fr=1.12, ing=0.53125, as=0.15625, vr=0.5, 0.5, 0.5
-p:2.0, 0.1, -0.1, h=0.548814, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
-j:0, 1, stam=0.15625, vr=0.5, 0.5, 0.592845
-j:1, 2, dx=1.0, 0.0, 0.0, stam=0.175, vr=0.5, 0.5, 0.5
-n:j=0, d=Water
-n:j=1, d=G
-c:0, 1, -1.23456, i="test=44,abc=yeah"
+p:1.0, fr=1.12, ing=0.53125, as=0.15625, vs=0.514873, vr=0.5, 0.5, 0.5
+p:2.0, z=-0.1, fr=0.976, ing=0.475, as=0.175, vr=0.5, 0.5, 0.5
+j:0, 1, dx=1.0, 0.0, 0.0, stam=0.15625, vr=0.5, 0.5, 0.5
+j:1, 2, stam=0.175, vr=0.5, 0.857946, 0.5
+n:j=0, d=@:p=0.6543
+n:j=1, d=ChMux
+c:0, 1, -1.23456
 
 
@@ -324,5 +312,5 @@
   1. You can redirect output: genomanipulation >filename.txt
   2. Each run can yield different results and new behaviors, but you
-     need to uncomment srand(time(0)) in genomanipulation.cpp.
+     need to uncomment rndRandomizeSeed() in genomanipulation.cpp.
   3. This application will use custom genotype passed as
      a commandline parameter: genomanipulation "/*9*/FULU"
Index: cpp/tests/genomanipulation-default.goal
===================================================================
--- cpp/tests/genomanipulation-default.goal	(revision 1015)
+++ cpp/tests/genomanipulation-default.goal	(revision 1033)
@@ -42,7 +42,7 @@
  3.       sh = 0                    d 0 3 0 shape       Geometry  
  4.        s = 1.0                  f 0.1 10.0 1.0 size        Geometry  
- 5.       sx = 1.0                  f 0.001 1000.0 1.0 scale.x     Geometry  
- 6.       sy = 1.0                  f 0.001 1000.0 1.0 scale.y     Geometry  
- 7.       sz = 1.0                  f 0.001 1000.0 1.0 scale.z     Geometry  
+ 5.       sx = 1.0                  f 0.05 5.0 1.0 scale.x     Geometry  
+ 6.       sy = 1.0                  f 0.05 5.0 1.0 scale.y     Geometry  
+ 7.       sz = 1.0                  f 0.05 5.0 1.0 scale.z     Geometry  
  8.        h = 0.0                  f 0 1 0 hollow      Other properties
  9.       dn = 1.0                  f 0.2 5.0 1.0 density     Other properties
@@ -83,13 +83,13 @@
 Now we will try to change some of properties:
 
-      Change property #0 to random value from range [0..1]
-      Current value of 'h' (hollow) is '0.0'
+      Change property #5 to random value from range [0.05..0.7]
+      Current value of 'vs' (visual thickness) is '0.2'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.548814'
+      The value is now '0.514873'
 
 Let's see f0... (check out part #1 !)
 
 p:vr=0.5, 0.5, 0.5
-p:1.0, h=0.548814, vr=0.5, 0.5, 0.5
+p:1.0, vs=0.514873, vr=0.5, 0.5, 0.5
 j:0, 1, dx=1.0, 0.0, 0.0, vr=0.5, 0.5, 0.5
 n:p=1
@@ -145,5 +145,5 @@
 
 p:y=0.1, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, 0.1, h=0.548814, vr=0.5, 0.5, 0.5
+p:1.0, 0.1, 0.1, vs=0.514873, vr=0.5, 0.5, 0.5
 j:0, 1, dx=1.0, 0.0, 0.1, vr=0.5, 0.5, 0.5
 n:p=1
@@ -159,5 +159,5 @@
 
 p:y=0.1, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, h=0.548814, vr=0.5, 0.5, 0.5
+p:1.0, 0.1, -0.1, vs=0.514873, vr=0.5, 0.5, 0.5
 j:0, 1, dx=1.0, 0.0, -0.1, vr=0.5, 0.5, 0.5
 n:p=1
@@ -172,5 +172,5 @@
 
 p:y=0.1, vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, h=0.548814, vr=0.5, 0.5, 0.5
+p:1.0, 0.1, -0.1, vs=0.514873, vr=0.5, 0.5, 0.5
 j:0, 1, vr=0.5, 0.5, 0.5
 n:p=1
@@ -188,5 +188,5 @@
 
 p:vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, h=0.548814, vr=0.5, 0.5, 0.5
+p:1.0, 0.1, -0.1, vs=0.514873, vr=0.5, 0.5, 0.5
 j:0, 1, vr=0.5, 0.5, 0.5
 n:p=1
@@ -208,13 +208,13 @@
 
 They can be changed just like Part's extra properties:
-      Change property #4 to random value from range [0..1]
-      Current value of 'vb' (blue component) is '0.5'
+      Change property #3 to random value from range [0..1]
+      Current value of 'vg' (green component) is '0.5'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.592845'
+      The value is now '0.857946'
 And after that we have this genotype:
 
 p:vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, h=0.548814, vr=0.5, 0.5, 0.5
-j:0, 1, vr=0.5, 0.5, 0.592845
+p:1.0, 0.1, -0.1, vs=0.514873, vr=0.5, 0.5, 0.5
+j:0, 1, vr=0.5, 0.857946, 0.5
 n:p=1
 n:j=0, d="|:p=0.25,r=1"
@@ -228,12 +228,12 @@
    ##                                           ##
     #############################################
-            (neuro # 0)
+            (neuro # 1)
 Basic features of Neuro object are similar to those of Part and Joint.
 We can request a property list:
 
  #        id                      type  name        group (10 properties)
- 0.        p = 1                    d -1 999999 -1 part ref#   Connections
- 1.        j = -1                   d -1 999999 -1 joint ref#  Connections
- 2.        d = N                    s   details     Other     
+ 0.        p = -1                   d -1 999999 -1 part ref#   Connections
+ 1.        j = 0                    d -1 999999 -1 joint ref#  Connections
+ 2.        d = |:p=0.25,r=1         s   details     Other     
  3.        i =                      s   info        Other     
  4.   Vstyle = neuro                s 0 0 neuro vis_style   Visual    
@@ -255,24 +255,23 @@
 The most unusual thing is 'details' field (d).
 It is something like separate object with its own set of properties.
-Currently the value of 'd' is 'N'.
-'N' is the class name (Neuro::getClassName() == 'N') and means 'Neuron'.
+Currently the value of 'd' is '|:p=0.25,r=1'.
+'|' is the class name (Neuro::getClassName() == '|') and means 'Bend muscle'.
 Neuro::getClass() gives you information about basic characteristic
 of the class, that can be analyzed automatically.
-For the current object we can learn that it supports any number of inputs (getPreferredInputs()) and provides meaningful output signal (getPreferredOutput()==1).
-Instances of 'N' can be used in models having any shape types.
+For the current object we can learn that it supports 1 inputs (getPreferredInputs()) and doesn't provide useful output signal (getPreferredOutput()==0).
+Instances of '|' can be used in models having shape types: 'ball-and-stick'.
+Instances of '|' can be attached to Joints having any shapes.
 The class defines its own properties:
 
  [ data provided by Neuro::classProperties() ]
- #        id                      type  name        group (4 properties)
- 0.       in = 0.8                  f 0.0 1.0 0.8 Inertia     (null)    
- 1.       fo = 0.04                 f 0.0 999.0 0.04 Force       (null)    
- 2.       si = 2.0                  f -99999.0 99999.0 2.0 Sigmoid     (null)    
- 3.        s = 0.0                  f -1.0 1.0 0.0 State       (null)    
+ #        id                      type  name        group (2 properties)
+ 0.        p = 0.25                 f 0.01 1.0 0.25 power       Bend muscle
+ 1.        r = 1.0                  f 0.0 1.0 1.0 bending range  Bend muscle
 and they can be changed:
-      Change property #0 to random value from range [0..1]
-      Current value of 'in' (Inertia) is '0.8'
+      Change property #1 to random value from range [0..1]
+      Current value of 'r' (bending range) is '1.0'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.715189'
-After that, 'details' contains the new object: 'N:in=0.715189'.
+      The value is now '0.423655'
+After that, 'details' contains the new object: '|:r=0.423655'.
 The class of this object can be changed using Neuro::setClassName()
 The following classes are available:
@@ -304,19 +303,19 @@
 22.   Sin  Sinus generator        2
 
-Let's change the Neuro's class to 'Water'...
-[WARN] Param.loadSingleLine: Unknown property 'Water.in' (ignored)
+Let's change the Neuro's class to 'Sti'...
+[WARN] Param.loadSingleLine: Unknown property 'Sti.r' (ignored)
 Info for input #0 = ""
 Info for input #0, field "abc" = ""
-The final object description will be then: 'Water'
+The final object description will be then: 'Sti'
 And the full f0 genotype:
 
 p:vr=0.5, 0.5, 0.5
-p:1.0, 0.1, -0.1, h=0.548814, vr=0.5, 0.5, 0.5
-j:0, 1, vr=0.5, 0.5, 0.592845
-n:p=1, d=Water
-n:j=0, d="|:p=0.25,r=1"
-n:j=0, d=G
-c:0, 2, 1.23, i="test=44,abc=yeah"
-c:1, 0
+p:1.0, 0.1, -0.1, vs=0.514873, vr=0.5, 0.5, 0.5
+j:0, 1, vr=0.5, 0.857946, 0.5
+n:p=1
+n:j=0, d=Sti
+n:j=0, d=G
+c:0, 2, 1.23
+c:1, 0, i="test=44,abc=yeah"
 
 
@@ -326,5 +325,5 @@
   1. You can redirect output: genomanipulation >filename.txt
   2. Each run can yield different results and new behaviors, but you
-     need to uncomment srand(time(0)) in genomanipulation.cpp.
+     need to uncomment rndRandomizeSeed() in genomanipulation.cpp.
   3. This application will use custom genotype passed as
      a commandline parameter: genomanipulation "/*9*/FULU"
Index: cpp/tests/genomanipulation-fS.goal
===================================================================
--- cpp/tests/genomanipulation-fS.goal	(revision 1015)
+++ cpp/tests/genomanipulation-fS.goal	(revision 1033)
@@ -7,46 +7,40 @@
 Found 6 converter(s) producing f0
 
-Source genotype: '1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}'
+Source genotype: '1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})'
                   ( format S )
 Converted to f0:
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.5377665050675111, 2.6620556038997822, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
-
-Model contains: 6 part(s)
-                5 joint(s)
-                16 neuron(s)
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.1364642552368182, 0.619565647570761, 3.289951226640109, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
+
+Model contains: 12 part(s)
+                11 joint(s)
+                5 neuron(s)
 
 Investigating details...
@@ -56,5 +50,5 @@
    ##                                           ##
     #############################################
-            (part # 5)
+            (part # 6)
 Here is the full listing of properties as they are printed in f0
  (please compare with f0 genotype).
@@ -64,19 +58,19 @@
  [this data is provided by Part::properties() ]
  #        id                      type  name        group (22 properties)
- 0.        x = 5.983025350431394    f   position.x  Geometry  
- 1.        y = -2.6270811423738007  f   position.y  Geometry  
- 2.        z = 5.846578096885344    f   position.z  Geometry  
- 3.       sh = 2                    d 0 3 0 shape       Geometry  
+ 0.        x = 2.044122892122303    f   position.x  Geometry  
+ 1.        y = 0.0                  f   position.y  Geometry  
+ 2.        z = 0.0                  f   position.z  Geometry  
+ 3.       sh = 3                    d 0 3 0 shape       Geometry  
  4.        s = 1.0                  f 0.1 10.0 1.0 size        Geometry  
- 5.       sx = 0.9090909090909091   f 0.001 1000.0 1.0 scale.x     Geometry  
- 6.       sy = 0.7527272727272727   f 0.001 1000.0 1.0 scale.y     Geometry  
- 7.       sz = 0.7327272727272728   f 0.001 1000.0 1.0 scale.z     Geometry  
+ 5.       sx = 1.0144               f 0.05 5.0 1.0 scale.x     Geometry  
+ 6.       sy = 0.903                f 0.05 5.0 1.0 scale.y     Geometry  
+ 7.       sz = 0.903                f 0.05 5.0 1.0 scale.z     Geometry  
  8.        h = 0.0                  f 0 1 0 hollow      Other properties
  9.       dn = 1.0                  f 0.2 5.0 1.0 density     Other properties
-10.       fr = 0.27320538214602824  f 0.0 4.0 0.4 friction    Other properties
-11.      ing = 0.25                 f 0.0 1.0 0.25 ingestion   Other properties
+10.       fr = 0.4                  f 0.0 4.0 0.4 friction    Other properties
+11.      ing = 0.22727272727272727  f 0.0 1.0 0.25 ingestion   Other properties
 12.       as = 0.25                 f 0.0 1.0 0.25 assimilation  Other properties
 13.       rx = 0.0                  f   rot.x       Geometry  
-14.       ry = -0.199               f   rot.y       Geometry  
+14.       ry = 0.271                f   rot.y       Geometry  
 15.       rz = 0.0                  f   rot.z       Geometry  
 16.        i =                      s   info        Other properties
@@ -96,6 +90,6 @@
  0.        h = 0.0                  f 0 1 0 hollow      Extra properties
  1.       dn = 1.0                  f 0.2 5.0 1.0 density     Extra properties
- 2.       fr = 0.27320538214602824  f 0.0 4.0 0.4 friction    Extra properties
- 3.      ing = 0.25                 f 0.0 1.0 0.25 ingestion   Extra properties
+ 2.       fr = 0.4                  f 0.0 4.0 0.4 friction    Extra properties
+ 3.      ing = 0.22727272727272727  f 0.0 1.0 0.25 ingestion   Extra properties
  4.       as = 0.25                 f 0.0 1.0 0.25 assimilation  Extra properties
  5.       vs = 0.2                  f 0.05 0.7 0.2 visual thickness  Extra properties
@@ -110,46 +104,40 @@
 Now we will try to change some of properties:
 
-      Change property #0 to random value from range [0..1]
-      Current value of 'h' (hollow) is '0.0'
+      Change property #5 to random value from range [0.05..0.7]
+      Current value of 'vs' (visual thickness) is '0.2'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.548814'
-
-Let's see f0... (check out part #5 !)
-
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.5377665050675111, 2.6620556038997822, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+      The value is now '0.514873'
+
+Let's see f0... (check out part #6 !)
+
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.1364642552368182, 0.619565647570761, 3.289951226640109, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
     #############################################
@@ -158,10 +146,10 @@
    ##                                           ##
     #############################################
-            (joint # 2)
+            (joint # 9)
 Similarly as with Part, the full list of properties comes first:
 
  #        id                      type  name        group (21 properties)
- 0.       p1 = 2                    d -1 999999 -1 part1 ref#  Connections
- 1.       p2 = 3                    d -1 999999 -1 part2 ref#  Connections
+ 0.       p1 = 0                    d -1 999999 -1 part1 ref#  Connections
+ 1.       p2 = 10                   d -1 999999 -1 part2 ref#  Connections
  2.       sh = 1                    d 0 3 0 shape       Geometry  
  3.       hx = 0.0                  f   hinge position.x  Geometry  
@@ -175,6 +163,6 @@
 11.      hyn = -1.5708              f -6.2832 0 -1.5708 hinge y negative limit  Geometry  
 12.      hyp = 1.5708               f 0 6.2832 1.5708 hinge y positive limit  Geometry  
-13.     stif = 0.2165289256198347   f 0.0 1.0 1.0 stiffness   Other properties
-14.  rotstif = 0.2165289256198347   f 0.0 1.0 1.0 rotation stiffness  Other properties
+13.     stif = 1.0                  f 0.0 1.0 1.0 stiffness   Other properties
+14.  rotstif = 1.0                  f 0.0 1.0 1.0 rotation stiffness  Other properties
 15.     stam = 0.25                 f 0.0 1.0 0.25 stamina     Other properties
 16.        i =                      s   info        Other properties
@@ -192,39 +180,33 @@
 The Part's position is changed, but everything else stays intact:
 
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.36888325253375553, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.5377665050675111, 2.6620556038997822, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+p:y=-0.1, sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.1364642552368182, 0.619565647570761, 3.289951226640109, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
 How would this joint look like with delta option enabled?
@@ -232,39 +214,33 @@
 f0 is now:
 
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.36888325253375553, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.5377665050675109, 2.6620556038997822, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, rx=-0.6137069589668486, 0.9336120115153849, 0.32629609148341426, dx=1.6048730188952711, -0.16888325253375558, 1.3310278019498911, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+p:y=-0.1, sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.13646425523681838, 0.6195656475707613, 3.289951226640109, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, rx=0.3229000000000001, -0.3828, 1.5117, dx=-0.5550636879509978, 0.9656107299102641, 3.181143899353255, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
 ...so this is a delta joint.
@@ -272,42 +248,36 @@
 Delta fields (dx,dy,dz) describe relative location of the second part.
 This joint will change the second Part's positions to preserve delta distance.
-Let's move the first Part (#2) along y axis (+0.1) and change delta.z (dz) by 0.1.
-Position of the second Part referenced by this joint (part #3) is now changed:
-
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.43776650506751086, 2.762055603899782, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, rx=-0.6137069589668486, 0.9336120115153849, 0.32629609148341426, dx=1.6048730188952711, -0.16888325253375558, 1.4310278019498912, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+Let's move the first Part (#0) along y axis (+0.1) and change delta.z (dz) by 0.1.
+Position of the second Part referenced by this joint (part #10) is now changed:
+
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.17023272858450833, 0.753051220526163, 3.3779194402835317, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, rx=0.3229000000000001, -0.3828, 1.5117, dx=-0.5550636879509978, 0.9656107299102641, 3.281143899353255, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
 If no delta fields are defined, they will be computed automatically.
@@ -316,39 +286,33 @@
 As you can see, Joint's delta fields have altered:
 
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.43776650506751086, 2.5620556038997817, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, rx=-0.6137069589668486, 0.9336120115153848, 0.32629609148341426, dx=1.6048730188952707, -0.16888325253375547, 1.2310278019498906, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.17023272858450833, 0.753051220526163, 3.1779194402835316, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, rx=0.32290000000000013, -0.3828, 1.5117, dx=-0.48035983335347077, 0.9067404686418418, 3.10520747206641, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
 Part references and delta fields are the 'core' properties of the Joint.
@@ -357,6 +321,6 @@
 
  #        id                      type  name        group (5 properties)
- 0.     stif = 0.2165289256198347   f 0.0 1.0 1.0 stiffness   Extra properties
- 1.  rotstif = 0.2165289256198347   f 0.0 1.0 1.0 rotation stiffness  Extra properties
+ 0.     stif = 1.0                  f 0.0 1.0 1.0 stiffness   Extra properties
+ 1.  rotstif = 1.0                  f 0.0 1.0 1.0 rotation stiffness  Extra properties
  2.       vr = 1.0                  f 0.0 1.0 1.0 red component  Extra properties
  3.       vg = 1.0                  f 0.0 1.0 1.0 green component  Extra properties
@@ -364,45 +328,39 @@
 
 They can be changed just like Part's extra properties:
-      Change property #4 to random value from range [0..1]
-      Current value of 'vb' (blue component) is '1.0'
+      Change property #3 to random value from range [0..1]
+      Current value of 'vg' (green component) is '1.0'
       Setting new value... [ using ParamInterface::set() ]
-      The value is now '0.592845'
+      The value is now '0.857946'
 And after that we have this genotype:
 
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253352, -0.4377665050675108, 2.5620556038997817, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, rx=-0.6137069589668486, 0.9336120115153848, 0.32629609148341426, dx=1.6048730188952707, -0.16888325253375547, 1.2310278019498906, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347, vb=0.592845
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.17023272858450844, 0.7530512205261631, 3.1779194402835316, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, rx=0.32290000000000013, -0.3828, 1.5117, dx=-0.48035983335347077, 0.9067404686418418, 3.10520747206641, sh=1, vg=0.857946
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
     #############################################
@@ -411,12 +369,12 @@
    ##                                           ##
     #############################################
-            (neuro # 4)
+            (neuro # 2)
 Basic features of Neuro object are similar to those of Part and Joint.
 We can request a property list:
 
  #        id                      type  name        group (10 properties)
- 0.        p = 1                    d -1 999999 -1 part ref#   Connections
- 1.        j = -1                   d -1 999999 -1 joint ref#  Connections
- 2.        d = S                    s   details     Other     
+ 0.        p = -1                   d -1 999999 -1 part ref#   Connections
+ 1.        j = 0                    d -1 999999 -1 joint ref#  Connections
+ 2.        d = M:p=0.899            s   details     Other     
  3.        i =                      s   info        Other     
  4.   Vstyle = neuro                s 0 0 neuro vis_style   Visual    
@@ -438,13 +396,23 @@
 The most unusual thing is 'details' field (d).
 It is something like separate object with its own set of properties.
-Currently the value of 'd' is 'S'.
-'S' is the class name (Neuro::getClassName() == 'S') and means 'Smell'.
+Currently the value of 'd' is 'M:p=0.899'.
+'M' is the class name (Neuro::getClassName() == 'M') and means 'Muscle for solids'.
 Neuro::getClass() gives you information about basic characteristic
 of the class, that can be analyzed automatically.
-For the current object we can learn that it supports no inputs (getPreferredInputs()) and provides meaningful output signal (getPreferredOutput()==1).
-Instances of 'S' can be used in models having any shape types.
-Instances of 'S' can be attached to Parts.
-(This class does not have its own properties
- - Neuro::classProperties().getPropCount()==0)
+For the current object we can learn that it supports 1 inputs (getPreferredInputs()) and doesn't provide useful output signal (getPreferredOutput()==0).
+Instances of 'M' can be used in models having shape types: 'solid shapes'.
+Instances of 'M' can be attached to Joints having shapes: 'hinge x' 'hinge xy'.
+The class defines its own properties:
+
+ [ data provided by Neuro::classProperties() ]
+ #        id                      type  name        group (2 properties)
+ 0.        p = 0.899                f 0.01 1.0 1.0 power       Muscle for solids
+ 1.        a = 0                    d 0 1 0 axis        Muscle for solids
+and they can be changed:
+      Change property #1 to random value from range [0..1]
+      Current value of 'a' (axis) is '0'
+      Setting new value... [ using ParamInterface::set() ]
+      The value is now '0'
+After that, 'details' contains the new object: 'M:p=0.899'.
 The class of this object can be changed using Neuro::setClassName()
 The following classes are available:
@@ -476,43 +444,38 @@
 22.   Sin  Sinus generator        2
 
-Let's change the Neuro's class to 'D'...
-The final object description will be then: 'D'
+Let's change the Neuro's class to 'Sti'...
+[WARN] Param.loadSingleLine: Unknown property 'Sti.p' (ignored)
+The final object description will be then: 'Sti'
 And the full f0 genotype:
 
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253352, -0.4377665050675108, 2.5620556038997817, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, h=0.548814, fr=0.27320538214602824, ry=-0.199
-j:0, 1, sh=1
-j:1, 2, sh=1
-j:2, 3, rx=-0.6137069589668486, 0.9336120115153848, 0.32629609148341426, dx=1.6048730188952707, -0.16888325253375547, 1.2310278019498906, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347, vb=0.592845
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=D
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271, vs=0.514873
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.17023272858450844, 0.7530512205261631, 3.1779194402835316, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
+j:0, 1, sh=1
+j:1, 2, sh=1
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, rx=0.32290000000000013, -0.3828, 1.5117, dx=-0.48035983335347077, 0.9067404686418418, 3.10520747206641, sh=1, vg=0.857946
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=Sti
+n:p=3
+n:p=6
+c:3, 1
 
 
@@ -522,5 +485,5 @@
   1. You can redirect output: genomanipulation >filename.txt
   2. Each run can yield different results and new behaviors, but you
-     need to uncomment srand(time(0)) in genomanipulation.cpp.
+     need to uncomment rndRandomizeSeed() in genomanipulation.cpp.
   3. This application will use custom genotype passed as
      a commandline parameter: genomanipulation "/*9*/FULU"
Index: cpp/tests/multiline_f0_test-fS.goal
===================================================================
--- cpp/tests/multiline_f0_test-fS.goal	(revision 1015)
+++ cpp/tests/multiline_f0_test-fS.goal	(revision 1033)
@@ -1,41 +1,35 @@
 
-Source genotype: '1.1:ssC[S;S;S]{ry=-0.214;ty=0.781}fSC[S;S;*;M'4:-5.154;M'0]fE[M;Gpart]{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;z=1}ttC[*;*;Gpart]{st=0.262}fTE{rx=0.603;ry=-0.9391;rz=0.3034;tx=0.6534;ty=0.6856;tz=-0.166;x=1;y=1;z=1}ftC[*;*;N'0'2'3'9'12'14]{ry=-0.199;y=0.828;z=0.806}'
+Source genotype: '1.1,0,0.4:C[Gpart]{x=0.806,y=0.806,z=2.295}(C[N;M:p=0.899]{x=0.806,z=0.806}(E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1},bIE[N,1]{rx=-1.277,ry=-1.087,rz=-0.9208,tx=1.189,ty=1.1182,tz=-0.1494,x=1,y=1,z=1}E{rx=0.4085,ry=1.0807,rz=0.5977,tx=0.4698,ty=0.3333,tz=1.4408,x=1,y=1,z=1}E{rx=-0.9279,ry=-0.2806,rz=-0.7292,tx=1.1498,ty=-0.6195,tz=0.0121,x=1,y=1,z=1}),biR[N]{ry=0.271,x=1.0144,y=0.903,z=0.903}(R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},E{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1}),iC{rx=-0.9744,ry=-1.5695,rz=1.1659,tx=-0.9065,ty=-1.2759,tz=-0.0857,x=1.273,y=0.133,z=1.509},R{rx=0.3229,ry=-0.3828,rz=1.5117,tx=0.7618,ty=1.3803,tz=1.354,x=0.8736,y=0.8736,z=0.8736},iE{rx=1.3416,ry=-1.3967,rz=1.1368,tx=-0.7694,ty=1.0496,tz=-0.1275,x=1,y=1,z=1})'
                   ( format S )
 Converted to f0:
-p:sh=2, sx=0.8264462809917354, sy=0.8264462809917354, sz=0.8264462809917354, ry=-0.214
-p:1.84400826446281, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.36363636363636365
-p:3.4488812833580815, -0.26888325253375556, 1.3310278019498911, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942, rx=0.603, -0.9391, 0.3034
-p:5.053754302253353, -0.5377665050675111, 2.6620556038997822, sh=2, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3305785123966942
-p:5.552059067218389, -1.6581236294201593, 4.369698100138417, sh=1, sx=0.9090909090909091, sy=0.9090909090909091, sz=0.9090909090909091, fr=0.3005259203606311, rx=0.603, -0.9391, 0.3034
-p:5.983025350431394, -2.6270811423738007, 5.846578096885344, sh=2, sx=0.9090909090909091, sy=0.7527272727272727, sz=0.7327272727272728, fr=0.27320538214602824, ry=-0.199
+p:sh=2, sx=0.806, sy=0.806, sz=2.295
+p:1.6610658177212956, sh=2, sx=0.806, sz=0.806
+p:2.669522581015868, -0.12927953115999094, 1.770803754024758, sh=1, rx=1.3416, -1.3967, 1.1368
+p:2.5149067817465802, -0.12852148117052686, 1.7757109168238943, sh=1, ing=0.275, rx=-1.277, -1.087, -0.9208
+p:3.491120795397971, 0.0627093264475479, 3.542562176271334, sh=1, rx=0.4085, 1.0807, 0.5977
+p:4.82498021179015, -1.4556859677056804, 3.7057221690326423, sh=1, rx=-0.9279, -0.2806, -0.7292
+p:2.044122892122303, sh=3, sx=1.0144, sy=0.903, sz=0.903, ing=0.22727272727272727, ry=0.271
+p:2.1225041839451873, 0.3558613626799459, 1.8896569415253044, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:3.2159989925040344, -0.15022914055334208, 2.057760603467444, sh=1, rx=1.3416, -1.3967, 1.1368
+p:1.0846131653683386, -0.09317957887309433, -3.5838606901740344, sh=2, sx=1.273, sy=0.133, sz=1.509, ing=0.22727272727272727, rx=-0.9744, -1.5695, 1.1659
+p:0.1364642552368182, 0.619565647570761, 3.289951226640109, sh=3, sx=0.8736, sy=0.8736, sz=0.8736, rx=0.3229, -0.3828, 1.5117
+p:1.6422082610960242, -0.21052356609516198, 2.883642273506047, sh=1, ing=0.22727272727272727, rx=1.3416, -1.3967, 1.1368
 j:0, 1, sh=1
 j:1, 2, sh=1
-j:2, 3, sh=1, stif=0.2165289256198347, rotstif=0.2165289256198347
-j:3, 4, sh=1, stif=0.9090909090909091, rotstif=0.9090909090909091
-j:4, 5, sh=1, stif=0.8264462809917354, rotstif=0.8264462809917354
-n:p=0, d=S
-n:p=0, d=S
-n:p=0, d=S
-n:p=1, d=S
-n:p=1, d=S
-n:p=1, d=*
-n:j=0, d=M
-n:j=0, d=M
-n:j=1, d=M
-n:p=2, d=Gpart
-n:p=3, d=*
-n:p=3, d=*
-n:p=3, d=Gpart
-n:p=5, d=*
-n:p=5, d=*
-n:p=5
-c:6, 4, -5.154
-c:7, 0
-c:15, 0
-c:15, 2
-c:15, 3
-c:15, 9
-c:15, 12
-c:15, 14
+j:1, 3, sh=2
+j:3, 4, sh=1
+j:4, 5, sh=1
+j:0, 6, sh=2
+j:6, 7, sh=1
+j:6, 8, sh=1
+j:0, 9, sh=1
+j:0, 10, sh=1
+j:0, 11, sh=1
+n:p=0, d=Gpart
+n:p=1
+n:j=0, d=M:p=0.899
+n:p=3
+n:p=6
+c:3, 1
 
 
@@ -53,7 +47,7 @@
 sh:2
 s:1.0
-sx:0.8264462809917354
-sy:0.8264462809917354
-sz:0.8264462809917354
+sx:0.806
+sy:0.806
+sz:2.295
 h:0.0
 dn:1.0
@@ -62,5 +56,5 @@
 as:0.25
 rx:0.0
-ry:-0.214
+ry:0.0
 rz:0.0
 i:
@@ -72,15 +66,15 @@
 
 p:
-x:1.84400826446281
+x:1.6610658177212956
 y:0.0
 z:0.0
 sh:2
 s:1.0
-sx:0.9090909090909091
-sy:0.9090909090909091
-sz:0.9090909090909091
-h:0.0
-dn:1.0
-fr:0.36363636363636365
+sx:0.806
+sy:1.0
+sz:0.806
+h:0.0
+dn:1.0
+fr:0.4
 ing:0.25
 as:0.25
@@ -96,92 +90,236 @@
 
 p:
-x:3.4488812833580815
-y:-0.26888325253375556
-z:1.3310278019498911
-sh:1
-s:1.0
-sx:0.9090909090909091
-sy:0.9090909090909091
-sz:0.9090909090909091
-h:0.0
-dn:1.0
-fr:0.3305785123966942
-ing:0.25
-as:0.25
-rx:0.603
-ry:-0.9391
-rz:0.3034
-i:
-Vstyle:part
-vs:0.2
-vr:1.0
-vg:1.0
-vb:1.0
-
-p:
-x:5.053754302253353
-y:-0.5377665050675111
-z:2.6620556038997822
+x:2.669522581015868
+y:-0.12927953115999094
+z:1.770803754024758
+sh:1
+s:1.0
+sx:1.0
+sy:1.0
+sz:1.0
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.25
+as:0.25
+rx:1.3416
+ry:-1.3967
+rz:1.1368
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:2.5149067817465802
+y:-0.12852148117052686
+z:1.7757109168238943
+sh:1
+s:1.0
+sx:1.0
+sy:1.0
+sz:1.0
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.275
+as:0.25
+rx:-1.277
+ry:-1.087
+rz:-0.9208
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:3.491120795397971
+y:0.0627093264475479
+z:3.542562176271334
+sh:1
+s:1.0
+sx:1.0
+sy:1.0
+sz:1.0
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.25
+as:0.25
+rx:0.4085
+ry:1.0807
+rz:0.5977
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:4.82498021179015
+y:-1.4556859677056804
+z:3.7057221690326423
+sh:1
+s:1.0
+sx:1.0
+sy:1.0
+sz:1.0
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.25
+as:0.25
+rx:-0.9279
+ry:-0.2806
+rz:-0.7292
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:2.044122892122303
+y:0.0
+z:0.0
+sh:3
+s:1.0
+sx:1.0144
+sy:0.903
+sz:0.903
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.22727272727272727
+as:0.25
+rx:0.0
+ry:0.271
+rz:0.0
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:2.1225041839451873
+y:0.3558613626799459
+z:1.8896569415253044
+sh:3
+s:1.0
+sx:0.8736
+sy:0.8736
+sz:0.8736
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.25
+as:0.25
+rx:0.3229
+ry:-0.3828
+rz:1.5117
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:3.2159989925040344
+y:-0.15022914055334208
+z:2.057760603467444
+sh:1
+s:1.0
+sx:1.0
+sy:1.0
+sz:1.0
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.25
+as:0.25
+rx:1.3416
+ry:-1.3967
+rz:1.1368
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:1.0846131653683386
+y:-0.09317957887309433
+z:-3.5838606901740344
 sh:2
 s:1.0
-sx:0.9090909090909091
-sy:0.9090909090909091
-sz:0.9090909090909091
-h:0.0
-dn:1.0
-fr:0.3305785123966942
-ing:0.25
-as:0.25
-rx:0.0
-ry:0.0
-rz:0.0
-i:
-Vstyle:part
-vs:0.2
-vr:1.0
-vg:1.0
-vb:1.0
-
-p:
-x:5.552059067218389
-y:-1.6581236294201593
-z:4.369698100138417
-sh:1
-s:1.0
-sx:0.9090909090909091
-sy:0.9090909090909091
-sz:0.9090909090909091
-h:0.0
-dn:1.0
-fr:0.3005259203606311
-ing:0.25
-as:0.25
-rx:0.603
-ry:-0.9391
-rz:0.3034
-i:
-Vstyle:part
-vs:0.2
-vr:1.0
-vg:1.0
-vb:1.0
-
-p:
-x:5.983025350431394
-y:-2.6270811423738007
-z:5.846578096885344
-sh:2
-s:1.0
-sx:0.9090909090909091
-sy:0.7527272727272727
-sz:0.7327272727272728
-h:0.0
-dn:1.0
-fr:0.27320538214602824
-ing:0.25
-as:0.25
-rx:0.0
-ry:-0.199
-rz:0.0
+sx:1.273
+sy:0.133
+sz:1.509
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.22727272727272727
+as:0.25
+rx:-0.9744
+ry:-1.5695
+rz:1.1659
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:0.1364642552368182
+y:0.619565647570761
+z:3.289951226640109
+sh:3
+s:1.0
+sx:0.8736
+sy:0.8736
+sz:0.8736
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.25
+as:0.25
+rx:0.3229
+ry:-0.3828
+rz:1.5117
+i:
+Vstyle:part
+vs:0.2
+vr:1.0
+vg:1.0
+vb:1.0
+
+p:
+x:1.6422082610960242
+y:-0.21052356609516198
+z:2.883642273506047
+sh:1
+s:1.0
+sx:1.0
+sy:1.0
+sz:1.0
+h:0.0
+dn:1.0
+fr:0.4
+ing:0.22727272727272727
+as:0.25
+rx:1.3416
+ry:-1.3967
+rz:1.1368
 i:
 Vstyle:part
@@ -238,19 +376,19 @@
 
 j:
-p1:2
+p1:1
 p2:3
-sh:1
-hx:0.0
-hy:0.0
-hz:0.0
-hrx:0.0
-hry:0.0
-hrz:0.0
-hxn:-1.5708
-hxp:1.5708
-hyn:-1.5708
-hyp:1.5708
-stif:0.2165289256198347
-rotstif:0.2165289256198347
+sh:2
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
 stam:0.25
 i:
@@ -274,6 +412,6 @@
 hyn:-1.5708
 hyp:1.5708
-stif:0.9090909090909091
-rotstif:0.9090909090909091
+stif:1.0
+rotstif:1.0
 stam:0.25
 i:
@@ -297,6 +435,144 @@
 hyn:-1.5708
 hyp:1.5708
-stif:0.8264462809917354
-rotstif:0.8264462809917354
+stif:1.0
+rotstif:1.0
+stam:0.25
+i:
+Vstyle:joint
+vr:1.0
+vg:1.0
+vb:1.0
+
+j:
+p1:0
+p2:6
+sh:2
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
+stam:0.25
+i:
+Vstyle:joint
+vr:1.0
+vg:1.0
+vb:1.0
+
+j:
+p1:6
+p2:7
+sh:1
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
+stam:0.25
+i:
+Vstyle:joint
+vr:1.0
+vg:1.0
+vb:1.0
+
+j:
+p1:6
+p2:8
+sh:1
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
+stam:0.25
+i:
+Vstyle:joint
+vr:1.0
+vg:1.0
+vb:1.0
+
+j:
+p1:0
+p2:9
+sh:1
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
+stam:0.25
+i:
+Vstyle:joint
+vr:1.0
+vg:1.0
+vb:1.0
+
+j:
+p1:0
+p2:10
+sh:1
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
+stam:0.25
+i:
+Vstyle:joint
+vr:1.0
+vg:1.0
+vb:1.0
+
+j:
+p1:0
+p2:11
+sh:1
+hx:0.0
+hy:0.0
+hz:0.0
+hrx:0.0
+hry:0.0
+hrz:0.0
+hxn:-1.5708
+hxp:1.5708
+hyn:-1.5708
+hyp:1.5708
+stif:1.0
+rotstif:1.0
 stam:0.25
 i:
@@ -309,19 +585,5 @@
 p:0
 j:-1
-d:S
-i:
-Vstyle:neuro
-
-n:
-p:0
-j:-1
-d:S
-i:
-Vstyle:neuro
-
-n:
-p:0
-j:-1
-d:S
+d:Gpart
 i:
 Vstyle:neuro
@@ -330,19 +592,5 @@
 p:1
 j:-1
-d:S
-i:
-Vstyle:neuro
-
-n:
-p:1
-j:-1
-d:S
-i:
-Vstyle:neuro
-
-n:
-p:1
-j:-1
-d:*
+d:N
 i:
 Vstyle:neuro
@@ -351,26 +599,5 @@
 p:-1
 j:0
-d:M
-i:
-Vstyle:neuro
-
-n:
-p:-1
-j:0
-d:M
-i:
-Vstyle:neuro
-
-n:
-p:-1
-j:1
-d:M
-i:
-Vstyle:neuro
-
-n:
-p:2
-j:-1
-d:Gpart
+d:M:p=0.899
 i:
 Vstyle:neuro
@@ -379,38 +606,10 @@
 p:3
 j:-1
-d:*
+d:N
 i:
 Vstyle:neuro
 
 n:
-p:3
-j:-1
-d:*
-i:
-Vstyle:neuro
-
-n:
-p:3
-j:-1
-d:Gpart
-i:
-Vstyle:neuro
-
-n:
-p:5
-j:-1
-d:*
-i:
-Vstyle:neuro
-
-n:
-p:5
-j:-1
-d:*
-i:
-Vstyle:neuro
-
-n:
-p:5
+p:6
 j:-1
 d:N
@@ -419,51 +618,9 @@
 
 c:
-n1:6
-n2:4
-w:-5.154
-i:
-
-c:
-n1:7
-n2:0
+n1:3
+n2:1
 w:1.0
 i:
 
-c:
-n1:15
-n2:0
-w:1.0
-i:
-
-c:
-n1:15
-n2:2
-w:1.0
-i:
-
-c:
-n1:15
-n2:3
-w:1.0
-i:
-
-c:
-n1:15
-n2:9
-w:1.0
-i:
-
-c:
-n1:15
-n2:12
-w:1.0
-i:
-
-c:
-n1:15
-n2:14
-w:1.0
-i:
-
-
-
+
+
