    

 ## On this page

  

 

 # rocky\_particle\_api

 Last update: 17.07.2025 

<a id="l00001" name="l00001"></a> 1\#pragma once

<a id="l00002" name="l00002"></a> 2 

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

<a id="l00004" name="l00004"></a> 4\#include "rocky\_particle.hpp"

<a id="l00005" name="l00005"></a> 5 

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

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

<a id="l00008" name="l00008"></a> 8 

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

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

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

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

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

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

<a id="l00027" name="l00027"></a> 27{

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

<a id="l00038" name="l00038"></a> 38 

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

<a id="l00044" name="l00044"></a> 44 

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

<a id="l00051" name="l00051"></a> 51 

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

<a id="l00057" name="l00057"></a> 57 

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

<a id="l00062" name="l00062"></a> 62 

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

<a id="l00067" name="l00067"></a> 67 

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

<a id="l00072" name="l00072"></a> 72 

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

<a id="l00079" name="l00079"></a> 79 

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

<a id="l00087" name="l00087"></a> 87 

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

<a id="l00092" name="l00092"></a> 92 

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

<a id="l00098" name="l00098"></a> 98 

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

<a id="l00107" name="l00107"></a> 107 

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

<a id="l00113" name="l00113"></a> 113 

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

<a id="l00119" name="l00119"></a> 119 

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

<a id="l00128" name="l00128"></a> 128 

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

<a id="l00135" name="l00135"></a> 135 

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

<a id="l00140" name="l00140"></a> 140 

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

<a id="l00146" name="l00146"></a> 146 

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

<a id="l00151" name="l00151"></a> 151 

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

<a id="l00156" name="l00156"></a> 156 

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

<a id="l00163" name="l00163"></a> 163 

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

<a id="l00169" name="l00169"></a> 169 

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

<a id="l00180" name="l00180"></a> 180 

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

<a id="l00188" name="l00188"></a> 188 

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

<a id="l00196" name="l00196"></a> 196 

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

<a id="l00205" name="l00205"></a> 205 

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

<a id="l00213" name="l00213"></a> 213 

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

<a id="l00222" name="l00222"></a> 222 

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

<a id="l00230" name="l00230"></a> 230 

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

<a id="l00241" name="l00241"></a> 241 

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

<a id="l00250" name="l00250"></a> 250 

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

<a id="l00256" name="l00256"></a> 256 

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

<a id="l00262" name="l00262"></a> 262 

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

<a id="l00268" name="l00268"></a> 268 

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

<a id="l00274" name="l00274"></a> 274 

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

<a id="l00279" name="l00279"></a> 279 

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

<a id="l00287" name="l00287"></a> 287 

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

<a id="l00295" name="l00295"></a> 295 

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

<a id="l00304" name="l00304"></a> 304 

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

<a id="l00311" name="l00311"></a> 311 

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

<a id="l00317" name="l00317"></a> 317 

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

<a id="l00322" name="l00322"></a> 322 

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

<a id="l00327" name="l00327"></a> 327 

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

<a id="l00332" name="l00332"></a> 332 

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

<a id="l00337" name="l00337"></a> 337 

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

<a id="l00342" name="l00342"></a> 342 

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

<a id="l00347" name="l00347"></a> 347 

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

<a id="l00355" name="l00355"></a> 355 

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

<a id="l00360" name="l00360"></a> 360 

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

<a id="l00365" name="l00365"></a> 365 

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

<a id="l00368" name="l00368"></a> 368 

<a id="l00369" name="l00369"></a> 369 RockyParticle _impl;

<a id="l00371" name="l00371"></a> 371};



<a id="l00372" name="l00372"></a> 372 

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

<a id="l00374" name="l00374"></a> 374 : _impl(_model, _index)

<a id="l00375" name="l00375"></a> 375{

<a id="l00376" name="l00376"></a> 376}

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

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

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

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

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



<a id="l00382" name="l00382"></a> 382 

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

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

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

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



<a id="l00387" name="l00387"></a> 387 

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

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

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

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



<a id="l00392" name="l00392"></a> 392 

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

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

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

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



<a id="l00397" name="l00397"></a> 397 

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

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

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

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



<a id="l00402" name="l00402"></a> 402 

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

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

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

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



