    

 ## On this page

  

 

 # rocky\_particle\_api

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1// (C) 2024 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00002" name="l00002"></a> 2\#pragma once

<a id="l00003" name="l00003"></a> 3 

<a id="l00004" name="l00004"></a> 4// Includes =======================================================================================

<a id="l00005" name="l00005"></a> 5\#include "rocky\_particle.hpp"

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7\#include "rocky\_material\_api.hpp"

<a id="l00008" name="l00008"></a> 8\#include "rocky\_particle\_scalars.hpp"

<a id="l00009" name="l00009"></a> 9 

<a id="l00010" name="l00010"></a> 10 

<a id="l00011" name="l00011"></a> 11// ================================================================================================

<a id="l00012" name="l00012"></a> 12// IRockyParticle

<a id="l00013" name="l00013"></a> 13// ================================================================================================

<a id="l00014" name="l00014"></a> 14 

<a id="l00027" name="l00027"></a>[ 27](structIRockyParticle.xhtml)struct [IRockyParticle](structIRockyParticle.xhtml)

<a id="l00028" name="l00028"></a> 28{

<a id="l00038" name="l00038"></a> 38 ROCKY_FUNCTIONS [IRockyMaterial](structIRockyMaterial.xhtml) [get\_material](structIRockyParticle.xhtml#a39ab5586c7a893cbe156d211a10c5efd)() const;

<a id="l00039" name="l00039"></a> 39 

<a id="l00044" name="l00044"></a> 44 ROCKY_FUNCTIONS double3 [get\_centroid\_position](structIRockyParticle.xhtml#ab6a1844166c571196740d7cb3e8331a2)() const;

<a id="l00045" name="l00045"></a> 45 

<a id="l00051" name="l00051"></a> 51 ROCKY_FUNCTIONS double [get\_mass](structIRockyParticle.xhtml#a9acf8ddfc5a9c3974e19e616193de571)() const;

<a id="l00052" name="l00052"></a> 52 

<a id="l00057" name="l00057"></a> 57 ROCKY_FUNCTIONS double [get\_original\_mass](structIRockyParticle.xhtml#a0239b6fe520fb1bc69196cf4c7c298ac)() const;

<a id="l00058" name="l00058"></a> 58 

<a id="l00062" name="l00062"></a> 62 ROCKY_FUNCTIONS double [get\_size](structIRockyParticle.xhtml#a702b4bce44c268065cf9961ea88375c3)() const;

<a id="l00063" name="l00063"></a> 63 

<a id="l00067" name="l00067"></a> 67 ROCKY_FUNCTIONS double [get\_release\_time](structIRockyParticle.xhtml#af2ebac6fa5a5f9dbb5c37423ef96c471)() const;

<a id="l00068" name="l00068"></a> 68 

<a id="l00072" name="l00072"></a> 72 ROCKY_FUNCTIONS double [get\_cgm\_scale\_factor](structIRockyParticle.xhtml#ad931e6e8afe554323408148c245a537e)() const;

<a id="l00073" name="l00073"></a> 73 

<a id="l00079" name="l00079"></a> 79 ROCKY_FUNCTIONS double [get\_volume](structIRockyParticle.xhtml#a9a1df9319687462ce0c43b10e691299f)() const;

<a id="l00080" name="l00080"></a> 80 

<a id="l00087" name="l00087"></a> 87 ROCKY_FUNCTIONS double [get\_solid\_volume](structIRockyParticle.xhtml#a0fac38fa13ec5aa6495119247b8aa5d6)() const;

<a id="l00088" name="l00088"></a> 88 

<a id="l00092" name="l00092"></a> 92 ROCKY_FUNCTIONS double [get\_surface\_area](structIRockyParticle.xhtml#a2200149822388403dfd42afe5574f1f9)() const;

<a id="l00093" name="l00093"></a> 93 

<a id="l00098" name="l00098"></a> 98 ROCKY_FUNCTIONS double [get\_equivalent\_diameter](structIRockyParticle.xhtml#a5951469e0997dab052087895e2ebd95c)() const;

<a id="l00099" name="l00099"></a> 99 

<a id="l00107" name="l00107"></a> 107 ROCKY_FUNCTIONS double [get\_sphericity](structIRockyParticle.xhtml#ad60e62be9c1084b624f690d94ce0474b)() const;

<a id="l00108" name="l00108"></a> 108 

<a id="l00113" name="l00113"></a> 113 ROCKY_FUNCTIONS double3 [get\_translational\_velocity](structIRockyParticle.xhtml#a38420bd69fec1d3a803cbc5d79ea0197)() const;

<a id="l00114" name="l00114"></a> 114 

<a id="l00119" name="l00119"></a> 119 ROCKY_FUNCTIONS double3 [get\_rotational\_velocity](structIRockyParticle.xhtml#a1520d3fc8a40e54ad4c47ddb428fddff)() const;

<a id="l00120" name="l00120"></a> 120 

<a id="l00128" name="l00128"></a> 128 ROCKY_FUNCTIONS double [get\_impact\_energy](structIRockyParticle.xhtml#a35881133856b678e30b00dfa1c604b96)() const;

<a id="l00129" name="l00129"></a> 129 

<a id="l00135" name="l00135"></a> 135 ROCKY_FUNCTIONS double [get\_strength](structIRockyParticle.xhtml#a3479e29c70b861ee7724b3dec473f126)() const;

<a id="l00136" name="l00136"></a> 136 

<a id="l00140" name="l00140"></a> 140 [[deprecated("Use IRockyDeviceModel::get\_gravity() or IRockyModel::get\_gravity() instead.")]]

<a id="l00141" name="l00141"></a> 141 ROCKY_FUNCTIONS double3 [get\_gravity](structIRockyParticle.xhtml#a42a986a1659cf8a4374bf43ef6a53f63)() const;

<a id="l00142" name="l00142"></a> 142 

<a id="l00147" name="l00147"></a> 147 ROCKY_FUNCTIONS int [get\_particle\_group\_index](structIRockyParticle.xhtml#a063a7d183c621dfffd7fdd644635e51a)() const;

<a id="l00148" name="l00148"></a> 148 

<a id="l00152" name="l00152"></a> 152 ROCKY_FUNCTIONS int [get\_material\_index](structIRockyParticle.xhtml#a42f25fc898697efc23ee5576b936efa4)() const;

<a id="l00153" name="l00153"></a> 153 

<a id="l00157" name="l00157"></a> 157 ROCKY_FUNCTIONS double [get\_rolling\_resistance\_coefficient](structIRockyParticle.xhtml#ad9ba593e2adb58a8273b23214b14b60b)() const;

<a id="l00158" name="l00158"></a> 158 

<a id="l00164" name="l00164"></a> 164 ROCKY_FUNCTIONS thrust::tuple&lt;double3, double&gt; [get\_orientation\_axis\_angle](structIRockyParticle.xhtml#adf12c219fb518212af2932b99c39ae52)() const;

<a id="l00165" name="l00165"></a> 165 

<a id="l00170" name="l00170"></a> 170 ROCKY_FUNCTIONS double4 [get\_orientation\_quaternion](structIRockyParticle.xhtml#afd3262f90c7304197e8915b4d40a58f6)() const;

<a id="l00171" name="l00171"></a> 171 

<a id="l00181" name="l00181"></a> 181 ROCKY_FUNCTIONS double3 [get\_resultant\_force](structIRockyParticle.xhtml#ac520e2ca9342f42a1260d42bb1f882a0)() const;

<a id="l00182" name="l00182"></a> 182 

<a id="l00189" name="l00189"></a> 189 ROCKY_FUNCTIONS double3 [get\_resultant\_moment](structIRockyParticle.xhtml#a58a9a71f0e2cd25a475c5681682a8c7e)() const;

<a id="l00190" name="l00190"></a> 190 

<a id="l00197" name="l00197"></a> 197 ROCKY_FUNCTIONS double [get\_thermal\_conductivity](structIRockyParticle.xhtml#a8c3db18d0afb4ebe6d4654d833d904cb)() const;

<a id="l00198" name="l00198"></a> 198 

<a id="l00206" name="l00206"></a> 206 ROCKY_FUNCTIONS void [set\_thermal\_conductivity](structIRockyParticle.xhtml#a876773eeef5269e1335ae8a43cbb2d97)(double value);

<a id="l00207" name="l00207"></a> 207 

<a id="l00214" name="l00214"></a> 214 ROCKY_FUNCTIONS double [get\_poisson\_ratio](structIRockyParticle.xhtml#a6d11bc8367e406b7a56f98d92871f059)() const;

<a id="l00215" name="l00215"></a> 215 

<a id="l00223" name="l00223"></a> 223 ROCKY_FUNCTIONS void [set\_poisson\_ratio](structIRockyParticle.xhtml#a7225418a496fdaae3dc3ba7bc3d7ebca)(double value);

<a id="l00224" name="l00224"></a> 224 

<a id="l00231" name="l00231"></a> 231 ROCKY_FUNCTIONS double [get\_specific\_heat](structIRockyParticle.xhtml#a5007ecaea7e26cfe50579a959ba91c07)() const;

<a id="l00232" name="l00232"></a> 232 

<a id="l00242" name="l00242"></a> 242 ROCKY_FUNCTIONS int [get\_tag](structIRockyParticle.xhtml#a2949c9bf228226090d1e7cf95b63c38f)() const;

<a id="l00243" name="l00243"></a> 243 

<a id="l00251" name="l00251"></a> 251 ROCKY_FUNCTIONS void [set\_specific\_heat](structIRockyParticle.xhtml#a6ea5a3cc6356d1b80b3e8cde1fe43211)(double value);

<a id="l00252" name="l00252"></a> 252 

<a id="l00257" name="l00257"></a> 257 ROCKY_FUNCTIONS [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [get\_scalars](structIRockyParticle.xhtml#a305fe472ba945e793d450053dc3b092f)();

<a id="l00258" name="l00258"></a> 258 

<a id="l00263" name="l00263"></a> 263 ROCKY_FUNCTIONS const [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [get\_scalars](structIRockyParticle.xhtml#a305fe472ba945e793d450053dc3b092f)() const;

<a id="l00264" name="l00264"></a> 264 

<a id="l00269" name="l00269"></a> 269 ROCKY_FUNCTIONS [IRockyParticleTransferScalars](structIRockyParticleTransferScalars.xhtml) [get\_transfer\_scalars](structIRockyParticle.xhtml#af1bcfda3336619839953a01fbe7828ea)();

<a id="l00270" name="l00270"></a> 270 

<a id="l00275" name="l00275"></a> 275 ROCKY_FUNCTIONS [IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml) [get\_breakage\_scalars](structIRockyParticle.xhtml#a9efea10efd70526b3ffe3f723253e44e)();

<a id="l00276" name="l00276"></a> 276 

<a id="l00280" name="l00280"></a> 280 ROCKY_FUNCTIONS void [remove](structIRockyParticle.xhtml#a2fdb4c9362bd6b650aba18ad2fb6c66d)();

<a id="l00281" name="l00281"></a> 281 

<a id="l00288" name="l00288"></a> 288 ROCKY_FUNCTIONS void [add\_force](structIRockyParticle.xhtml#aebc83f532d4bd643046c1c8a93e09f1d)(const double3 &amp;force);

<a id="l00289" name="l00289"></a> 289 

<a id="l00296" name="l00296"></a> 296 ROCKY_FUNCTIONS void [add\_moment](structIRockyParticle.xhtml#a8bb789078434998231949cc5c7c5f3b4)(const double3&amp; moment);

<a id="l00297" name="l00297"></a> 297 

<a id="l00305" name="l00305"></a> 305 ROCKY_FUNCTIONS void [set\_frozen](structIRockyParticle.xhtml#ae6c885d84af14576949205c3b9fb5bd5)(bool frozen);

<a id="l00306" name="l00306"></a> 306 

<a id="l00312" name="l00312"></a> 312 ROCKY_FUNCTIONS void [disable\_related\_particle\_contacts](structIRockyParticle.xhtml#a98c502d7e6af16bbefdb1ff769810980)();

<a id="l00313" name="l00313"></a> 313 

<a id="l00318" name="l00318"></a> 318 ROCKY_FUNCTIONS void [enable\_related\_particle\_contacts](structIRockyParticle.xhtml#a964a3f27bd8217bbff4301539ecbc1fc)();

<a id="l00319" name="l00319"></a> 319 

<a id="l00323" name="l00323"></a> 323 ROCKY_FUNCTIONS void [disable\_related\_triangle\_contacts](structIRockyParticle.xhtml#a1c445981cc6ac5392560d863927b4211)();

<a id="l00324" name="l00324"></a> 324 

<a id="l00328" name="l00328"></a> 328 ROCKY_FUNCTIONS void [enable\_related\_triangle\_contacts](structIRockyParticle.xhtml#a6d87618d43d29b5d2dcd7f5946e1d0f4)();

<a id="l00329" name="l00329"></a> 329 

<a id="l00333" name="l00333"></a> 333 ROCKY_FUNCTIONS const double3 [get\_moment\_of\_inertia](structIRockyParticle.xhtml#a0ddf76406051617c1cf3ad5602230e74)() const;

<a id="l00334" name="l00334"></a> 334 

<a id="l00338" name="l00338"></a> 338 ROCKY_FUNCTIONS bool [is\_element](structIRockyParticle.xhtml#a0ede768e89206dcba2b8929eefa961e7)() const;

<a id="l00339" name="l00339"></a> 339 

<a id="l00343" name="l00343"></a> 343 ROCKY_FUNCTIONS bool [is\_assembly](structIRockyParticle.xhtml#a7324f759e40ff9147728dd7e666f9816)() const;

<a id="l00344" name="l00344"></a> 344 

<a id="l00348" name="l00348"></a> 348 ROCKY_FUNCTIONS size\_t [get\_number\_of\_assembly\_parts](structIRockyParticle.xhtml#a7174efcf1264a05c6bd5cabe2e927148)() const;

<a id="l00349" name="l00349"></a> 349 

<a id="l00356" name="l00356"></a> 356 ROCKY_FUNCTIONS [IRockyMaterial](structIRockyMaterial.xhtml) [get\_assembly\_part\_material](structIRockyParticle.xhtml#a1a737fd34952d960d93f4f8940fd804e)(size\_t part_id) const;

<a id="l00357" name="l00357"></a> 357 

<a id="l00361" name="l00361"></a> 361 ROCKY_FUNCTIONS void [remove\_from\_contacts\_search](structIRockyParticle.xhtml#af4d25f3ada35c955fd0fe7ba24a244c4)();

<a id="l00362" name="l00362"></a> 362 

<a id="l00366" name="l00366"></a> 366 ROCKY_FUNCTIONS void [add\_to\_contacts\_search](structIRockyParticle.xhtml#afe35f545701281de61b805237f4c5d8f)();

<a id="l00367" name="l00367"></a> 367 

<a id="l00369" name="l00369"></a> 369 ROCKY_FUNCTIONS [IRockyParticle](structIRockyParticle.xhtml)(int _index, SDeviceModel *_model);

<a id="l00370" name="l00370"></a> 370 

<a id="l00371" name="l00371"></a> 371 RockyParticle _impl;

<a id="l00373" name="l00373"></a> 373};



<a id="l00374" name="l00374"></a> 374 

<a id="l00375" name="l00375"></a> 375inline ROCKY_FUNCTIONS IRockyParticle::IRockyParticle(int _index, SDeviceModel* _model)

<a id="l00376" name="l00376"></a> 376 : _impl(_model, _index)

<a id="l00377" name="l00377"></a> 377{

<a id="l00378" name="l00378"></a> 378}

<a id="l00379" name="l00379"></a> 379 

<a id="l00380" name="l00380"></a>[ 380](structIRockyParticle.xhtml#a39ab5586c7a893cbe156d211a10c5efd)inline ROCKY_FUNCTIONS [IRockyMaterial](structIRockyMaterial.xhtml) [IRockyParticle::get\_material](structIRockyParticle.xhtml#a39ab5586c7a893cbe156d211a10c5efd)() const

<a id="l00381" name="l00381"></a> 381{

<a id="l00382" name="l00382"></a> 382 return [IRockyMaterial](structIRockyMaterial.xhtml)(this-&gt;_impl.get_material());

<a id="l00383" name="l00383"></a> 383}



<a id="l00384" name="l00384"></a> 384 

<a id="l00385" name="l00385"></a>[ 385](structIRockyParticle.xhtml#ab6a1844166c571196740d7cb3e8331a2)inline ROCKY_FUNCTIONS double3 [IRockyParticle::get\_centroid\_position](structIRockyParticle.xhtml#ab6a1844166c571196740d7cb3e8331a2)() const

<a id="l00386" name="l00386"></a> 386{

<a id="l00387" name="l00387"></a> 387 return double3{ this-&gt;_impl.particle-&gt;x, this-&gt;_impl.particle-&gt;y, this-&gt;_impl.particle-&gt;z };

<a id="l00388" name="l00388"></a> 388}



<a id="l00389" name="l00389"></a> 389 

<a id="l00390" name="l00390"></a>[ 390](structIRockyParticle.xhtml#a9acf8ddfc5a9c3974e19e616193de571)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_mass](structIRockyParticle.xhtml#a9acf8ddfc5a9c3974e19e616193de571)() const

<a id="l00391" name="l00391"></a> 391{

<a id="l00392" name="l00392"></a> 392 return this-&gt;_impl.get_mass();

<a id="l00393" name="l00393"></a> 393}



<a id="l00394" name="l00394"></a> 394 

<a id="l00395" name="l00395"></a>[ 395](structIRockyParticle.xhtml#a0239b6fe520fb1bc69196cf4c7c298ac)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_original\_mass](structIRockyParticle.xhtml#a0239b6fe520fb1bc69196cf4c7c298ac)() const

<a id="l00396" name="l00396"></a> 396{

<a id="l00397" name="l00397"></a> 397 return this-&gt;_impl.get_original_mass();

<a id="l00398" name="l00398"></a> 398}



<a id="l00399" name="l00399"></a> 399 

<a id="l00400" name="l00400"></a>[ 400](structIRockyParticle.xhtml#a702b4bce44c268065cf9961ea88375c3)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_size](structIRockyParticle.xhtml#a702b4bce44c268065cf9961ea88375c3)() const

<a id="l00401" name="l00401"></a> 401{

<a id="l00402" name="l00402"></a> 402 return this-&gt;_impl.get_size();

<a id="l00403" name="l00403"></a> 403}



<a id="l00404" name="l00404"></a> 404 

<a id="l00405" name="l00405"></a>[ 405](structIRockyParticle.xhtml#af2ebac6fa5a5f9dbb5c37423ef96c471)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_release\_time](structIRockyParticle.xhtml#af2ebac6fa5a5f9dbb5c37423ef96c471)() const

<a id="l00406" name="l00406"></a> 406{

<a id="l00407" name="l00407"></a> 407 return this-&gt;_impl.get_release_time();

<a id="l00408" name="l00408"></a> 408}



<a id="l00409" name="l00409"></a> 409 

<a id="l00410" name="l00410"></a>[ 410](structIRockyParticle.xhtml#ad931e6e8afe554323408148c245a537e)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_cgm\_scale\_factor](structIRockyParticle.xhtml#ad931e6e8afe554323408148c245a537e)() const

<a id="l00411" name="l00411"></a> 411{

<a id="l00412" name="l00412"></a> 412 return this-&gt;_impl.get_cgm_scale_factor();

<a id="l00413" name="l00413"></a> 413}



<a id="l00414" name="l00414"></a> 414 

<a id="l00415" name="l00415"></a>[ 415](structIRockyParticle.xhtml#a38420bd69fec1d3a803cbc5d79ea0197)inline ROCKY_FUNCTIONS double3 [IRockyParticle::get\_translational\_velocity](structIRockyParticle.xhtml#a38420bd69fec1d3a803cbc5d79ea0197)() const

<a id="l00416" name="l00416"></a> 416{

<a id="l00417" name="l00417"></a> 417 return this-&gt;_impl.get_translational_velocity();

<a id="l00418" name="l00418"></a> 418}



<a id="l00419" name="l00419"></a> 419 

<a id="l00420" name="l00420"></a>[ 420](structIRockyParticle.xhtml#a1520d3fc8a40e54ad4c47ddb428fddff)inline ROCKY_FUNCTIONS double3 [IRockyParticle::get\_rotational\_velocity](structIRockyParticle.xhtml#a1520d3fc8a40e54ad4c47ddb428fddff)() const

<a id="l00421" name="l00421"></a> 421{

<a id="l00422" name="l00422"></a> 422 return this-&gt;_impl.get_rotational_velocity();

<a id="l00423" name="l00423"></a> 423}



<a id="l00424" name="l00424"></a> 424 

<a id="l00425" name="l00425"></a>[ 425](structIRockyParticle.xhtml#a42a986a1659cf8a4374bf43ef6a53f63)inline ROCKY_FUNCTIONS double3 [IRockyParticle::get\_gravity](structIRockyParticle.xhtml#a42a986a1659cf8a4374bf43ef6a53f63)() const

<a id="l00426" name="l00426"></a> 426{

<a id="l00427" name="l00427"></a> 427 return { this-&gt;_impl.model-&gt;gen-&gt;gx, this-&gt;_impl.model-&gt;gen-&gt;gy, this-&gt;_impl.model-&gt;gen-&gt;gz };

<a id="l00428" name="l00428"></a> 428}



<a id="l00429" name="l00429"></a> 429 

<a id="l00430" name="l00430"></a>[ 430](structIRockyParticle.xhtml#a9a1df9319687462ce0c43b10e691299f)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_volume](structIRockyParticle.xhtml#a9a1df9319687462ce0c43b10e691299f)() const

<a id="l00431" name="l00431"></a> 431{

<a id="l00432" name="l00432"></a> 432 return this-&gt;_impl.get_bulk_volume();

<a id="l00433" name="l00433"></a> 433}



<a id="l00434" name="l00434"></a> 434 

<a id="l00435" name="l00435"></a>[ 435](structIRockyParticle.xhtml#a0fac38fa13ec5aa6495119247b8aa5d6)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_solid\_volume](structIRockyParticle.xhtml#a0fac38fa13ec5aa6495119247b8aa5d6)() const

<a id="l00436" name="l00436"></a> 436{

<a id="l00437" name="l00437"></a> 437 return this-&gt;_impl.get_solid_volume();

<a id="l00438" name="l00438"></a> 438}



<a id="l00439" name="l00439"></a> 439 

<a id="l00440" name="l00440"></a>[ 440](structIRockyParticle.xhtml#a2200149822388403dfd42afe5574f1f9)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_surface\_area](structIRockyParticle.xhtml#a2200149822388403dfd42afe5574f1f9)() const

<a id="l00441" name="l00441"></a> 441{

<a id="l00442" name="l00442"></a> 442 return this-&gt;_impl.get_area();

<a id="l00443" name="l00443"></a> 443}



<a id="l00444" name="l00444"></a> 444 

<a id="l00445" name="l00445"></a>[ 445](structIRockyParticle.xhtml#a35881133856b678e30b00dfa1c604b96)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_impact\_energy](structIRockyParticle.xhtml#a35881133856b678e30b00dfa1c604b96)() const

<a id="l00446" name="l00446"></a> 446{

<a id="l00447" name="l00447"></a> 447 return this-&gt;_impl.get_impact_energy();

<a id="l00448" name="l00448"></a> 448}



<a id="l00449" name="l00449"></a> 449 

<a id="l00450" name="l00450"></a>[ 450](structIRockyParticle.xhtml#a3479e29c70b861ee7724b3dec473f126)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_strength](structIRockyParticle.xhtml#a3479e29c70b861ee7724b3dec473f126)() const

<a id="l00451" name="l00451"></a> 451{

<a id="l00452" name="l00452"></a> 452 return this-&gt;_impl.get_strength();

<a id="l00453" name="l00453"></a> 453}



<a id="l00454" name="l00454"></a> 454 

<a id="l00455" name="l00455"></a>[ 455](structIRockyParticle.xhtml#a5951469e0997dab052087895e2ebd95c)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_equivalent\_diameter](structIRockyParticle.xhtml#a5951469e0997dab052087895e2ebd95c)() const

<a id="l00456" name="l00456"></a> 456{

<a id="l00457" name="l00457"></a> 457 return this-&gt;_impl.get_equivalent_diameter();

<a id="l00458" name="l00458"></a> 458}



<a id="l00459" name="l00459"></a> 459 

<a id="l00460" name="l00460"></a>[ 460](structIRockyParticle.xhtml#ad60e62be9c1084b624f690d94ce0474b)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_sphericity](structIRockyParticle.xhtml#ad60e62be9c1084b624f690d94ce0474b)() const

<a id="l00461" name="l00461"></a> 461{

<a id="l00462" name="l00462"></a> 462 return this-&gt;_impl.get_sphericity();

<a id="l00463" name="l00463"></a> 463}



<a id="l00464" name="l00464"></a> 464 

<a id="l00465" name="l00465"></a>[ 465](structIRockyParticle.xhtml#a063a7d183c621dfffd7fdd644635e51a)inline ROCKY_FUNCTIONS int [IRockyParticle::get\_particle\_group\_index](structIRockyParticle.xhtml#a063a7d183c621dfffd7fdd644635e51a)() const

<a id="l00466" name="l00466"></a> 466{

<a id="l00467" name="l00467"></a> 467 return this-&gt;_impl.get_particle_group_index();

<a id="l00468" name="l00468"></a> 468}



<a id="l00469" name="l00469"></a> 469 

<a id="l00470" name="l00470"></a>[ 470](structIRockyParticle.xhtml#a42f25fc898697efc23ee5576b936efa4)inline ROCKY_FUNCTIONS int [IRockyParticle::get\_material\_index](structIRockyParticle.xhtml#a42f25fc898697efc23ee5576b936efa4)() const {

<a id="l00471" name="l00471"></a> 471 return this-&gt;_impl.get_group().get_material_index();

<a id="l00472" name="l00472"></a> 472}



<a id="l00473" name="l00473"></a> 473 

<a id="l00474" name="l00474"></a>[ 474](structIRockyParticle.xhtml#ad9ba593e2adb58a8273b23214b14b60b)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_rolling\_resistance\_coefficient](structIRockyParticle.xhtml#ad9ba593e2adb58a8273b23214b14b60b)() const {

<a id="l00475" name="l00475"></a> 475 return this-&gt;_impl.get_group().rol;

<a id="l00476" name="l00476"></a> 476}



<a id="l00477" name="l00477"></a> 477 

<a id="l00478" name="l00478"></a>[ 478](structIRockyParticle.xhtml#afd3262f90c7304197e8915b4d40a58f6)inline ROCKY_FUNCTIONS double4 [IRockyParticle::get\_orientation\_quaternion](structIRockyParticle.xhtml#afd3262f90c7304197e8915b4d40a58f6)() const

<a id="l00479" name="l00479"></a> 479{

<a id="l00480" name="l00480"></a> 480 return this-&gt;_impl.get_orientation_quaternion();

<a id="l00481" name="l00481"></a> 481}



<a id="l00482" name="l00482"></a> 482 

<a id="l00483" name="l00483"></a>[ 483](structIRockyParticle.xhtml#ac520e2ca9342f42a1260d42bb1f882a0)inline ROCKY_FUNCTIONS double3 [IRockyParticle::get\_resultant\_force](structIRockyParticle.xhtml#ac520e2ca9342f42a1260d42bb1f882a0)() const

<a id="l00484" name="l00484"></a> 484{

<a id="l00485" name="l00485"></a> 485 return this-&gt;_impl.get_forces();

<a id="l00486" name="l00486"></a> 486}



<a id="l00487" name="l00487"></a> 487 

<a id="l00488" name="l00488"></a>[ 488](structIRockyParticle.xhtml#a58a9a71f0e2cd25a475c5681682a8c7e)inline ROCKY_FUNCTIONS double3 [IRockyParticle::get\_resultant\_moment](structIRockyParticle.xhtml#a58a9a71f0e2cd25a475c5681682a8c7e)() const

<a id="l00489" name="l00489"></a> 489{

<a id="l00490" name="l00490"></a> 490 return this-&gt;_impl.get_moments();

<a id="l00491" name="l00491"></a> 491}



<a id="l00492" name="l00492"></a> 492 

<a id="l00493" name="l00493"></a>[ 493](structIRockyParticle.xhtml#adf12c219fb518212af2932b99c39ae52)inline ROCKY_FUNCTIONS thrust::tuple&lt;double3, double&gt; [IRockyParticle::get\_orientation\_axis\_angle](structIRockyParticle.xhtml#adf12c219fb518212af2932b99c39ae52)() const

<a id="l00494" name="l00494"></a> 494{

<a id="l00495" name="l00495"></a> 495 const SVectorAngleD _va = this-&gt;_impl.get_orientation_axis_angle();

<a id="l00496" name="l00496"></a> 496 return thrust::make_tuple(double3 { _va.x, _va.y, _va.z }, _va.angle);

<a id="l00497" name="l00497"></a> 497}



<a id="l00498" name="l00498"></a> 498 

<a id="l00499" name="l00499"></a>[ 499](structIRockyParticle.xhtml#a8c3db18d0afb4ebe6d4654d833d904cb)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_thermal\_conductivity](structIRockyParticle.xhtml#a8c3db18d0afb4ebe6d4654d833d904cb)() const

<a id="l00500" name="l00500"></a> 500{

<a id="l00501" name="l00501"></a> 501 return this-&gt;_impl.get_thermal_conductivity();

<a id="l00502" name="l00502"></a> 502}



<a id="l00503" name="l00503"></a> 503 

<a id="l00504" name="l00504"></a>[ 504](structIRockyParticle.xhtml#a876773eeef5269e1335ae8a43cbb2d97)inline ROCKY_FUNCTIONS void [IRockyParticle::set\_thermal\_conductivity](structIRockyParticle.xhtml#a876773eeef5269e1335ae8a43cbb2d97)(double value)

<a id="l00505" name="l00505"></a> 505{

<a id="l00506" name="l00506"></a> 506 this-&gt;_impl.set_thermal_conductivity(value);

<a id="l00507" name="l00507"></a> 507}



<a id="l00508" name="l00508"></a> 508 

<a id="l00509" name="l00509"></a>[ 509](structIRockyParticle.xhtml#a6d11bc8367e406b7a56f98d92871f059)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_poisson\_ratio](structIRockyParticle.xhtml#a6d11bc8367e406b7a56f98d92871f059)() const

<a id="l00510" name="l00510"></a> 510{

<a id="l00511" name="l00511"></a> 511 return this-&gt;_impl.get_poisson_ratio();

<a id="l00512" name="l00512"></a> 512}



<a id="l00513" name="l00513"></a> 513 

<a id="l00514" name="l00514"></a>[ 514](structIRockyParticle.xhtml#a7225418a496fdaae3dc3ba7bc3d7ebca)inline ROCKY_FUNCTIONS void [IRockyParticle::set\_poisson\_ratio](structIRockyParticle.xhtml#a7225418a496fdaae3dc3ba7bc3d7ebca)(double value)

<a id="l00515" name="l00515"></a> 515{

<a id="l00516" name="l00516"></a> 516 this-&gt;_impl.set_poisson_ratio(value);

<a id="l00517" name="l00517"></a> 517}



<a id="l00518" name="l00518"></a> 518 

<a id="l00519" name="l00519"></a>[ 519](structIRockyParticle.xhtml#a5007ecaea7e26cfe50579a959ba91c07)inline ROCKY_FUNCTIONS double [IRockyParticle::get\_specific\_heat](structIRockyParticle.xhtml#a5007ecaea7e26cfe50579a959ba91c07)() const

<a id="l00520" name="l00520"></a> 520{

<a id="l00521" name="l00521"></a> 521 return this-&gt;_impl.get_specific_heat();

<a id="l00522" name="l00522"></a> 522}



<a id="l00523" name="l00523"></a> 523 

<a id="l00524" name="l00524"></a>[ 524](structIRockyParticle.xhtml#a6ea5a3cc6356d1b80b3e8cde1fe43211)inline ROCKY_FUNCTIONS void [IRockyParticle::set\_specific\_heat](structIRockyParticle.xhtml#a6ea5a3cc6356d1b80b3e8cde1fe43211)(double value)

<a id="l00525" name="l00525"></a> 525{

<a id="l00526" name="l00526"></a> 526 this-&gt;_impl.set_specific_heat(value);

<a id="l00527" name="l00527"></a> 527}



<a id="l00528" name="l00528"></a> 528 

<a id="l00529" name="l00529"></a>[ 529](structIRockyParticle.xhtml#a2949c9bf228226090d1e7cf95b63c38f)inline ROCKY_FUNCTIONS int [IRockyParticle::get\_tag](structIRockyParticle.xhtml#a2949c9bf228226090d1e7cf95b63c38f)() const

<a id="l00530" name="l00530"></a> 530{

<a id="l00531" name="l00531"></a> 531 return this-&gt;_impl.get_tag();

<a id="l00532" name="l00532"></a> 532}



<a id="l00533" name="l00533"></a> 533 

<a id="l00534" name="l00534"></a> 534// Scalars

<a id="l00535" name="l00535"></a> 535 

<a id="l00536" name="l00536"></a>[ 536](structIRockyParticle.xhtml#a305fe472ba945e793d450053dc3b092f)inline ROCKY_FUNCTIONS [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [IRockyParticle::get\_scalars](structIRockyParticle.xhtml#a305fe472ba945e793d450053dc3b092f)()

<a id="l00537" name="l00537"></a> 537{

<a id="l00538" name="l00538"></a> 538 return this-&gt;_impl.get_scalars();

<a id="l00539" name="l00539"></a> 539}



<a id="l00540" name="l00540"></a> 540 

<a id="l00541" name="l00541"></a>[ 541](structIRockyParticle.xhtml#a0899498770cbebb4b538cbc736e82231)inline ROCKY_FUNCTIONS const [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [IRockyParticle::get\_scalars](structIRockyParticle.xhtml#a305fe472ba945e793d450053dc3b092f)() const

<a id="l00542" name="l00542"></a> 542{

<a id="l00543" name="l00543"></a> 543 return this-&gt;_impl.get_scalars();

<a id="l00544" name="l00544"></a> 544}



<a id="l00545" name="l00545"></a> 545 

<a id="l00546" name="l00546"></a>[ 546](structIRockyParticle.xhtml#af1bcfda3336619839953a01fbe7828ea)inline ROCKY_FUNCTIONS [IRockyParticleTransferScalars](structIRockyParticleTransferScalars.xhtml) [IRockyParticle::get\_transfer\_scalars](structIRockyParticle.xhtml#af1bcfda3336619839953a01fbe7828ea)()

<a id="l00547" name="l00547"></a> 547{

<a id="l00548" name="l00548"></a> 548 return this-&gt;_impl.get_transfer_scalars();

<a id="l00549" name="l00549"></a> 549}



<a id="l00550" name="l00550"></a> 550 

<a id="l00551" name="l00551"></a>[ 551](structIRockyParticle.xhtml#a9efea10efd70526b3ffe3f723253e44e)inline ROCKY_FUNCTIONS [IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml) [IRockyParticle::get\_breakage\_scalars](structIRockyParticle.xhtml#a9efea10efd70526b3ffe3f723253e44e)()

<a id="l00552" name="l00552"></a> 552{

<a id="l00553" name="l00553"></a> 553 return this-&gt;_impl.get_breakage_scalars();

<a id="l00554" name="l00554"></a> 554}



<a id="l00555" name="l00555"></a> 555 

<a id="l00556" name="l00556"></a> 556// Operations

<a id="l00557" name="l00557"></a> 557 

<a id="l00558" name="l00558"></a>[ 558](structIRockyParticle.xhtml#a2fdb4c9362bd6b650aba18ad2fb6c66d)inline ROCKY_FUNCTIONS void [IRockyParticle::remove](structIRockyParticle.xhtml#a2fdb4c9362bd6b650aba18ad2fb6c66d)()

<a id="l00559" name="l00559"></a> 559{

<a id="l00560" name="l00560"></a> 560 this-&gt;_impl.remove();

<a id="l00561" name="l00561"></a> 561}



<a id="l00562" name="l00562"></a> 562 

<a id="l00563" name="l00563"></a> 563// Output

<a id="l00564" name="l00564"></a> 564 

<a id="l00565" name="l00565"></a>[ 565](structIRockyParticle.xhtml#aebc83f532d4bd643046c1c8a93e09f1d)inline ROCKY_FUNCTIONS void [IRockyParticle::add\_force](structIRockyParticle.xhtml#aebc83f532d4bd643046c1c8a93e09f1d)(const double3 &amp;force)

<a id="l00566" name="l00566"></a> 566{

<a id="l00567" name="l00567"></a> 567 this-&gt;_impl.add_forces(force);

<a id="l00568" name="l00568"></a> 568}



<a id="l00569" name="l00569"></a> 569 

<a id="l00570" name="l00570"></a>[ 570](structIRockyParticle.xhtml#a8bb789078434998231949cc5c7c5f3b4)inline ROCKY_FUNCTIONS void [IRockyParticle::add\_moment](structIRockyParticle.xhtml#a8bb789078434998231949cc5c7c5f3b4)(const double3&amp; moment)

<a id="l00571" name="l00571"></a> 571{

<a id="l00572" name="l00572"></a> 572 this-&gt;_impl.add_moments(moment);

<a id="l00573" name="l00573"></a> 573}



<a id="l00574" name="l00574"></a> 574 

<a id="l00575" name="l00575"></a>[ 575](structIRockyParticle.xhtml#ae6c885d84af14576949205c3b9fb5bd5)inline ROCKY_FUNCTIONS void [IRockyParticle::set\_frozen](structIRockyParticle.xhtml#ae6c885d84af14576949205c3b9fb5bd5)(bool frozen)

<a id="l00576" name="l00576"></a> 576{

<a id="l00577" name="l00577"></a> 577 this-&gt;_impl.particle-&gt;set_frozen(frozen);

<a id="l00578" name="l00578"></a> 578}



<a id="l00579" name="l00579"></a> 579 

<a id="l00580" name="l00580"></a>[ 580](structIRockyParticle.xhtml#a98c502d7e6af16bbefdb1ff769810980)inline ROCKY_FUNCTIONS void [IRockyParticle::disable\_related\_particle\_contacts](structIRockyParticle.xhtml#a98c502d7e6af16bbefdb1ff769810980)()

<a id="l00581" name="l00581"></a> 581{

<a id="l00582" name="l00582"></a> 582 this-&gt;_impl.particle-&gt;set_particle_contact_disabled(true);

<a id="l00583" name="l00583"></a> 583}



<a id="l00584" name="l00584"></a> 584 

<a id="l00585" name="l00585"></a>[ 585](structIRockyParticle.xhtml#a964a3f27bd8217bbff4301539ecbc1fc)inline ROCKY_FUNCTIONS void [IRockyParticle::enable\_related\_particle\_contacts](structIRockyParticle.xhtml#a964a3f27bd8217bbff4301539ecbc1fc)()

<a id="l00586" name="l00586"></a> 586{

<a id="l00587" name="l00587"></a> 587 this-&gt;_impl.particle-&gt;set_particle_contact_disabled(false);

<a id="l00588" name="l00588"></a> 588}



<a id="l00589" name="l00589"></a> 589 

<a id="l00590" name="l00590"></a>[ 590](structIRockyParticle.xhtml#a1c445981cc6ac5392560d863927b4211)inline ROCKY_FUNCTIONS void [IRockyParticle::disable\_related\_triangle\_contacts](structIRockyParticle.xhtml#a1c445981cc6ac5392560d863927b4211)()

<a id="l00591" name="l00591"></a> 591{

<a id="l00592" name="l00592"></a> 592 this-&gt;_impl.particle-&gt;set_triangle_contact_disabled(true);

<a id="l00593" name="l00593"></a> 593}



<a id="l00594" name="l00594"></a> 594 

<a id="l00595" name="l00595"></a>[ 595](structIRockyParticle.xhtml#a6d87618d43d29b5d2dcd7f5946e1d0f4)inline ROCKY_FUNCTIONS void [IRockyParticle::enable\_related\_triangle\_contacts](structIRockyParticle.xhtml#a6d87618d43d29b5d2dcd7f5946e1d0f4)()

<a id="l00596" name="l00596"></a> 596{

<a id="l00597" name="l00597"></a> 597 this-&gt;_impl.particle-&gt;set_triangle_contact_disabled(false);

<a id="l00598" name="l00598"></a> 598}



<a id="l00599" name="l00599"></a> 599 

<a id="l00600" name="l00600"></a>[ 600](structIRockyParticle.xhtml#a0ddf76406051617c1cf3ad5602230e74)inline ROCKY_FUNCTIONS const double3 [IRockyParticle::get\_moment\_of\_inertia](structIRockyParticle.xhtml#a0ddf76406051617c1cf3ad5602230e74)() const

<a id="l00601" name="l00601"></a> 601{

<a id="l00602" name="l00602"></a> 602 return this-&gt;_impl.get_moment_of_inertia();

<a id="l00603" name="l00603"></a> 603}



<a id="l00604" name="l00604"></a> 604 

<a id="l00605" name="l00605"></a>[ 605](structIRockyParticle.xhtml#a0ede768e89206dcba2b8929eefa961e7)inline ROCKY_FUNCTIONS bool [IRockyParticle::is\_element](structIRockyParticle.xhtml#a0ede768e89206dcba2b8929eefa961e7)() const

<a id="l00606" name="l00606"></a> 606{

<a id="l00607" name="l00607"></a> 607 return this-&gt;_impl.is_element();

<a id="l00608" name="l00608"></a> 608}



<a id="l00609" name="l00609"></a> 609 

<a id="l00610" name="l00610"></a>[ 610](structIRockyParticle.xhtml#a7324f759e40ff9147728dd7e666f9816)inline ROCKY_FUNCTIONS bool [IRockyParticle::is\_assembly](structIRockyParticle.xhtml#a7324f759e40ff9147728dd7e666f9816)() const

<a id="l00611" name="l00611"></a> 611{

<a id="l00612" name="l00612"></a> 612 return this-&gt;_impl.is_assembly();

<a id="l00613" name="l00613"></a> 613}



<a id="l00614" name="l00614"></a> 614 

<a id="l00615" name="l00615"></a>[ 615](structIRockyParticle.xhtml#a7174efcf1264a05c6bd5cabe2e927148)inline ROCKY_FUNCTIONS size\_t [IRockyParticle::get\_number\_of\_assembly\_parts](structIRockyParticle.xhtml#a7174efcf1264a05c6bd5cabe2e927148)() const

<a id="l00616" name="l00616"></a> 616{

<a id="l00617" name="l00617"></a> 617 return this-&gt;_impl.get_number_of_assembly_parts();

<a id="l00618" name="l00618"></a> 618}



<a id="l00619" name="l00619"></a> 619 

<a id="l00620" name="l00620"></a> 620inline ROCKY_FUNCTIONS

<a id="l00621" name="l00621"></a>[ 621](structIRockyParticle.xhtml#a1a737fd34952d960d93f4f8940fd804e)[IRockyMaterial](structIRockyMaterial.xhtml) [IRockyParticle::get\_assembly\_part\_material](structIRockyParticle.xhtml#a1a737fd34952d960d93f4f8940fd804e)(size\_t part_id) const

<a id="l00622" name="l00622"></a> 622{

<a id="l00623" name="l00623"></a> 623 return [IRockyMaterial](structIRockyMaterial.xhtml) { this-&gt;_impl.get_assembly_part_material(part_id) };

<a id="l00624" name="l00624"></a> 624}



<a id="l00625" name="l00625"></a> 625 

<a id="l00626" name="l00626"></a>[ 626](structIRockyParticle.xhtml#af4d25f3ada35c955fd0fe7ba24a244c4)inline ROCKY_FUNCTIONS void [IRockyParticle::remove\_from\_contacts\_search](structIRockyParticle.xhtml#af4d25f3ada35c955fd0fe7ba24a244c4)()

<a id="l00627" name="l00627"></a> 627{

<a id="l00628" name="l00628"></a> 628 this-&gt;_impl.particle-&gt;set_remove_from_contacts_search(true);

<a id="l00629" name="l00629"></a> 629}



<a id="l00630" name="l00630"></a> 630 

<a id="l00631" name="l00631"></a>[ 631](structIRockyParticle.xhtml#afe35f545701281de61b805237f4c5d8f)inline ROCKY_FUNCTIONS void [IRockyParticle::add\_to\_contacts\_search](structIRockyParticle.xhtml#afe35f545701281de61b805237f4c5d8f)()

<a id="l00632" name="l00632"></a> 632{

<a id="l00633" name="l00633"></a> 633 this-&gt;_impl.particle-&gt;set_remove_from_contacts_search(false);

<a id="l00634" name="l00634"></a> 634}



<a id="l00635" name="l00635"></a> 635 

<a id="l00636" name="l00636"></a> 636// ================================================================================================

<a id="l00637" name="l00637"></a> 637// IRockyBreakableParticle

<a id="l00638" name="l00638"></a> 638// ================================================================================================

<a id="l00639" name="l00639"></a> 639 

<a id="l00647" name="l00647"></a>[ 647](structIRockyBreakableParticle.xhtml)struct [IRockyBreakableParticle](structIRockyBreakableParticle.xhtml)

<a id="l00648" name="l00648"></a> 648{

<a id="l00654" name="l00654"></a> 654 double [get\_minimum\_fragment\_size](structIRockyBreakableParticle.xhtml#a39311189362162e429f060557815729c)() const;

<a id="l00655" name="l00655"></a> 655 

<a id="l00659" name="l00659"></a> 659 double [get\_original\_volume](structIRockyBreakableParticle.xhtml#a22690da66add12be7a332bc4a0e596cc)() const;

<a id="l00660" name="l00660"></a> 660 

<a id="l00665" name="l00665"></a> 665 int [get\_particle\_group\_index](structIRockyBreakableParticle.xhtml#a6c9870ef714ee07eeb24bef485dac1b9)() const;

<a id="l00666" name="l00666"></a> 666 

<a id="l00672" name="l00672"></a> 672 double [get\_strength](structIRockyBreakableParticle.xhtml#abaff8573c455f7cf3793fefd8c43a793)() const;

<a id="l00673" name="l00673"></a> 673 

<a id="l00677" name="l00677"></a> 677 double [get\_original\_size](structIRockyBreakableParticle.xhtml#aca4e9c89438f779e191757c12103c65f)() const;

<a id="l00678" name="l00678"></a> 678 

<a id="l00684" name="l00684"></a> 684 void [set\_as\_unbreakable](structIRockyBreakableParticle.xhtml#a685c12928a91ee0fe62a243f35167d42)() const;

<a id="l00685" name="l00685"></a> 685 

<a id="l00690" name="l00690"></a> 690 [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [get\_scalars](structIRockyBreakableParticle.xhtml#a624157a56984db93a967eb5cad75fa83)();

<a id="l00691" name="l00691"></a> 691 

<a id="l00696" name="l00696"></a> 696 [IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml) [get\_breakage\_scalars](structIRockyBreakableParticle.xhtml#a5ccd372c25b095a9739c11dae8f02ab7)();

<a id="l00697" name="l00697"></a> 697 

<a id="l00698" name="l00698"></a> 698 

<a id="l00700" name="l00700"></a> 700 [IRockyBreakableParticle](structIRockyBreakableParticle.xhtml)(int _index, RockyModel* _model);

<a id="l00701" name="l00701"></a> 701 

<a id="l00702" name="l00702"></a> 702 RockyParticleHost _impl;

<a id="l00704" name="l00704"></a> 704};



<a id="l00705" name="l00705"></a> 705 

<a id="l00706" name="l00706"></a> 706inline IRockyBreakableParticle::IRockyBreakableParticle(int _index, RockyModel* _model)

<a id="l00707" name="l00707"></a> 707 : _impl(RockyParticleHost(_model, _index))

<a id="l00708" name="l00708"></a> 708{

<a id="l00709" name="l00709"></a> 709}

<a id="l00710" name="l00710"></a> 710 

<a id="l00711" name="l00711"></a>[ 711](structIRockyBreakableParticle.xhtml#a39311189362162e429f060557815729c)inline double [IRockyBreakableParticle::get\_minimum\_fragment\_size](structIRockyBreakableParticle.xhtml#a39311189362162e429f060557815729c)() const

<a id="l00712" name="l00712"></a> 712{

<a id="l00713" name="l00713"></a> 713 return this-&gt;_impl.get_minimum_fragment_size();

<a id="l00714" name="l00714"></a> 714}



<a id="l00715" name="l00715"></a> 715 

<a id="l00716" name="l00716"></a>[ 716](structIRockyBreakableParticle.xhtml#a22690da66add12be7a332bc4a0e596cc)inline double [IRockyBreakableParticle::get\_original\_volume](structIRockyBreakableParticle.xhtml#a22690da66add12be7a332bc4a0e596cc)() const

<a id="l00717" name="l00717"></a> 717{

<a id="l00718" name="l00718"></a> 718 return this-&gt;_impl.get_original_bulk_volume();

<a id="l00719" name="l00719"></a> 719}



<a id="l00720" name="l00720"></a> 720 

<a id="l00721" name="l00721"></a>[ 721](structIRockyBreakableParticle.xhtml#a6c9870ef714ee07eeb24bef485dac1b9)inline int [IRockyBreakableParticle::get\_particle\_group\_index](structIRockyBreakableParticle.xhtml#a6c9870ef714ee07eeb24bef485dac1b9)() const

<a id="l00722" name="l00722"></a> 722{

<a id="l00723" name="l00723"></a> 723 return this-&gt;_impl.get_particle_group_index();

<a id="l00724" name="l00724"></a> 724}



<a id="l00725" name="l00725"></a> 725 

<a id="l00726" name="l00726"></a>[ 726](structIRockyBreakableParticle.xhtml#abaff8573c455f7cf3793fefd8c43a793)inline double [IRockyBreakableParticle::get\_strength](structIRockyBreakableParticle.xhtml#abaff8573c455f7cf3793fefd8c43a793)() const

<a id="l00727" name="l00727"></a> 727{

<a id="l00728" name="l00728"></a> 728 return this-&gt;_impl.get_strength();

<a id="l00729" name="l00729"></a> 729}



<a id="l00730" name="l00730"></a> 730 

<a id="l00731" name="l00731"></a>[ 731](structIRockyBreakableParticle.xhtml#aca4e9c89438f779e191757c12103c65f)inline double [IRockyBreakableParticle::get\_original\_size](structIRockyBreakableParticle.xhtml#aca4e9c89438f779e191757c12103c65f)() const

<a id="l00732" name="l00732"></a> 732{

<a id="l00733" name="l00733"></a> 733 return this-&gt;_impl.get_original_size();

<a id="l00734" name="l00734"></a> 734}



<a id="l00735" name="l00735"></a> 735 

<a id="l00736" name="l00736"></a>[ 736](structIRockyBreakableParticle.xhtml#a685c12928a91ee0fe62a243f35167d42)inline void [IRockyBreakableParticle::set\_as\_unbreakable](structIRockyBreakableParticle.xhtml#a685c12928a91ee0fe62a243f35167d42)() const

<a id="l00737" name="l00737"></a> 737{

<a id="l00738" name="l00738"></a> 738 this-&gt;_impl.set_as_unbreakable();

<a id="l00739" name="l00739"></a> 739}



<a id="l00740" name="l00740"></a> 740 

<a id="l00741" name="l00741"></a>[ 741](structIRockyBreakableParticle.xhtml#a624157a56984db93a967eb5cad75fa83)inline [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [IRockyBreakableParticle::get\_scalars](structIRockyBreakableParticle.xhtml#a624157a56984db93a967eb5cad75fa83)()

<a id="l00742" name="l00742"></a> 742{

<a id="l00743" name="l00743"></a> 743 return this-&gt;_impl.get_scalars();

<a id="l00744" name="l00744"></a> 744}



<a id="l00745" name="l00745"></a> 745 

<a id="l00746" name="l00746"></a>[ 746](structIRockyBreakableParticle.xhtml#a5ccd372c25b095a9739c11dae8f02ab7)inline [IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml) [IRockyBreakableParticle::get\_breakage\_scalars](structIRockyBreakableParticle.xhtml#a5ccd372c25b095a9739c11dae8f02ab7)()

<a id="l00747" name="l00747"></a> 747{

<a id="l00748" name="l00748"></a> 748 return this-&gt;_impl.get_breakage_scalars();

<a id="l00749" name="l00749"></a> 749}



<a id="l00750" name="l00750"></a> 750 

<a id="l00751" name="l00751"></a> 751// ================================================================================================

<a id="l00752" name="l00752"></a> 752// IRockyParticleHost

<a id="l00753" name="l00753"></a> 753// ================================================================================================

<a id="l00754" name="l00754"></a> 754 

<a id="l00765" name="l00765"></a>[ 765](structIRockyParticleHost.xhtml)struct [IRockyParticleHost](structIRockyParticleHost.xhtml)

<a id="l00766" name="l00766"></a> 766{

<a id="l00772" name="l00772"></a> 772 double [get\_original\_volume](structIRockyParticleHost.xhtml#add7a3f8b7dba238add5ecfdee139acdb)() const;

<a id="l00773" name="l00773"></a> 773 

<a id="l00779" name="l00779"></a> 779 double [get\_original\_solid\_volume](structIRockyParticleHost.xhtml#af76866e13dbf69fbfd426852a9e21c36)() const;

<a id="l00780" name="l00780"></a> 780 

<a id="l00784" name="l00784"></a> 784 int [get\_material\_index](structIRockyParticleHost.xhtml#af4ec43778fa07b66072fbaa4aee18610)() const;

<a id="l00785" name="l00785"></a> 785 

<a id="l00790" name="l00790"></a> 790 double [get\_equivalent\_diameter](structIRockyParticleHost.xhtml#a5e52a50ea3dbc5b60da1c238141b5afb)() const;

<a id="l00791" name="l00791"></a> 791 

<a id="l00797" name="l00797"></a> 797 [IRockyMaterial](structIRockyMaterial.xhtml) [get\_material](structIRockyParticleHost.xhtml#a6044e78b75c3721beeba25b84eacd71b)() const;

<a id="l00798" name="l00798"></a> 798 

<a id="l00803" name="l00803"></a> 803 double3 [get\_centroid\_position](structIRockyParticleHost.xhtml#abae259f977de47fccdca78f6bc2372bb)() const;

<a id="l00804" name="l00804"></a> 804 

<a id="l00808" name="l00808"></a> 808 double [get\_original\_mass](structIRockyParticleHost.xhtml#ad82707a32ee8ebe4027b058b826e2d32)() const;

<a id="l00809" name="l00809"></a> 809 

<a id="l00813" name="l00813"></a> 813 double [get\_size](structIRockyParticleHost.xhtml#ac34b4f3510097e7387b000838703b028)() const;

<a id="l00814" name="l00814"></a> 814 

<a id="l00818" name="l00818"></a> 818 double [get\_release\_time](structIRockyParticleHost.xhtml#ac3ba8bc7577f65c66c5be6e0e08c3c19)() const;

<a id="l00819" name="l00819"></a> 819 

<a id="l00823" name="l00823"></a> 823 double [get\_cgm\_scale\_factor](structIRockyParticleHost.xhtml#a4c893d6e3f9e6782b321d1a83514c1f0)() const;

<a id="l00824" name="l00824"></a> 824 

<a id="l00834" name="l00834"></a> 834 int [get\_tag](structIRockyParticleHost.xhtml#a3d0328eb18856e3120730d0151e6801d)() const;

<a id="l00835" name="l00835"></a> 835 

<a id="l00840" name="l00840"></a> 840 bool [is\_released](structIRockyParticleHost.xhtml#ad76a0dcd79d1d14afb7323220fe6b8cc)() const;

<a id="l00841" name="l00841"></a> 841 

<a id="l00845" name="l00845"></a> 845 bool [is\_element](structIRockyParticleHost.xhtml#afc51932894666b7743f6109cf46ca07a)() const;

<a id="l00846" name="l00846"></a> 846 

<a id="l00850" name="l00850"></a> 850 bool [is\_assembly](structIRockyParticleHost.xhtml#a6c3f1e0a3df5f1fffc124c982d6a793f)() const;

<a id="l00851" name="l00851"></a> 851 

<a id="l00855" name="l00855"></a> 855 size\_t [get\_number\_of\_assembly\_parts](structIRockyParticleHost.xhtml#a25e3ed57098b86c2020628039d361cbe)() const;

<a id="l00856" name="l00856"></a> 856 

<a id="l00863" name="l00863"></a> 863 [IRockyMaterial](structIRockyMaterial.xhtml) [get\_assembly\_part\_material](structIRockyParticleHost.xhtml#ab51842eff963f1aff610a41827fcfaf4)(size\_t part_id) const;

<a id="l00864" name="l00864"></a> 864 

<a id="l00869" name="l00869"></a> 869 [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [get\_scalars](structIRockyParticleHost.xhtml#a589677fa645912fa42565f4a2fa25d46)() const;

<a id="l00870" name="l00870"></a> 870 

<a id="l00875" name="l00875"></a> 875 int [get\_particle\_group\_index](structIRockyParticleHost.xhtml#a2a4385212dafdcb7e825adff5b7785d7)() const;

<a id="l00876" name="l00876"></a> 876 

<a id="l00878" name="l00878"></a> 878 [IRockyParticleHost](structIRockyParticleHost.xhtml)(int _index, RockyModel* _model);

<a id="l00879" name="l00879"></a> 879 

<a id="l00880" name="l00880"></a> 880 RockyParticleHost _impl;

<a id="l00883" name="l00883"></a> 883};



<a id="l00884" name="l00884"></a> 884 

<a id="l00885" name="l00885"></a> 885inline IRockyParticleHost::IRockyParticleHost(int _index, RockyModel* _model)

<a id="l00886" name="l00886"></a> 886 : _impl(RockyParticleHost(_model, _index))

<a id="l00887" name="l00887"></a> 887{

<a id="l00888" name="l00888"></a> 888}

<a id="l00889" name="l00889"></a> 889 

<a id="l00890" name="l00890"></a>[ 890](structIRockyParticleHost.xhtml#add7a3f8b7dba238add5ecfdee139acdb)inline double [IRockyParticleHost::get\_original\_volume](structIRockyParticleHost.xhtml#add7a3f8b7dba238add5ecfdee139acdb)() const

<a id="l00891" name="l00891"></a> 891{

<a id="l00892" name="l00892"></a> 892 return this-&gt;_impl.get_original_bulk_volume();

<a id="l00893" name="l00893"></a> 893}



<a id="l00894" name="l00894"></a> 894 

<a id="l00895" name="l00895"></a>[ 895](structIRockyParticleHost.xhtml#af76866e13dbf69fbfd426852a9e21c36)inline double [IRockyParticleHost::get\_original\_solid\_volume](structIRockyParticleHost.xhtml#af76866e13dbf69fbfd426852a9e21c36)() const

<a id="l00896" name="l00896"></a> 896{

<a id="l00897" name="l00897"></a> 897 return this-&gt;_impl.get_original_solid_volume();

<a id="l00898" name="l00898"></a> 898}



<a id="l00899" name="l00899"></a> 899 

<a id="l00900" name="l00900"></a>[ 900](structIRockyParticleHost.xhtml#a589677fa645912fa42565f4a2fa25d46)inline [IRockyParticleScalars](structIRockyParticleScalars.xhtml) [IRockyParticleHost::get\_scalars](structIRockyParticleHost.xhtml#a589677fa645912fa42565f4a2fa25d46)() const

<a id="l00901" name="l00901"></a> 901{

<a id="l00902" name="l00902"></a> 902 return this-&gt;_impl.get_scalars();

<a id="l00903" name="l00903"></a> 903}



<a id="l00904" name="l00904"></a> 904 

<a id="l00905" name="l00905"></a>[ 905](structIRockyParticleHost.xhtml#af4ec43778fa07b66072fbaa4aee18610)inline int [IRockyParticleHost::get\_material\_index](structIRockyParticleHost.xhtml#af4ec43778fa07b66072fbaa4aee18610)() const

<a id="l00906" name="l00906"></a> 906{

<a id="l00907" name="l00907"></a> 907 return this-&gt;_impl.get_group().get_material_index();

<a id="l00908" name="l00908"></a> 908}



<a id="l00909" name="l00909"></a> 909 

<a id="l00910" name="l00910"></a>[ 910](structIRockyParticleHost.xhtml#a5e52a50ea3dbc5b60da1c238141b5afb)inline double [IRockyParticleHost::get\_equivalent\_diameter](structIRockyParticleHost.xhtml#a5e52a50ea3dbc5b60da1c238141b5afb)() const

<a id="l00911" name="l00911"></a> 911{

<a id="l00912" name="l00912"></a> 912 return this-&gt;_impl.get_equivalent_diameter();

<a id="l00913" name="l00913"></a> 913}



<a id="l00914" name="l00914"></a> 914 

<a id="l00915" name="l00915"></a>[ 915](structIRockyParticleHost.xhtml#a6044e78b75c3721beeba25b84eacd71b)inline [IRockyMaterial](structIRockyMaterial.xhtml) [IRockyParticleHost::get\_material](structIRockyParticleHost.xhtml#a6044e78b75c3721beeba25b84eacd71b)() const

<a id="l00916" name="l00916"></a> 916{

<a id="l00917" name="l00917"></a> 917 return [IRockyMaterial](structIRockyMaterial.xhtml)(this-&gt;_impl.get_material());

<a id="l00918" name="l00918"></a> 918}



<a id="l00919" name="l00919"></a> 919 

<a id="l00920" name="l00920"></a>[ 920](structIRockyParticleHost.xhtml#abae259f977de47fccdca78f6bc2372bb)inline double3 [IRockyParticleHost::get\_centroid\_position](structIRockyParticleHost.xhtml#abae259f977de47fccdca78f6bc2372bb)() const

<a id="l00921" name="l00921"></a> 921{

<a id="l00922" name="l00922"></a> 922 return double3{ this-&gt;_impl.particle-&gt;x, this-&gt;_impl.particle-&gt;y, this-&gt;_impl.particle-&gt;z };

<a id="l00923" name="l00923"></a> 923}



<a id="l00924" name="l00924"></a> 924 

<a id="l00925" name="l00925"></a>[ 925](structIRockyParticleHost.xhtml#ad82707a32ee8ebe4027b058b826e2d32)inline double [IRockyParticleHost::get\_original\_mass](structIRockyParticleHost.xhtml#ad82707a32ee8ebe4027b058b826e2d32)() const

<a id="l00926" name="l00926"></a> 926{

<a id="l00927" name="l00927"></a> 927 return this-&gt;_impl.get_original_mass();

<a id="l00928" name="l00928"></a> 928}



<a id="l00929" name="l00929"></a> 929 

<a id="l00930" name="l00930"></a>[ 930](structIRockyParticleHost.xhtml#ac34b4f3510097e7387b000838703b028)inline double [IRockyParticleHost::get\_size](structIRockyParticleHost.xhtml#ac34b4f3510097e7387b000838703b028)() const

<a id="l00931" name="l00931"></a> 931{

<a id="l00932" name="l00932"></a> 932 return this-&gt;_impl.get_size();

<a id="l00933" name="l00933"></a> 933}



<a id="l00934" name="l00934"></a> 934 

<a id="l00935" name="l00935"></a>[ 935](structIRockyParticleHost.xhtml#ac3ba8bc7577f65c66c5be6e0e08c3c19)inline double [IRockyParticleHost::get\_release\_time](structIRockyParticleHost.xhtml#ac3ba8bc7577f65c66c5be6e0e08c3c19)() const

<a id="l00936" name="l00936"></a> 936{

<a id="l00937" name="l00937"></a> 937 return this-&gt;_impl.get_release_time();

<a id="l00938" name="l00938"></a> 938}



<a id="l00939" name="l00939"></a> 939 

<a id="l00940" name="l00940"></a>[ 940](structIRockyParticleHost.xhtml#a4c893d6e3f9e6782b321d1a83514c1f0)inline double [IRockyParticleHost::get\_cgm\_scale\_factor](structIRockyParticleHost.xhtml#a4c893d6e3f9e6782b321d1a83514c1f0)() const

<a id="l00941" name="l00941"></a> 941{

<a id="l00942" name="l00942"></a> 942 return this-&gt;_impl.get_cgm_scale_factor();

<a id="l00943" name="l00943"></a> 943}



<a id="l00944" name="l00944"></a> 944 

<a id="l00945" name="l00945"></a>[ 945](structIRockyParticleHost.xhtml#ad76a0dcd79d1d14afb7323220fe6b8cc)inline bool [IRockyParticleHost::is\_released](structIRockyParticleHost.xhtml#ad76a0dcd79d1d14afb7323220fe6b8cc)() const

<a id="l00946" name="l00946"></a> 946{

<a id="l00947" name="l00947"></a> 947 return this-&gt;_impl.is_released();

<a id="l00948" name="l00948"></a> 948}



<a id="l00949" name="l00949"></a> 949 

<a id="l00950" name="l00950"></a>[ 950](structIRockyParticleHost.xhtml#a6c3f1e0a3df5f1fffc124c982d6a793f)inline bool [IRockyParticleHost::is\_assembly](structIRockyParticleHost.xhtml#a6c3f1e0a3df5f1fffc124c982d6a793f)() const

<a id="l00951" name="l00951"></a> 951{

<a id="l00952" name="l00952"></a> 952 return this-&gt;_impl.is_assembly();

<a id="l00953" name="l00953"></a> 953}



<a id="l00954" name="l00954"></a> 954 

<a id="l00955" name="l00955"></a>[ 955](structIRockyParticleHost.xhtml#afc51932894666b7743f6109cf46ca07a)inline bool [IRockyParticleHost::is\_element](structIRockyParticleHost.xhtml#afc51932894666b7743f6109cf46ca07a)() const

<a id="l00956" name="l00956"></a> 956{

<a id="l00957" name="l00957"></a> 957 return this-&gt;_impl.is_element();

<a id="l00958" name="l00958"></a> 958}



<a id="l00959" name="l00959"></a> 959 

<a id="l00960" name="l00960"></a>[ 960](structIRockyParticleHost.xhtml#a25e3ed57098b86c2020628039d361cbe)inline size\_t [IRockyParticleHost::get\_number\_of\_assembly\_parts](structIRockyParticleHost.xhtml#a25e3ed57098b86c2020628039d361cbe)() const

<a id="l00961" name="l00961"></a> 961{

<a id="l00962" name="l00962"></a> 962 return this-&gt;_impl.get_number_of_assembly_parts();

<a id="l00963" name="l00963"></a> 963}



<a id="l00964" name="l00964"></a> 964 

<a id="l00965" name="l00965"></a>[ 965](structIRockyParticleHost.xhtml#ab51842eff963f1aff610a41827fcfaf4)inline [IRockyMaterial](structIRockyMaterial.xhtml) [IRockyParticleHost::get\_assembly\_part\_material](structIRockyParticleHost.xhtml#ab51842eff963f1aff610a41827fcfaf4)(size\_t part_id) const

<a id="l00966" name="l00966"></a> 966{

<a id="l00967" name="l00967"></a> 967 return [IRockyMaterial](structIRockyMaterial.xhtml) { this-&gt;_impl.get_assembly_part_material(part_id) };

<a id="l00968" name="l00968"></a> 968}



<a id="l00969" name="l00969"></a> 969 

<a id="l00970" name="l00970"></a>[ 970](structIRockyParticleHost.xhtml#a3d0328eb18856e3120730d0151e6801d)inline int [IRockyParticleHost::get\_tag](structIRockyParticleHost.xhtml#a3d0328eb18856e3120730d0151e6801d)() const

<a id="l00971" name="l00971"></a> 971{

<a id="l00972" name="l00972"></a> 972 return this-&gt;_impl.get_tag();

<a id="l00973" name="l00973"></a> 973}



<a id="l00974" name="l00974"></a>[ 974](structIRockyParticleHost.xhtml#a2a4385212dafdcb7e825adff5b7785d7)inline int [IRockyParticleHost::get\_particle\_group\_index](structIRockyParticleHost.xhtml#a2a4385212dafdcb7e825adff5b7785d7)() const

<a id="l00975" name="l00975"></a> 975{

<a id="l00976" name="l00976"></a> 976 return this-&gt;_impl.get_particle_group_index();

<a id="l00977" name="l00977"></a> 977}



[IRockyBreakableParticle](structIRockyBreakableParticle.xhtml)

**Definition** rocky_particle_api.hpp:648



[IRockyBreakableParticle::get\_original\_volume](structIRockyBreakableParticle.xhtml#a22690da66add12be7a332bc4a0e596cc)

double get_original_volume() const

**Definition** rocky_particle_api.hpp:716



[IRockyBreakableParticle::get\_minimum\_fragment\_size](structIRockyBreakableParticle.xhtml#a39311189362162e429f060557815729c)

double get_minimum_fragment_size() const

**Definition** rocky_particle_api.hpp:711



[IRockyBreakableParticle::get\_breakage\_scalars](structIRockyBreakableParticle.xhtml#a5ccd372c25b095a9739c11dae8f02ab7)

IRockyParticleBreakageScalars get_breakage_scalars()

**Definition** rocky_particle_api.hpp:746



[IRockyBreakableParticle::get\_scalars](structIRockyBreakableParticle.xhtml#a624157a56984db93a967eb5cad75fa83)

IRockyParticleScalars get_scalars()

**Definition** rocky_particle_api.hpp:741



[IRockyBreakableParticle::set\_as\_unbreakable](structIRockyBreakableParticle.xhtml#a685c12928a91ee0fe62a243f35167d42)

void set_as_unbreakable() const

**Definition** rocky_particle_api.hpp:736



[IRockyBreakableParticle::get\_particle\_group\_index](structIRockyBreakableParticle.xhtml#a6c9870ef714ee07eeb24bef485dac1b9)

int get_particle_group_index() const

**Definition** rocky_particle_api.hpp:721



[IRockyBreakableParticle::get\_strength](structIRockyBreakableParticle.xhtml#abaff8573c455f7cf3793fefd8c43a793)

double get_strength() const

**Definition** rocky_particle_api.hpp:726



[IRockyBreakableParticle::get\_original\_size](structIRockyBreakableParticle.xhtml#aca4e9c89438f779e191757c12103c65f)

double get_original_size() const

**Definition** rocky_particle_api.hpp:731



[IRockyMaterial](structIRockyMaterial.xhtml)

**Definition** rocky_material_api.hpp:21



[IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml)

**Definition** rocky_particle_scalars.hpp:544



[IRockyParticleHost](structIRockyParticleHost.xhtml)

**Definition** rocky_particle_api.hpp:766



[IRockyParticleHost::get\_number\_of\_assembly\_parts](structIRockyParticleHost.xhtml#a25e3ed57098b86c2020628039d361cbe)

size_t get_number_of_assembly_parts() const

**Definition** rocky_particle_api.hpp:960



[IRockyParticleHost::get\_particle\_group\_index](structIRockyParticleHost.xhtml#a2a4385212dafdcb7e825adff5b7785d7)

int get_particle_group_index() const

**Definition** rocky_particle_api.hpp:974



[IRockyParticleHost::get\_tag](structIRockyParticleHost.xhtml#a3d0328eb18856e3120730d0151e6801d)

int get_tag() const

**Definition** rocky_particle_api.hpp:970



[IRockyParticleHost::get\_cgm\_scale\_factor](structIRockyParticleHost.xhtml#a4c893d6e3f9e6782b321d1a83514c1f0)

double get_cgm_scale_factor() const

**Definition** rocky_particle_api.hpp:940



[IRockyParticleHost::get\_scalars](structIRockyParticleHost.xhtml#a589677fa645912fa42565f4a2fa25d46)

IRockyParticleScalars get_scalars() const

**Definition** rocky_particle_api.hpp:900



[IRockyParticleHost::get\_equivalent\_diameter](structIRockyParticleHost.xhtml#a5e52a50ea3dbc5b60da1c238141b5afb)

double get_equivalent_diameter() const

**Definition** rocky_particle_api.hpp:910



[IRockyParticleHost::get\_material](structIRockyParticleHost.xhtml#a6044e78b75c3721beeba25b84eacd71b)

IRockyMaterial get_material() const

**Definition** rocky_particle_api.hpp:915



[IRockyParticleHost::is\_assembly](structIRockyParticleHost.xhtml#a6c3f1e0a3df5f1fffc124c982d6a793f)

bool is_assembly() const

**Definition** rocky_particle_api.hpp:950



[IRockyParticleHost::get\_assembly\_part\_material](structIRockyParticleHost.xhtml#ab51842eff963f1aff610a41827fcfaf4)

IRockyMaterial get_assembly_part_material(size_t part_id) const

**Definition** rocky_particle_api.hpp:965



[IRockyParticleHost::get\_centroid\_position](structIRockyParticleHost.xhtml#abae259f977de47fccdca78f6bc2372bb)

double3 get_centroid_position() const

**Definition** rocky_particle_api.hpp:920



[IRockyParticleHost::get\_size](structIRockyParticleHost.xhtml#ac34b4f3510097e7387b000838703b028)

double get_size() const

**Definition** rocky_particle_api.hpp:930



[IRockyParticleHost::get\_release\_time](structIRockyParticleHost.xhtml#ac3ba8bc7577f65c66c5be6e0e08c3c19)

double get_release_time() const

**Definition** rocky_particle_api.hpp:935



[IRockyParticleHost::is\_released](structIRockyParticleHost.xhtml#ad76a0dcd79d1d14afb7323220fe6b8cc)

bool is_released() const

**Definition** rocky_particle_api.hpp:945



[IRockyParticleHost::get\_original\_mass](structIRockyParticleHost.xhtml#ad82707a32ee8ebe4027b058b826e2d32)

double get_original_mass() const

**Definition** rocky_particle_api.hpp:925



[IRockyParticleHost::get\_original\_volume](structIRockyParticleHost.xhtml#add7a3f8b7dba238add5ecfdee139acdb)

double get_original_volume() const

**Definition** rocky_particle_api.hpp:890



[IRockyParticleHost::get\_material\_index](structIRockyParticleHost.xhtml#af4ec43778fa07b66072fbaa4aee18610)

int get_material_index() const

**Definition** rocky_particle_api.hpp:905



[IRockyParticleHost::get\_original\_solid\_volume](structIRockyParticleHost.xhtml#af76866e13dbf69fbfd426852a9e21c36)

double get_original_solid_volume() const

**Definition** rocky_particle_api.hpp:895



[IRockyParticleHost::is\_element](structIRockyParticleHost.xhtml#afc51932894666b7743f6109cf46ca07a)

bool is_element() const

**Definition** rocky_particle_api.hpp:955



[IRockyParticleScalars](structIRockyParticleScalars.xhtml)

**Definition** rocky_particle_scalars.hpp:105



[IRockyParticleTransferScalars](structIRockyParticleTransferScalars.xhtml)

**Definition** rocky_particle_scalars.hpp:407



[IRockyParticle](structIRockyParticle.xhtml)

**Definition** rocky_particle_api.hpp:28



[IRockyParticle::get\_original\_mass](structIRockyParticle.xhtml#a0239b6fe520fb1bc69196cf4c7c298ac)

ROCKY_FUNCTIONS double get_original_mass() const

**Definition** rocky_particle_api.hpp:395



[IRockyParticle::get\_particle\_group\_index](structIRockyParticle.xhtml#a063a7d183c621dfffd7fdd644635e51a)

ROCKY_FUNCTIONS int get_particle_group_index() const

**Definition** rocky_particle_api.hpp:465



[IRockyParticle::get\_moment\_of\_inertia](structIRockyParticle.xhtml#a0ddf76406051617c1cf3ad5602230e74)

ROCKY_FUNCTIONS const double3 get_moment_of_inertia() const

**Definition** rocky_particle_api.hpp:600



[IRockyParticle::is\_element](structIRockyParticle.xhtml#a0ede768e89206dcba2b8929eefa961e7)

ROCKY_FUNCTIONS bool is_element() const

**Definition** rocky_particle_api.hpp:605



[IRockyParticle::get\_solid\_volume](structIRockyParticle.xhtml#a0fac38fa13ec5aa6495119247b8aa5d6)

ROCKY_FUNCTIONS double get_solid_volume() const

**Definition** rocky_particle_api.hpp:435



[IRockyParticle::get\_rotational\_velocity](structIRockyParticle.xhtml#a1520d3fc8a40e54ad4c47ddb428fddff)

ROCKY_FUNCTIONS double3 get_rotational_velocity() const

**Definition** rocky_particle_api.hpp:420



[IRockyParticle::get\_assembly\_part\_material](structIRockyParticle.xhtml#a1a737fd34952d960d93f4f8940fd804e)

ROCKY_FUNCTIONS IRockyMaterial get_assembly_part_material(size_t part_id) const

**Definition** rocky_particle_api.hpp:621



[IRockyParticle::disable\_related\_triangle\_contacts](structIRockyParticle.xhtml#a1c445981cc6ac5392560d863927b4211)

ROCKY_FUNCTIONS void disable_related_triangle_contacts()

**Definition** rocky_particle_api.hpp:590



[IRockyParticle::get\_surface\_area](structIRockyParticle.xhtml#a2200149822388403dfd42afe5574f1f9)

ROCKY_FUNCTIONS double get_surface_area() const

**Definition** rocky_particle_api.hpp:440



[IRockyParticle::get\_tag](structIRockyParticle.xhtml#a2949c9bf228226090d1e7cf95b63c38f)

ROCKY_FUNCTIONS int get_tag() const

**Definition** rocky_particle_api.hpp:529



[IRockyParticle::remove](structIRockyParticle.xhtml#a2fdb4c9362bd6b650aba18ad2fb6c66d)

ROCKY_FUNCTIONS void remove()

**Definition** rocky_particle_api.hpp:558



[IRockyParticle::get\_scalars](structIRockyParticle.xhtml#a305fe472ba945e793d450053dc3b092f)

ROCKY_FUNCTIONS IRockyParticleScalars get_scalars()

**Definition** rocky_particle_api.hpp:536



[IRockyParticle::get\_strength](structIRockyParticle.xhtml#a3479e29c70b861ee7724b3dec473f126)

ROCKY_FUNCTIONS double get_strength() const

**Definition** rocky_particle_api.hpp:450



[IRockyParticle::get\_impact\_energy](structIRockyParticle.xhtml#a35881133856b678e30b00dfa1c604b96)

ROCKY_FUNCTIONS double get_impact_energy() const

**Definition** rocky_particle_api.hpp:445



[IRockyParticle::get\_translational\_velocity](structIRockyParticle.xhtml#a38420bd69fec1d3a803cbc5d79ea0197)

ROCKY_FUNCTIONS double3 get_translational_velocity() const

**Definition** rocky_particle_api.hpp:415



[IRockyParticle::get\_material](structIRockyParticle.xhtml#a39ab5586c7a893cbe156d211a10c5efd)

ROCKY_FUNCTIONS IRockyMaterial get_material() const

**Definition** rocky_particle_api.hpp:380



[IRockyParticle::get\_gravity](structIRockyParticle.xhtml#a42a986a1659cf8a4374bf43ef6a53f63)

ROCKY_FUNCTIONS double3 get_gravity() const

**Definition** rocky_particle_api.hpp:425



[IRockyParticle::get\_material\_index](structIRockyParticle.xhtml#a42f25fc898697efc23ee5576b936efa4)

ROCKY_FUNCTIONS int get_material_index() const

**Definition** rocky_particle_api.hpp:470



[IRockyParticle::get\_specific\_heat](structIRockyParticle.xhtml#a5007ecaea7e26cfe50579a959ba91c07)

ROCKY_FUNCTIONS double get_specific_heat() const

**Definition** rocky_particle_api.hpp:519



[IRockyParticle::get\_resultant\_moment](structIRockyParticle.xhtml#a58a9a71f0e2cd25a475c5681682a8c7e)

ROCKY_FUNCTIONS double3 get_resultant_moment() const

**Definition** rocky_particle_api.hpp:488



[IRockyParticle::get\_equivalent\_diameter](structIRockyParticle.xhtml#a5951469e0997dab052087895e2ebd95c)

ROCKY_FUNCTIONS double get_equivalent_diameter() const

**Definition** rocky_particle_api.hpp:455



[IRockyParticle::get\_poisson\_ratio](structIRockyParticle.xhtml#a6d11bc8367e406b7a56f98d92871f059)

ROCKY_FUNCTIONS double get_poisson_ratio() const

**Definition** rocky_particle_api.hpp:509



[IRockyParticle::enable\_related\_triangle\_contacts](structIRockyParticle.xhtml#a6d87618d43d29b5d2dcd7f5946e1d0f4)

ROCKY_FUNCTIONS void enable_related_triangle_contacts()

**Definition** rocky_particle_api.hpp:595



[IRockyParticle::set\_specific\_heat](structIRockyParticle.xhtml#a6ea5a3cc6356d1b80b3e8cde1fe43211)

ROCKY_FUNCTIONS void set_specific_heat(double value)

**Definition** rocky_particle_api.hpp:524



[IRockyParticle::get\_size](structIRockyParticle.xhtml#a702b4bce44c268065cf9961ea88375c3)

ROCKY_FUNCTIONS double get_size() const

**Definition** rocky_particle_api.hpp:400



[IRockyParticle::get\_number\_of\_assembly\_parts](structIRockyParticle.xhtml#a7174efcf1264a05c6bd5cabe2e927148)

ROCKY_FUNCTIONS size_t get_number_of_assembly_parts() const

**Definition** rocky_particle_api.hpp:615



[IRockyParticle::set\_poisson\_ratio](structIRockyParticle.xhtml#a7225418a496fdaae3dc3ba7bc3d7ebca)

ROCKY_FUNCTIONS void set_poisson_ratio(double value)

**Definition** rocky_particle_api.hpp:514



[IRockyParticle::is\_assembly](structIRockyParticle.xhtml#a7324f759e40ff9147728dd7e666f9816)

ROCKY_FUNCTIONS bool is_assembly() const

**Definition** rocky_particle_api.hpp:610



[IRockyParticle::set\_thermal\_conductivity](structIRockyParticle.xhtml#a876773eeef5269e1335ae8a43cbb2d97)

ROCKY_FUNCTIONS void set_thermal_conductivity(double value)

**Definition** rocky_particle_api.hpp:504



[IRockyParticle::add\_moment](structIRockyParticle.xhtml#a8bb789078434998231949cc5c7c5f3b4)

ROCKY_FUNCTIONS void add_moment(const double3 &amp;moment)

**Definition** rocky_particle_api.hpp:570



[IRockyParticle::get\_thermal\_conductivity](structIRockyParticle.xhtml#a8c3db18d0afb4ebe6d4654d833d904cb)

ROCKY_FUNCTIONS double get_thermal_conductivity() const

**Definition** rocky_particle_api.hpp:499



[IRockyParticle::enable\_related\_particle\_contacts](structIRockyParticle.xhtml#a964a3f27bd8217bbff4301539ecbc1fc)

ROCKY_FUNCTIONS void enable_related_particle_contacts()

**Definition** rocky_particle_api.hpp:585



[IRockyParticle::disable\_related\_particle\_contacts](structIRockyParticle.xhtml#a98c502d7e6af16bbefdb1ff769810980)

ROCKY_FUNCTIONS void disable_related_particle_contacts()

**Definition** rocky_particle_api.hpp:580



[IRockyParticle::get\_volume](structIRockyParticle.xhtml#a9a1df9319687462ce0c43b10e691299f)

ROCKY_FUNCTIONS double get_volume() const

**Definition** rocky_particle_api.hpp:430



[IRockyParticle::get\_mass](structIRockyParticle.xhtml#a9acf8ddfc5a9c3974e19e616193de571)

ROCKY_FUNCTIONS double get_mass() const

**Definition** rocky_particle_api.hpp:390



[IRockyParticle::get\_breakage\_scalars](structIRockyParticle.xhtml#a9efea10efd70526b3ffe3f723253e44e)

ROCKY_FUNCTIONS IRockyParticleBreakageScalars get_breakage_scalars()

**Definition** rocky_particle_api.hpp:551



[IRockyParticle::get\_centroid\_position](structIRockyParticle.xhtml#ab6a1844166c571196740d7cb3e8331a2)

ROCKY_FUNCTIONS double3 get_centroid_position() const

**Definition** rocky_particle_api.hpp:385



[IRockyParticle::get\_resultant\_force](structIRockyParticle.xhtml#ac520e2ca9342f42a1260d42bb1f882a0)

ROCKY_FUNCTIONS double3 get_resultant_force() const

**Definition** rocky_particle_api.hpp:483



[IRockyParticle::get\_sphericity](structIRockyParticle.xhtml#ad60e62be9c1084b624f690d94ce0474b)

ROCKY_FUNCTIONS double get_sphericity() const

**Definition** rocky_particle_api.hpp:460



[IRockyParticle::get\_cgm\_scale\_factor](structIRockyParticle.xhtml#ad931e6e8afe554323408148c245a537e)

ROCKY_FUNCTIONS double get_cgm_scale_factor() const

**Definition** rocky_particle_api.hpp:410



[IRockyParticle::get\_rolling\_resistance\_coefficient](structIRockyParticle.xhtml#ad9ba593e2adb58a8273b23214b14b60b)

ROCKY_FUNCTIONS double get_rolling_resistance_coefficient() const

**Definition** rocky_particle_api.hpp:474



[IRockyParticle::get\_orientation\_axis\_angle](structIRockyParticle.xhtml#adf12c219fb518212af2932b99c39ae52)

ROCKY_FUNCTIONS thrust::tuple&lt; double3, double &gt; get_orientation_axis_angle() const

**Definition** rocky_particle_api.hpp:493



[IRockyParticle::set\_frozen](structIRockyParticle.xhtml#ae6c885d84af14576949205c3b9fb5bd5)

ROCKY_FUNCTIONS void set_frozen(bool frozen)

**Definition** rocky_particle_api.hpp:575



[IRockyParticle::add\_force](structIRockyParticle.xhtml#aebc83f532d4bd643046c1c8a93e09f1d)

ROCKY_FUNCTIONS void add_force(const double3 &amp;force)

**Definition** rocky_particle_api.hpp:565



[IRockyParticle::get\_transfer\_scalars](structIRockyParticle.xhtml#af1bcfda3336619839953a01fbe7828ea)

ROCKY_FUNCTIONS IRockyParticleTransferScalars get_transfer_scalars()

**Definition** rocky_particle_api.hpp:546



[IRockyParticle::get\_release\_time](structIRockyParticle.xhtml#af2ebac6fa5a5f9dbb5c37423ef96c471)

ROCKY_FUNCTIONS double get_release_time() const

**Definition** rocky_particle_api.hpp:405



[IRockyParticle::remove\_from\_contacts\_search](structIRockyParticle.xhtml#af4d25f3ada35c955fd0fe7ba24a244c4)

ROCKY_FUNCTIONS void remove_from_contacts_search()

**Definition** rocky_particle_api.hpp:626



[IRockyParticle::get\_orientation\_quaternion](structIRockyParticle.xhtml#afd3262f90c7304197e8915b4d40a58f6)

ROCKY_FUNCTIONS double4 get_orientation_quaternion() const

**Definition** rocky_particle_api.hpp:478



[IRockyParticle::add\_to\_contacts\_search](structIRockyParticle.xhtml#afe35f545701281de61b805237f4c5d8f)

ROCKY_FUNCTIONS void add_to_contacts_search()

**Definition** rocky_particle_api.hpp:631