Skip to contents

'rollup_mass_props_and_unc()' rolls up mass properties in a data frame with (at least) these columns: id, mass, Cx, Cy, Cz, Ixx, Iyy, Izz, Ixy, Ixz, Iyz, POIconv, Ipoint, sigma_mass, sigma_Cx, sigma_Cy, sigma_Cz, sigma_Ixx, sigma_Iyy, sigma_Izz, sigma_Ixy, sigma_Ixz, sigma_Iyz.

The difference between rollup_mass_props_unc() and rollup_mass_props_and_unc() is that rollup_mass_props_unc() expects the mass properties in its input to have been rolled up, whereas rollup_mass_props_and_unc() performs the mass properties rollup itself.

Usage

rollup_mass_props_and_unc(
  tree,
  df,
  validate_df = validate_mass_props_and_unc_table,
  ...
)

Arguments

tree

An 'igraph' tree whose vertices are named as the values of the id column of df and whose directed edges point from child id to parent id.

df

A data frame with (at least) these columns: id, mass, Cx, Cy, Cz, Ixx, Iyy, Izz, Ixy, Ixz, Iyz, POIconv, Ipoint.

validate_df

A validator for the tree and table, default validate_mass_props_and_unc_table()

...

Other parameters passed to rollupTree::rollup()

Value

The updated data frame

Examples