<a id="l00407" name="l00407"></a> 407 

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

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

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

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



<a id="l00412" name="l00412"></a> 412 

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

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

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

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



<a id="l00417" name="l00417"></a> 417 

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

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

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

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



<a id="l00422" name="l00422"></a> 422 

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

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

<a id="l00425" name="l00425"></a> 425 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="l00426" name="l00426"></a> 426}



<a id="l00427" name="l00427"></a> 427 

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

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

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

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



<a id="l00432" name="l00432"></a> 432 

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

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

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

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



<a id="l00437" name="l00437"></a> 437 

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

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

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

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



<a id="l00442" name="l00442"></a> 442 

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

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

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

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



<a id="l00447" name="l00447"></a> 447 

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

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

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

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



<a id="l00452" name="l00452"></a> 452 

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

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

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

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



<a id="l00457" name="l00457"></a> 457 

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

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

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

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



<a id="l00462" name="l00462"></a> 462 

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

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

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

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



<a id="l00467" name="l00467"></a> 467 

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

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

<a id="l00470" name="l00470"></a> 470}



<a id="l00471" name="l00471"></a> 471 

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

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

<a id="l00474" name="l00474"></a> 474}



<a id="l00475" name="l00475"></a> 475 

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

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

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

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



<a id="l00480" name="l00480"></a> 480 

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

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

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

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



<a id="l00485" name="l00485"></a> 485 

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

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

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

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



<a id="l00490" name="l00490"></a> 490 

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

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

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

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

<a id="l00495" name="l00495"></a> 495}



<a id="l00496" name="l00496"></a> 496 

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

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

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

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



<a id="l00501" name="l00501"></a> 501 

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

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

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

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



<a id="l00506" name="l00506"></a> 506 

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

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

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

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



<a id="l00511" name="l00511"></a> 511 

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

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

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

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



<a id="l00516" name="l00516"></a> 516 

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

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

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

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



<a id="l00521" name="l00521"></a> 521 

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

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

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

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



<a id="l00526" name="l00526"></a> 526 

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

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

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

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



<a id="l00531" name="l00531"></a> 531 

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

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

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

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

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

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



<a id="l00538" name="l00538"></a> 538 

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

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

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

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



<a id="l00543" name="l00543"></a> 543 

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

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

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

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



<a id="l00548" name="l00548"></a> 548 

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

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

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

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



<a id="l00553" name="l00553"></a> 553 

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

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

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

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

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

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



<a id="l00560" name="l00560"></a> 560 

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

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

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

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

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

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



<a id="l00567" name="l00567"></a> 567 

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

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

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

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



<a id="l00572" name="l00572"></a> 572 

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

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

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

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



<a id="l00577" name="l00577"></a> 577 

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

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

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

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



<a id="l00582" name="l00582"></a> 582 

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

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

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

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



<a id="l00587" name="l00587"></a> 587 

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

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

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

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



<a id="l00592" name="l00592"></a> 592 

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

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

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

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



<a id="l00597" name="l00597"></a> 597 

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

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

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

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



<a id="l00602" name="l00602"></a> 602 

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

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

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

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



<a id="l00607" name="l00607"></a> 607 

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

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

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

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



<a id="l00612" name="l00612"></a> 612 

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

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

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

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



<a id="l00617" name="l00617"></a> 617 

<a id="l00618" name="l00618"></a> 618inline ROCKY_FUNCTIONS

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