rollup_mass_props_and_unc(mp_tree_small, mp_table_small)
#>           id         name POIconv       mass          Cx           Cy
#> 1        C.1     System 1       - 635.660192   0.3318148   1.36614630
#> 2      C.1.1    Segment 1       - 372.387816   2.7823660   2.27331548
#> 3      C.1.2    Segment 2       - 263.272375  -3.1343878   0.08299326
#> 4    C.1.1.1    Element 1       -  45.236245   0.6449576   3.40672797
#> 5    C.1.1.2    Element 2       -  83.911615   1.7979454  -0.58033620
#> 6    C.1.1.3    Element 3       - 123.272571   6.4136420   1.63215491
#> 7    C.1.1.4    Element 4       - 119.967384   0.5455573   4.50076013
#> 8    C.1.2.1    Element 5       -  97.128572   2.2245377  -4.18310553
#> 9    C.1.2.2    Element 6       -  46.012547 -23.9286608  -6.13818202
#> 10   C.1.2.3    Element 7       - 120.131257   0.4974119   5.91504913
#> 11 C.1.1.1.1  Subsystem 1       -  24.182758  12.7664845  -7.33521244
#> 12 C.1.1.1.2  Subsystem 2       -  21.053487 -13.2782447  15.74528976
#> 13 C.1.1.2.1  Subsystem 3       -  32.614045  -5.4164053   4.35058525
#> 14 C.1.1.2.2  Subsystem 4       -  18.443508   5.9446314  -2.86799230
#> 15 C.1.1.2.3  Subsystem 5       -  32.854062   6.6317379  -4.19099753
#> 16 C.1.1.3.1  Subsystem 6       -  18.809672 -11.5693537   4.60172214
#> 17 C.1.1.3.2  Subsystem 7       -  21.309572   3.7950516  -3.76444320
#> 18 C.1.1.3.3  Subsystem 8       -  28.107067   3.8710126   2.64280855
#> 19 C.1.1.3.4  Subsystem 9       -  31.461107  16.1782715   8.40798505
#> 20 C.1.1.3.5 Subsystem 10       -  23.585154  13.1261314  -6.10317776
#> 21 C.1.1.4.1 Subsystem 11       -  14.945121  10.1956219   2.09268188
#> 22 C.1.1.4.2 Subsystem 12       -  20.623094 -14.8515213  16.29220017
#> 23 C.1.1.4.3 Subsystem 13       -  27.123877  -2.3767554   2.44839217
#> 24 C.1.1.4.4 Subsystem 14       -  27.512486  12.0096670   3.91406747
#> 25 C.1.1.4.5 Subsystem 15       -  29.762807  -1.5653890  -0.04778306
#> 26 C.1.2.1.1 Subsystem 16       -  22.161742  17.0733845  -8.78939395
#> 27 C.1.2.1.2 Subsystem 17       -  29.542394  -4.0320250 -10.63513308
#> 28 C.1.2.1.3 Subsystem 18       -  19.515486 -12.2676108 -10.14297124
#> 29 C.1.2.1.4 Subsystem 19       -  25.908950   7.5732239  11.60299863
#> 30 C.1.2.2.1 Subsystem 20       -  12.256125 -25.7562192  -0.82404359
#> 31 C.1.2.2.2 Subsystem 21       -  24.446707 -17.8654251  -8.50267866
#> 32 C.1.2.2.3 Subsystem 22       -   9.309714 -37.4443673  -6.92516492
#> 33 C.1.2.3.1 Subsystem 23       -  26.125954   2.3614452   7.99620979
#> 34 C.1.2.3.2 Subsystem 24       -  23.382905  18.2483930  -4.68014506
#> 35 C.1.2.3.3 Subsystem 25       -  35.450403  -3.5173534   6.67001106
#> 36 C.1.2.3.4 Subsystem 26       -  17.672250 -15.1876417   6.45654603
#> 37 C.1.2.3.5 Subsystem 27       -  17.499745  -2.0314207  14.88894819
#>             Cz        Ixx        Iyy        Izz        Ixy         Ixz
#> 1   -0.6631918 4250838.37 4135081.32 4387869.58 -36939.709  -5703.6348
#> 2   -2.0480047 2585081.27 2468902.68 2586058.07 -85117.550 -37973.2139
#> 3    1.2955683 1663292.93 1659055.03 1795672.21  50176.631  29218.3835
#> 4    2.5048850  320437.39  303359.22  307896.12  11813.853  12051.3839
#> 5   -7.3675365  604189.22  568712.38  580609.90   2170.787 -48654.5189
#> 6   -2.6674182  872296.76  815356.63  860561.99 -60933.819   5139.9443
#> 7    0.5924761  782574.67  774764.84  833089.04 -38926.964  -7496.6478
#> 8   -2.6720265  575753.16  594699.80  658365.10  -8094.275  16633.8789
#> 9   -4.3577724  302641.25  282354.06  273741.60   3625.318   6155.0957
#> 10   6.6687862  770796.07  751263.47  831661.20  60921.951  12117.6543
#> 11   4.2506333  151242.29  151681.44  140003.01  -9285.981  11631.0816
#> 12   0.4996586  163041.13  143884.89  154262.95  14334.202   1519.8329
#> 13  -8.7423181  255264.69  233424.83  236512.40 -11454.293 -37583.6939
#> 14   1.0825770  134251.66  108878.51  127953.74  -4491.040  -8773.5625
#> 15 -10.7464962  211601.36  221873.09  212043.69  16207.560  -1864.1430
#> 16  -0.2197146  126503.16  130821.45  139832.80 -27330.473  10213.7409
#> 17  -1.9188334  145089.53  116755.20  132187.50 -11581.112  -1088.8058
#> 18  -8.7607161  201630.70  204023.21  213195.56 -18665.529  12743.3930
#> 19  -3.9374914  224390.00  198755.69  188721.43 -13754.623  -3597.5080
#> 20   3.6598721  168849.35  152364.81  172480.75  10479.314 -12953.5995
#> 21 -19.4235427  112296.22   99628.24  119189.42  -8967.034 -17431.1985
#> 22  11.4779120  117592.47  131659.48  128036.99  -9033.020  16001.4758
#> 23  -6.1146799  148774.14  138236.83  178429.75 -10292.288  -4473.0944
#> 24  10.3500735  171140.86  189129.27  181772.95   2690.691  -4928.2962
#> 25   0.1932782  216801.70  193574.31  211705.41 -17153.402    625.5424
#> 26  -3.1579625  135100.03  143906.10  144737.90  11700.688  14145.7523
#> 27  -1.6034710  178572.19  175405.60  195466.28 -22254.105   6406.1793
#> 28  -5.7969012   96462.74   96314.60  119650.33   8648.899   3211.0330
#> 29  -1.1210201  156476.58  167898.91  178778.10  -2639.827  -6387.7831
#> 30 -10.6351375   87544.81   61464.87   67216.86  10928.234  -9715.0064
#> 31  -8.5817965  153686.23  155943.84  138841.51  -9668.028  10857.7610
#> 32  14.9983160   56514.55   57897.93   64554.35   1994.626   2091.3101
#> 33   7.6261517  155060.55  172731.49  188449.97  -1180.988  17992.7924
#> 34  -4.6150983  127797.97  130060.54  141189.76   6231.141  13234.7826
#> 35   0.3587986  236295.35  218763.17  244473.95  29748.102  -4158.0539
#> 36  25.1766073  133656.24  110567.39  129817.97  14334.395 -12586.7635
#> 37  14.4091662  102298.62   95136.55  111067.09   6838.233 -11576.7357
#>              Iyz Ipoint sigma_mass  sigma_Cx  sigma_Cy  sigma_Cz sigma_Ixx
#> 1  -41942.778890  FALSE  10.294789  1.381855  1.407531  1.394688 138446.95
#> 2  -24491.138285  FALSE   7.814309  1.782194  1.841904  1.829756 108001.62
#> 3  -18581.162253  FALSE   6.702183  2.182675  2.181724  2.153366  86550.51
#> 4   -7007.889017  FALSE   2.697670  4.984638  5.143223  5.288776  38638.99
#> 5  -26282.536240  FALSE   3.715105  3.745609  3.845263  3.834822  49136.56
#> 6    7778.840431  FALSE   4.536247  3.089637  3.254088  3.201888  64307.68
#> 7    3282.213215  FALSE   4.405276  3.177938  3.239979  3.196096  59947.77
#> 8  -30339.749388  FALSE   3.923178  3.541110  3.479111  3.491385  49715.16
#> 9   -5803.382726  FALSE   2.935268  5.176938  5.277841  5.330365  36925.38
#> 10  24588.805516  FALSE   4.572978  3.231771  3.281807  3.171157  59878.94
#> 11  -3665.048708  FALSE   2.003779  6.712238  6.835242  7.050809  26174.58
#> 12  -4317.230079  FALSE   1.806182  7.246186  7.636462  7.967726  27902.84
#> 13 -15618.080046  FALSE   2.331771  5.999269  6.168735  6.328822  32199.53
#> 14 -12660.695787  FALSE   1.782875  7.445890  8.410330  7.744262  22518.59
#> 15   1819.449055  FALSE   2.277325  6.176942  6.038411  6.106111  29257.48
#> 16  -8358.576150  FALSE   1.782875  8.304336  8.633568  8.088626  25091.88
#> 17  -2664.522232  FALSE   2.003779  7.313716  7.945855  7.973809  27411.53
#> 18   6524.161885  FALSE   2.202638  6.679201  6.930867  6.864306  31706.27
#> 19   8522.567433  FALSE   2.258885  5.775885  6.145021  6.342012  31692.23
#> 20   2207.661280  FALSE   1.851915  6.886384  7.338415  6.887791  26751.68
#> 21  -9165.972965  FALSE   1.584126  9.228064 10.152855  9.212524  24044.58
#> 22  16261.755436  FALSE   1.806182  7.440766  7.351605  7.379150  21990.18
#> 23  -3840.001909  FALSE   2.183567  6.583193  6.699780  6.371265  25494.63
#> 24  21945.766469  FALSE   2.125328  6.893469  6.553788  6.744347  27563.92
#> 25 -18281.983865  FALSE   2.085599  6.128316  6.631502  6.598516  32320.03
#> 26      5.303518  FALSE   1.982796  7.521495  7.349680  7.674871  24440.47
#> 27  -9853.100892  FALSE   2.164328  6.316961  6.320899  6.223356  27305.60
#> 28   3122.748235  FALSE   1.711052  7.850957  7.438876  7.864638  21251.30
#> 29 -22770.952906  FALSE   1.961589  6.733433  6.726673  6.534697  25180.93
#> 30  15205.337279  FALSE   1.416886  8.822129 10.293580  9.685666  18663.60
#> 31 -16077.685964  FALSE   2.221545  7.213945  7.095451  7.561693  27423.23
#> 32  -5237.531391  FALSE   1.293434 12.459427 12.192670 11.314738  15462.25
#> 33   6516.436175  FALSE   2.183567  7.340154  6.971327  6.741022  28157.26
#> 34  -8520.729962  FALSE   2.003779  7.139603  7.170140  6.766174  23640.49
#> 35   9962.012056  FALSE   2.487969  5.832823  6.355414  5.928080  34261.51
#> 36  11234.043728  FALSE   1.735323  8.485650  8.543518  8.823966  24680.80
#> 37   9468.427630  FALSE   1.711052  7.813557  8.057258  7.799337  19305.84
#>    sigma_Iyy sigma_Izz sigma_Ixy sigma_Ixz sigma_Iyz
#> 1  137009.71 139073.03 64821.460 63906.768 64024.216
#> 2  103675.01 106413.04 49791.550 48317.535 50123.785
#> 3   89376.70  89372.21 41411.674 41722.019 39794.807
#> 4   37230.76  35394.58 16898.628 17683.948 18016.633
#> 5   48814.54  49341.14 23321.341 22902.162 23398.201
#> 6   59394.62  61878.03 28826.884 27561.503 29301.631
#> 7   58473.05  61552.48 28528.641 27011.938 27835.874
#> 8   52835.92  53243.40 25090.214 24823.791 22600.420
#> 9   38145.43  35982.34 16268.575 18063.736 17049.638
#> 10  59901.49  60807.41 27933.383 27546.666 27651.306
#> 11  25990.71  24135.26 11648.880 12377.863 12340.521
#> 12  26001.07  24651.86 11579.898 12231.336 12825.028
#> 13  31432.43  31009.17 14813.681 14988.362 15574.425
#> 14  20353.59  21693.13 10239.135  9843.484 10856.087
#> 15  30974.87  31348.67 14648.712 14055.614 13533.108
#> 16  23585.30  26889.80 12628.435 11017.978 11569.801
#> 17  25573.80  23897.37 10772.949 11482.496 11591.548
#> 18  29929.20  30508.35 14386.601 14177.424 14768.103
#> 19  27843.23  28779.54 12981.406 12470.376 13886.484
#> 20  24184.44  26575.96 12727.372 11592.323 13118.251
#> 21  21460.33  24968.45 11597.270 10381.893 11087.421
#> 22  22585.31  22689.94 10305.491 10307.734 10099.121
#> 23  24393.33  27190.49 12977.100 11434.763 11592.999
#> 24  30129.41  29502.91 13082.245 13298.357 13067.558
#> 25  28887.67  31192.78 14730.324 13427.046 14963.041
#> 26  25660.62  24771.13 11581.874 11775.493 11005.418
#> 27  30154.80  31098.87 14395.250 14118.471 12714.047
#> 28  22575.79  21748.94 10248.031 10693.686  8620.818
#> 29  25676.92  26189.11 12652.706 12249.382 11973.502
#> 30  15193.28  16940.24  7747.883  7035.366  8892.595
#> 31  30079.66  25397.14 10968.544 14186.802 12136.028
#> 32  16824.53  18590.62  8961.091  8126.012  7598.579
#> 33  31224.03  30289.94 13203.630 13501.351 12962.616
#> 34  23908.81  24132.28 11362.995 11351.608 11012.881
#> 35  30727.89  33968.97 15492.821 14389.849 15528.989
#> 36  24496.83  23317.08 10934.029 11144.141 11452.882
#> 37  19410.71  20455.56  9835.921  9331.513  9153.404