<a id="l00620" name="l00620"></a> 620{

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

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



<a id="l00623" name="l00623"></a> 623 

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

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

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

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



<a id="l00628" name="l00628"></a> 628 

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

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

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

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



<a id="l00633" name="l00633"></a> 633 

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

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

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

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

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

<a id="l00646" name="l00646"></a> 646{

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

<a id="l00653" name="l00653"></a> 653 

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

<a id="l00658" name="l00658"></a> 658 

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

<a id="l00664" name="l00664"></a> 664 

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

<a id="l00671" name="l00671"></a> 671 

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

<a id="l00676" name="l00676"></a> 676 

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

<a id="l00683" name="l00683"></a> 683 

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

<a id="l00689" name="l00689"></a> 689 

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

<a id="l00695" name="l00695"></a> 695 

<a id="l00696" name="l00696"></a> 696 

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

<a id="l00699" name="l00699"></a> 699 

<a id="l00700" name="l00700"></a> 700 RockyParticleHost _impl;

<a id="l00702" name="l00702"></a> 702};



<a id="l00703" name="l00703"></a> 703 

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

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

<a id="l00706" name="l00706"></a> 706{

<a id="l00707" name="l00707"></a> 707}

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

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

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

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

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



<a id="l00713" name="l00713"></a> 713 

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

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

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

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



<a id="l00718" name="l00718"></a> 718 

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

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

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

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



<a id="l00723" name="l00723"></a> 723 

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

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

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

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



<a id="l00728" name="l00728"></a> 728 

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

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

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

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



<a id="l00733" name="l00733"></a> 733 

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

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

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

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



<a id="l00738" name="l00738"></a> 738 

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

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

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

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



<a id="l00743" name="l00743"></a> 743 

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

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

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

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



<a id="l00748" name="l00748"></a> 748 

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

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

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

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

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

<a id="l00764" name="l00764"></a> 764{

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

<a id="l00771" name="l00771"></a> 771 

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

<a id="l00778" name="l00778"></a> 778 

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

<a id="l00783" name="l00783"></a> 783 

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

<a id="l00789" name="l00789"></a> 789 

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

<a id="l00796" name="l00796"></a> 796 

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

<a id="l00802" name="l00802"></a> 802 

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

<a id="l00807" name="l00807"></a> 807 

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

<a id="l00812" name="l00812"></a> 812 

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

<a id="l00817" name="l00817"></a> 817 

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

<a id="l00822" name="l00822"></a> 822 

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

<a id="l00833" name="l00833"></a> 833 

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

<a id="l00839" name="l00839"></a> 839 

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

<a id="l00844" name="l00844"></a> 844 

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

<a id="l00849" name="l00849"></a> 849 

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

<a id="l00854" name="l00854"></a> 854 

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

<a id="l00862" name="l00862"></a> 862 

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

<a id="l00868" name="l00868"></a> 868 

<a id="l00869" name="l00869"></a> 869 

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

<a id="l00872" name="l00872"></a> 872 

<a id="l00873" name="l00873"></a> 873 RockyParticleHost _impl;

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



<a id="l00877" name="l00877"></a> 877 

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

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

<a id="l00880" name="l00880"></a> 880{

<a id="l00881" name="l00881"></a> 881}

<a id="l00882" name="l00882"></a> 882 

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

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

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

<a id="l00886" name="l00886"></a> 886}



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

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

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

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

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



<a id="l00892" name="l00892"></a> 892 

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

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

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

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



<a id="l00897" name="l00897"></a> 897 

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

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

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

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



<a id="l00902" name="l00902"></a> 902 

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

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

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

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



<a id="l00907" name="l00907"></a> 907 

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

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

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

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



<a id="l00912" name="l00912"></a> 912 

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

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

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

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



<a id="l00917" name="l00917"></a> 917 

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

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

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

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



<a id="l00922" name="l00922"></a> 922 

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

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

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

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



<a id="l00927" name="l00927"></a> 927 

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

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

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

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



<a id="l00932" name="l00932"></a> 932 

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

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

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

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



<a id="l00937" name="l00937"></a> 937 

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

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

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

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



<a id="l00942" name="l00942"></a> 942 

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

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

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

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



<a id="l00947" name="l00947"></a> 947 

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

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

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

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



<a id="l00952" name="l00952"></a> 952 

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

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

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

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



<a id="l00957" name="l00957"></a> 957 

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

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

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

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



<a id="l00962" name="l00962"></a> 962 

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

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

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

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



[IRockyBreakableParticle](structIRockyBreakableParticle.xhtml)

**Definition** rocky_particle_api.hpp:646



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

double get_original_volume() const

**Definition** rocky_particle_api.hpp:714



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

double get_minimum_fragment_size() const

**Definition** rocky_particle_api.hpp:709



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

IRockyParticleBreakageScalars get_breakage_scalars()

**Definition** rocky_particle_api.hpp:744



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

IRockyParticleScalars get_scalars()

**Definition** rocky_particle_api.hpp:739



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

void set_as_unbreakable() const

**Definition** rocky_particle_api.hpp:734



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

int get_particle_group_index() const

**Definition** rocky_particle_api.hpp:719



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

double get_strength() const

**Definition** rocky_particle_api.hpp:724



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

double get_original_size() const

**Definition** rocky_particle_api.hpp:729



[IRockyMaterial](structIRockyMaterial.xhtml)

**Definition** rocky_material_api.hpp:20



[IRockyParticleBreakageScalars](structIRockyParticleBreakageScalars.xhtml)

**Definition** rocky_particle_scalars.hpp:543



[IRockyParticleHost](structIRockyParticleHost.xhtml)

**Definition** rocky_particle_api.hpp:764



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

size_t get_number_of_assembly_parts() const

**Definition** rocky_particle_api.hpp:953



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

int get_tag() const

**Definition** rocky_particle_api.hpp:963



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

double get_cgm_scale_factor() const

**Definition** rocky_particle_api.hpp:933



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

IRockyParticleScalars get_scalars() const

**Definition** rocky_particle_api.hpp:893



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

double get_equivalent_diameter() const

**Definition** rocky_particle_api.hpp:903



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

IRockyMaterial get_material() const

**Definition** rocky_particle_api.hpp:908



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

bool is_assembly() const

**Definition** rocky_particle_api.hpp:943



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

IRockyMaterial get_assembly_part_material(size_t part_id) const

**Definition** rocky_particle_api.hpp:958



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

double3 get_centroid_position() const

**Definition** rocky_particle_api.hpp:913



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

double get_size() const

**Definition** rocky_particle_api.hpp:923



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

double get_release_time() const

**Definition** rocky_particle_api.hpp:928



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

bool is_released() const

**Definition** rocky_particle_api.hpp:938



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

double get_original_mass() const

**Definition** rocky_particle_api.hpp:918



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

double get_original_volume() const

**Definition** rocky_particle_api.hpp:883



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

int get_material_index() const

**Definition** rocky_particle_api.hpp:898



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

double get_original_solid_volume() const

**Definition** rocky_particle_api.hpp:888



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

bool is_element() const

**Definition** rocky_particle_api.hpp:948



[IRockyParticleScalars](structIRockyParticleScalars.xhtml)

**Definition** rocky_particle_scalars.hpp:104



[IRockyParticleTransferScalars](structIRockyParticleTransferScalars.xhtml)

**Definition** rocky_particle_scalars.hpp:406



[IRockyParticle](structIRockyParticle.xhtml)

**Definition** rocky_particle_api.hpp:27



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

ROCKY_FUNCTIONS double get_original_mass() const

**Definition** rocky_particle_api.hpp:393



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

ROCKY_FUNCTIONS int get_particle_group_index() const

**Definition** rocky_particle_api.hpp:463



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

ROCKY_FUNCTIONS const double3 get_moment_of_inertia() const

**Definition** rocky_particle_api.hpp:598



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

ROCKY_FUNCTIONS bool is_element() const

**Definition** rocky_particle_api.hpp:603



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

ROCKY_FUNCTIONS double get_solid_volume() const

**Definition** rocky_particle_api.hpp:433



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

ROCKY_FUNCTIONS double3 get_rotational_velocity() const

**Definition** rocky_particle_api.hpp:418



[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:619



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

ROCKY_FUNCTIONS void disable_related_triangle_contacts()

**Definition** rocky_particle_api.hpp:588



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

ROCKY_FUNCTIONS double get_surface_area() const

**Definition** rocky_particle_api.hpp:438



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

ROCKY_FUNCTIONS int get_tag() const

**Definition** rocky_particle_api.hpp:527



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

ROCKY_FUNCTIONS void remove()

**Definition** rocky_particle_api.hpp:556



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

ROCKY_FUNCTIONS IRockyParticleScalars get_scalars()

**Definition** rocky_particle_api.hpp:534



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

ROCKY_FUNCTIONS double get_strength() const

**Definition** rocky_particle_api.hpp:448



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

ROCKY_FUNCTIONS double get_impact_energy() const

**Definition** rocky_particle_api.hpp:443



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

ROCKY_FUNCTIONS double3 get_translational_velocity() const

**Definition** rocky_particle_api.hpp:413



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

ROCKY_FUNCTIONS IRockyMaterial get_material() const

**Definition** rocky_particle_api.hpp:378



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

ROCKY_FUNCTIONS double3 get_gravity() const

**Definition** rocky_particle_api.hpp:423



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

ROCKY_FUNCTIONS int get_material_index() const

**Definition** rocky_particle_api.hpp:468



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

ROCKY_FUNCTIONS double get_specific_heat() const

**Definition** rocky_particle_api.hpp:517



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

ROCKY_FUNCTIONS double3 get_resultant_moment() const

**Definition** rocky_particle_api.hpp:486



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

ROCKY_FUNCTIONS double get_equivalent_diameter() const

**Definition** rocky_particle_api.hpp:453



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

ROCKY_FUNCTIONS double get_poisson_ratio() const

**Definition** rocky_particle_api.hpp:507



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

ROCKY_FUNCTIONS void enable_related_triangle_contacts()

**Definition** rocky_particle_api.hpp:593



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

ROCKY_FUNCTIONS void set_specific_heat(double value)

**Definition** rocky_particle_api.hpp:522



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

ROCKY_FUNCTIONS double get_size() const

**Definition** rocky_particle_api.hpp:398



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

ROCKY_FUNCTIONS size_t get_number_of_assembly_parts() const

**Definition** rocky_particle_api.hpp:613



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

ROCKY_FUNCTIONS void set_poisson_ratio(double value)

**Definition** rocky_particle_api.hpp:512



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

ROCKY_FUNCTIONS bool is_assembly() const

**Definition** rocky_particle_api.hpp:608



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

ROCKY_FUNCTIONS void set_thermal_conductivity(double value)

**Definition** rocky_particle_api.hpp:502



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

ROCKY_FUNCTIONS void add_moment(const double3 &amp;moment)

**Definition** rocky_particle_api.hpp:568



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

ROCKY_FUNCTIONS double get_thermal_conductivity() const

**Definition** rocky_particle_api.hpp:497



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

ROCKY_FUNCTIONS void enable_related_particle_contacts()

**Definition** rocky_particle_api.hpp:583



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

ROCKY_FUNCTIONS void disable_related_particle_contacts()

**Definition** rocky_particle_api.hpp:578



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

ROCKY_FUNCTIONS double get_volume() const

**Definition** rocky_particle_api.hpp:428



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

ROCKY_FUNCTIONS double get_mass() const

**Definition** rocky_particle_api.hpp:388



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

ROCKY_FUNCTIONS IRockyParticleBreakageScalars get_breakage_scalars()

**Definition** rocky_particle_api.hpp:549



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

ROCKY_FUNCTIONS double3 get_centroid_position() const

**Definition** rocky_particle_api.hpp:383



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

ROCKY_FUNCTIONS double3 get_resultant_force() const

**Definition** rocky_particle_api.hpp:481



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

ROCKY_FUNCTIONS double get_sphericity() const

**Definition** rocky_particle_api.hpp:458



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

ROCKY_FUNCTIONS double get_cgm_scale_factor() const

**Definition** rocky_particle_api.hpp:408



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

ROCKY_FUNCTIONS double get_rolling_resistance_coefficient() const

**Definition** rocky_particle_api.hpp:472



[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:491



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

ROCKY_FUNCTIONS void set_frozen(bool frozen)

**Definition** rocky_particle_api.hpp:573



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

ROCKY_FUNCTIONS void add_force(const double3 &amp;force)

**Definition** rocky_particle_api.hpp:563



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

ROCKY_FUNCTIONS IRockyParticleTransferScalars get_transfer_scalars()

**Definition** rocky_particle_api.hpp:544



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

ROCKY_FUNCTIONS double get_release_time() const

**Definition** rocky_particle_api.hpp:403



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

ROCKY_FUNCTIONS void remove_from_contacts_search()

**Definition** rocky_particle_api.hpp:624



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

ROCKY_FUNCTIONS double4 get_orientation_quaternion() const

**Definition** rocky_particle_api.hpp:476



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

ROCKY_FUNCTIONS void add_to_contacts_search()

**Definition** rocky_particle_api.hpp:629