    

 ## On this page

  

 

 # rocky\_output\_collections\_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\_time\_curve\_data.hpp"

<a id="l00005" name="l00005"></a> 5\#include "rocky\_output\_properties.h"

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

<a id="l00007" name="l00007"></a> 7// =================================================================================================

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

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

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

<a id="l00029" name="l00029"></a>[ 29](structIRockyCurveCollectionData.xhtml)struct [IRockyCurveCollectionData](structIRockyCurveCollectionData.xhtml)

<a id="l00030" name="l00030"></a> 30{

<a id="l00043" name="l00043"></a> 43 void [create\_particles\_dataset](structIRockyCurveCollectionData.xhtml#aa3ea8900da748813b0e1eba05372cb53)(const std::string&amp; name, const std::string&amp; unit);

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

<a id="l00058" name="l00058"></a> 58 void [create\_geometry\_dataset](structIRockyCurveCollectionData.xhtml#aac6750ba6fce2ee80a5a1fe1edb356e4)(int geometry_id, const std::string&amp; name, const std::string&amp; unit);

<a id="l00059" name="l00059"></a> 59 

<a id="l00073" name="l00073"></a> 73 void [create\_dataset](structIRockyCurveCollectionData.xhtml#a9d540d1d87039559fe088e897504fd99)(const std::string&amp; owner_name, const std::string&amp; name, const std::string&amp; unit);

<a id="l00074" name="l00074"></a> 74 

<a id="l00083" name="l00083"></a> 83 void [create\_particles\_curve](structIRockyCurveCollectionData.xhtml#a88494c4828a9d06cea380ca4d21fdc73)(

<a id="l00084" name="l00084"></a> 84 const std::string&amp; domain_dataset, const std::string&amp; image_dataset);

<a id="l00085" name="l00085"></a> 85 

<a id="l00096" name="l00096"></a> 96 void [create\_geometry\_curve](structIRockyCurveCollectionData.xhtml#add0cf572f25fb257dd0f007b53593f21)(

<a id="l00097" name="l00097"></a> 97 int geometry_id, const std::string&amp; domain_dataset, const std::string&amp; image_dataset);

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

<a id="l00109" name="l00109"></a> 109 void [add\_curve](structIRockyCurveCollectionData.xhtml#a9ac4b935090edf6975d4f46cf74aa86e)(

<a id="l00110" name="l00110"></a> 110 const std::string&amp; owner_name, const std::string&amp; domain_dataset, const std::string&amp; image_dataset);

<a id="l00111" name="l00111"></a> 111 

<a id="l00122" name="l00122"></a> 122 void [setup\_particles\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#a7942a28df7cd10c70ed086b9d11ebf2b)(const std::string&amp; name, double dimension);

<a id="l00123" name="l00123"></a> 123 

<a id="l00136" name="l00136"></a> 136 void [setup\_geometry\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#ab5752c7598d6b2f21c090e470eb50d3b)(

<a id="l00137" name="l00137"></a> 137 int geometry_id, const std::string&amp; name, double dimension);

<a id="l00138" name="l00138"></a> 138 

<a id="l00151" name="l00151"></a> 151 void [setup\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#a4316fe7409b88eb683ed59d60d5b5fae)(

<a id="l00152" name="l00152"></a> 152 const std::string&amp; owner_name, const std::string&amp; name, double dimension);

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

<a id="l00167" name="l00167"></a> 167 void [update\_particles\_dataset](structIRockyCurveCollectionData.xhtml#a7f24452610d153c6f8da6e25f7bb1185)(const std::string&amp; name, const double* dataset, size\_t size);

<a id="l00168" name="l00168"></a> 168 

<a id="l00184" name="l00184"></a> 184 void [update\_geometry\_dataset](structIRockyCurveCollectionData.xhtml#aee59308015e7f60c741a0296a1c17a25)(

<a id="l00185" name="l00185"></a> 185 int geometry_id, const std::string&amp; name, const double* dataset, size\_t size);

<a id="l00186" name="l00186"></a> 186 

<a id="l00202" name="l00202"></a> 202 void [update\_dataset](structIRockyCurveCollectionData.xhtml#a77d905fa54397c6f5b7fdc84795b01a6)(

<a id="l00203" name="l00203"></a> 203 const std::string&amp; owner_name, const std::string&amp; name, const double* dataset, size\_t size);

<a id="l00204" name="l00204"></a> 204 

<a id="l00216" name="l00216"></a> 216 void [create\_particles\_time\_curve](structIRockyCurveCollectionData.xhtml#ae638f72f97d27b18d69ad0ded3b26d4b)(const std::string&amp; name, const std::string&amp; unit);

<a id="l00217" name="l00217"></a> 217 

<a id="l00230" name="l00230"></a> 230 void [create\_geometry\_time\_curve](structIRockyCurveCollectionData.xhtml#aab6ad0a64db6e08afcc4c09643f2fbaa)(int geometry_id, const std::string&amp; name, const std::string&amp; unit);

<a id="l00231" name="l00231"></a> 231 

<a id="l00244" name="l00244"></a> 244 void [create\_time\_curve](structIRockyCurveCollectionData.xhtml#a521adcdec892f96ea7b628c5aa1a3560)(const std::string&amp; owner_name, const std::string&amp; name, const std::string&amp; unit);

<a id="l00245" name="l00245"></a> 245 

<a id="l00256" name="l00256"></a> 256 void [setup\_particles\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#a230f2f9be559dcb98d57a4e5c7218dd0)(const std::string&amp; name, double dimension);

<a id="l00257" name="l00257"></a> 257 

<a id="l00270" name="l00270"></a> 270 void [setup\_geometry\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#aa445fbd38bfb1770a1c197f806890908)(int geometry_id, const std::string&amp; name, double dimension);

<a id="l00271" name="l00271"></a> 271 

<a id="l00284" name="l00284"></a> 284 void [setup\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#ad43383c1fe177dc20d46ec205f8cb675)(const std::string&amp; owner_name, const std::string&amp; name, double dimension);

<a id="l00285" name="l00285"></a> 285 

<a id="l00297" name="l00297"></a> 297 void [update\_particles\_time\_curve](structIRockyCurveCollectionData.xhtml#a650d74b4c42f6d63489f98ee5835d942)(const std::string&amp; name, double value);

<a id="l00298" name="l00298"></a> 298 

<a id="l00312" name="l00312"></a> 312 void [update\_geometry\_time\_curve](structIRockyCurveCollectionData.xhtml#a3da24f758d62665100b5c43b8f1075d9)(int geometry_id, const std::string&amp; name, double value);

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

<a id="l00327" name="l00327"></a> 327 void [update\_time\_curve](structIRockyCurveCollectionData.xhtml#a024664c7b45eb7a6728a3207eeb82ee3)(const std::string&amp; owner_name, const std::string&amp; name, double value);

<a id="l00328" name="l00328"></a> 328 

<a id="l00330" name="l00330"></a> 330 [IRockyCurveCollectionData](structIRockyCurveCollectionData.xhtml)(

<a id="l00331" name="l00331"></a> 331 std::shared_ptr&lt;rocky20::RockyAddinCurvesWriter&gt; datasets_writer, bool is_setup_stage);

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

<a id="l00333" name="l00333"></a> 333 RockyCurveCollectionData _impl;

<a id="l00334" name="l00334"></a> 334 bool _is_setup_stage;

<a id="l00336" name="l00336"></a> 336};



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

<a id="l00338" name="l00338"></a> 338inline IRockyCurveCollectionData::IRockyCurveCollectionData(

<a id="l00339" name="l00339"></a> 339 std::shared_ptr&lt;rocky20::RockyAddinCurvesWriter&gt; datasets_writer, bool is_setup_stage)

<a id="l00340" name="l00340"></a> 340 : _impl(datasets_writer)

<a id="l00341" name="l00341"></a> 341 , _is_setup_stage(is_setup_stage)

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

<a id="l00343" name="l00343"></a> 343}

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

<a id="l00345" name="l00345"></a> 345// create ------------------------------------------------------------------------------------------

<a id="l00346" name="l00346"></a> 346 

<a id="l00347" name="l00347"></a>[ 347](structIRockyCurveCollectionData.xhtml#aa3ea8900da748813b0e1eba05372cb53)inline void [IRockyCurveCollectionData::create\_particles\_dataset](structIRockyCurveCollectionData.xhtml#aa3ea8900da748813b0e1eba05372cb53)(

<a id="l00348" name="l00348"></a> 348 const std::string&amp; name, const std::string&amp; unit)

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

<a id="l00350" name="l00350"></a> 350 if (this-&gt;_is_setup_stage)

<a id="l00351" name="l00351"></a> 351 this-&gt;_impl.create_particles_dataset(name, unit);

<a id="l00352" name="l00352"></a> 352 else

<a id="l00353" name="l00353"></a> 353 ROCKY_RUNTIME_ERROR("Curve collection datasets must be created before a simulation starts.")

<a id="l00354" name="l00354"></a> 354}



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

<a id="l00356" name="l00356"></a>[ 356](structIRockyCurveCollectionData.xhtml#aac6750ba6fce2ee80a5a1fe1edb356e4)inline void [IRockyCurveCollectionData::create\_geometry\_dataset](structIRockyCurveCollectionData.xhtml#aac6750ba6fce2ee80a5a1fe1edb356e4)(

<a id="l00357" name="l00357"></a> 357 int geometry_id, const std::string&amp; name, const std::string&amp; unit)

<a id="l00358" name="l00358"></a> 358{

<a id="l00359" name="l00359"></a> 359 if (this-&gt;_is_setup_stage)

<a id="l00360" name="l00360"></a> 360 this-&gt;_impl.create_geometry_dataset(name, unit, geometry_id);

<a id="l00361" name="l00361"></a> 361 else

<a id="l00362" name="l00362"></a> 362 ROCKY_RUNTIME_ERROR("Curve collection datasets must be created before a simulation starts.")

<a id="l00363" name="l00363"></a> 363}



<a id="l00364" name="l00364"></a> 364 

<a id="l00365" name="l00365"></a>[ 365](structIRockyCurveCollectionData.xhtml#a9d540d1d87039559fe088e897504fd99)inline void [IRockyCurveCollectionData::create\_dataset](structIRockyCurveCollectionData.xhtml#a9d540d1d87039559fe088e897504fd99)(

<a id="l00366" name="l00366"></a> 366 const std::string&amp; owner_name, const std::string&amp; name, const std::string&amp; unit)

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

<a id="l00368" name="l00368"></a> 368 if (this-&gt;_is_setup_stage)

<a id="l00369" name="l00369"></a> 369 this-&gt;_impl.create_custom_dataset(name, unit, owner_name);

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

<a id="l00371" name="l00371"></a> 371 ROCKY_RUNTIME_ERROR("Curve collection datasets must be created before a simulation starts.")

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



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

<a id="l00374" name="l00374"></a>[ 374](structIRockyCurveCollectionData.xhtml#a88494c4828a9d06cea380ca4d21fdc73)inline void [IRockyCurveCollectionData::create\_particles\_curve](structIRockyCurveCollectionData.xhtml#a88494c4828a9d06cea380ca4d21fdc73)(

<a id="l00375" name="l00375"></a> 375 const std::string&amp; domain_dataset, const std::string&amp; image_dataset)

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

<a id="l00377" name="l00377"></a> 377 if (this-&gt;_is_setup_stage)

<a id="l00378" name="l00378"></a> 378 this-&gt;_impl.create_particles_curve(domain_dataset, image_dataset);

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

<a id="l00380" name="l00380"></a> 380 ROCKY_RUNTIME_ERROR("Curve collection curves must be created before a simulation starts.")

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



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

<a id="l00383" name="l00383"></a>[ 383](structIRockyCurveCollectionData.xhtml#add0cf572f25fb257dd0f007b53593f21)inline void [IRockyCurveCollectionData::create\_geometry\_curve](structIRockyCurveCollectionData.xhtml#add0cf572f25fb257dd0f007b53593f21)(

<a id="l00384" name="l00384"></a> 384 int geometry_id, const std::string&amp; domain_dataset, const std::string&amp; image_dataset)

<a id="l00385" name="l00385"></a> 385{

<a id="l00386" name="l00386"></a> 386 if (this-&gt;_is_setup_stage)

<a id="l00387" name="l00387"></a> 387 this-&gt;_impl.create_geometry_curve(domain_dataset, image_dataset, geometry_id);

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

<a id="l00389" name="l00389"></a> 389 ROCKY_RUNTIME_ERROR("Curve collection curves must be created before a simulation starts.")

<a id="l00390" name="l00390"></a> 390}



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

<a id="l00392" name="l00392"></a>[ 392](structIRockyCurveCollectionData.xhtml#a9ac4b935090edf6975d4f46cf74aa86e)inline void [IRockyCurveCollectionData::add\_curve](structIRockyCurveCollectionData.xhtml#a9ac4b935090edf6975d4f46cf74aa86e)(

<a id="l00393" name="l00393"></a> 393 const std::string&amp; owner_name, const std::string&amp; domain_dataset, const std::string&amp; image_dataset)

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

<a id="l00395" name="l00395"></a> 395 if (this-&gt;_is_setup_stage)

<a id="l00396" name="l00396"></a> 396 this-&gt;_impl.create_custom_curve(domain_dataset, image_dataset, owner_name);

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

<a id="l00398" name="l00398"></a> 398 ROCKY_RUNTIME_ERROR("Curve collection curves must be created before a simulation starts.")

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



<a id="l00400" name="l00400"></a> 400 

<a id="l00401" name="l00401"></a>[ 401](structIRockyCurveCollectionData.xhtml#ae638f72f97d27b18d69ad0ded3b26d4b)inline void [IRockyCurveCollectionData::create\_particles\_time\_curve](structIRockyCurveCollectionData.xhtml#ae638f72f97d27b18d69ad0ded3b26d4b)(const std::string&amp; name, const std::string&amp; unit)

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

<a id="l00403" name="l00403"></a> 403 if (this-&gt;_is_setup_stage)

<a id="l00404" name="l00404"></a> 404 this-&gt;_impl.create_particles_time_curve(name, unit);

<a id="l00405" name="l00405"></a> 405 else

<a id="l00406" name="l00406"></a> 406 ROCKY_RUNTIME_ERROR("Curve collection curves must be created before a simulation starts.")

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



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

<a id="l00409" name="l00409"></a>[ 409](structIRockyCurveCollectionData.xhtml#aab6ad0a64db6e08afcc4c09643f2fbaa)inline void [IRockyCurveCollectionData::create\_geometry\_time\_curve](structIRockyCurveCollectionData.xhtml#aab6ad0a64db6e08afcc4c09643f2fbaa)(int geometry_id, const std::string&amp; name, const std::string&amp; unit)

<a id="l00410" name="l00410"></a> 410{

<a id="l00411" name="l00411"></a> 411 if (this-&gt;_is_setup_stage)

<a id="l00412" name="l00412"></a> 412 this-&gt;_impl.create_geometry_time_curve(name, unit, geometry_id);

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

<a id="l00414" name="l00414"></a> 414 ROCKY_RUNTIME_ERROR("Curve collection curves must be created before a simulation starts.")

<a id="l00415" name="l00415"></a> 415}



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

<a id="l00417" name="l00417"></a>[ 417](structIRockyCurveCollectionData.xhtml#a521adcdec892f96ea7b628c5aa1a3560)inline void [IRockyCurveCollectionData::create\_time\_curve](structIRockyCurveCollectionData.xhtml#a521adcdec892f96ea7b628c5aa1a3560)(

<a id="l00418" name="l00418"></a> 418 const std::string &amp;owner_name, const std::string &amp;name, const std::string &amp;unit)

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

<a id="l00420" name="l00420"></a> 420 if (this-&gt;_is_setup_stage)

<a id="l00421" name="l00421"></a> 421 this-&gt;_impl.create_custom_time_curve(name, unit, owner_name);

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

<a id="l00423" name="l00423"></a> 423 ROCKY_RUNTIME_ERROR("Curve collection curves must be created before a simulation starts.")

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



<a id="l00425" name="l00425"></a> 425 

<a id="l00426" name="l00426"></a> 426// dimensions --------------------------------------------------------------------------------------

<a id="l00427" name="l00427"></a>[ 427](structIRockyCurveCollectionData.xhtml#a7942a28df7cd10c70ed086b9d11ebf2b)inline void [IRockyCurveCollectionData::setup\_particles\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#a7942a28df7cd10c70ed086b9d11ebf2b)(

<a id="l00428" name="l00428"></a> 428 const std::string&amp; name, double dimension)

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

<a id="l00430" name="l00430"></a> 430 if (this-&gt;_is_setup_stage)

<a id="l00431" name="l00431"></a> 431 this-&gt;_impl.setup_particles_dataset_dimension(name, dimension);

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

<a id="l00433" name="l00433"></a> 433 ROCKY_RUNTIME_ERROR(

<a id="l00434" name="l00434"></a> 434 "The dimension associated to a dataset must be set before a simulation starts.")

<a id="l00435" name="l00435"></a> 435}



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

<a id="l00437" name="l00437"></a>[ 437](structIRockyCurveCollectionData.xhtml#ab5752c7598d6b2f21c090e470eb50d3b)inline void [IRockyCurveCollectionData::setup\_geometry\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#ab5752c7598d6b2f21c090e470eb50d3b)(

<a id="l00438" name="l00438"></a> 438 int geometry_id, const std::string&amp; name, double dimension)

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

<a id="l00440" name="l00440"></a> 440 if (this-&gt;_is_setup_stage)

<a id="l00441" name="l00441"></a> 441 this-&gt;_impl.setup_geometry_dataset_dimension(name, dimension, geometry_id);

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

<a id="l00443" name="l00443"></a> 443 ROCKY_RUNTIME_ERROR(

<a id="l00444" name="l00444"></a> 444 "The dimension associated to a dataset must be set before a simulation starts.")

<a id="l00445" name="l00445"></a> 445}



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

<a id="l00447" name="l00447"></a>[ 447](structIRockyCurveCollectionData.xhtml#a4316fe7409b88eb683ed59d60d5b5fae)inline void [IRockyCurveCollectionData::setup\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#a4316fe7409b88eb683ed59d60d5b5fae)(

<a id="l00448" name="l00448"></a> 448 const std::string &amp;owner_name, const std::string &amp;name, double dimension)

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

<a id="l00450" name="l00450"></a> 450 if (this-&gt;_is_setup_stage)

<a id="l00451" name="l00451"></a> 451 this-&gt;_impl.setup_custom_dataset_dimension(name, dimension, owner_name);

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

<a id="l00453" name="l00453"></a> 453 ROCKY_RUNTIME_ERROR("The dimension associated to a dataset must be set before a simulation starts.")

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



<a id="l00455" name="l00455"></a> 455 

<a id="l00456" name="l00456"></a>[ 456](structIRockyCurveCollectionData.xhtml#a230f2f9be559dcb98d57a4e5c7218dd0)inline void [IRockyCurveCollectionData::setup\_particles\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#a230f2f9be559dcb98d57a4e5c7218dd0)(

<a id="l00457" name="l00457"></a> 457 const std::string&amp; name, double dimension)

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

<a id="l00459" name="l00459"></a> 459 if (this-&gt;_is_setup_stage)

<a id="l00460" name="l00460"></a> 460 this-&gt;_impl.setup_particles_dataset_dimension(name, dimension);

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

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

<a id="l00463" name="l00463"></a> 463 "The dimension associated to a time curve must be set before a simulation starts.")

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



<a id="l00465" name="l00465"></a> 465 

<a id="l00466" name="l00466"></a>[ 466](structIRockyCurveCollectionData.xhtml#aa445fbd38bfb1770a1c197f806890908)inline void [IRockyCurveCollectionData::setup\_geometry\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#aa445fbd38bfb1770a1c197f806890908)(

<a id="l00467" name="l00467"></a> 467 int geometry_id, const std::string&amp; name, double dimension)

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

<a id="l00469" name="l00469"></a> 469 if (this-&gt;_is_setup_stage)

<a id="l00470" name="l00470"></a> 470 this-&gt;_impl.setup_geometry_dataset_dimension(name, dimension, geometry_id);

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

<a id="l00472" name="l00472"></a> 472 ROCKY_RUNTIME_ERROR(

<a id="l00473" name="l00473"></a> 473 "The dimension associated to a time curve must be set before a simulation starts.")

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



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

<a id="l00476" name="l00476"></a>[ 476](structIRockyCurveCollectionData.xhtml#ad43383c1fe177dc20d46ec205f8cb675)inline void [IRockyCurveCollectionData::setup\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#ad43383c1fe177dc20d46ec205f8cb675)(

<a id="l00477" name="l00477"></a> 477 const std::string&amp; owner_name, const std::string&amp; name, double dimension)

<a id="l00478" name="l00478"></a> 478{

<a id="l00479" name="l00479"></a> 479 if (this-&gt;_is_setup_stage)

<a id="l00480" name="l00480"></a> 480 this-&gt;_impl.setup_custom_dataset_dimension(name, dimension, owner_name);

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

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

<a id="l00483" name="l00483"></a> 483 "The dimension associated to a time curve must be set before a simulation starts.")

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



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

<a id="l00486" name="l00486"></a> 486// update ------------------------------------------------------------------------------------------

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

<a id="l00488" name="l00488"></a>[ 488](structIRockyCurveCollectionData.xhtml#a7f24452610d153c6f8da6e25f7bb1185)inline void [IRockyCurveCollectionData::update\_particles\_dataset](structIRockyCurveCollectionData.xhtml#a7f24452610d153c6f8da6e25f7bb1185)(

<a id="l00489" name="l00489"></a> 489 const std::string&amp; name, const double* dataset, size\_t size)

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

<a id="l00491" name="l00491"></a> 491 if (!this-&gt;_is_setup_stage)

<a id="l00492" name="l00492"></a> 492 this-&gt;_impl.update_particles_dataset(name, dataset, size);

<a id="l00493" name="l00493"></a> 493 else

<a id="l00494" name="l00494"></a> 494 ROCKY_RUNTIME_ERROR(

<a id="l00495" name="l00495"></a> 495 "Curve collection datasets must be updated during the simulation iterative process.")

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



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

<a id="l00498" name="l00498"></a>[ 498](structIRockyCurveCollectionData.xhtml#aee59308015e7f60c741a0296a1c17a25)inline void [IRockyCurveCollectionData::update\_geometry\_dataset](structIRockyCurveCollectionData.xhtml#aee59308015e7f60c741a0296a1c17a25)(

<a id="l00499" name="l00499"></a> 499 int geometry_id, const std::string&amp; name, const double* dataset, size\_t size)

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

<a id="l00501" name="l00501"></a> 501 if (!this-&gt;_is_setup_stage)

<a id="l00502" name="l00502"></a> 502 this-&gt;_impl.update_geometry_dataset(name, dataset, size, geometry_id);

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

<a id="l00504" name="l00504"></a> 504 ROCKY_RUNTIME_ERROR(

<a id="l00505" name="l00505"></a> 505 "Curve collection datasets must be updated during the simulation iterative process.")

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



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

<a id="l00508" name="l00508"></a>[ 508](structIRockyCurveCollectionData.xhtml#a77d905fa54397c6f5b7fdc84795b01a6)inline void [IRockyCurveCollectionData::update\_dataset](structIRockyCurveCollectionData.xhtml#a77d905fa54397c6f5b7fdc84795b01a6)(

<a id="l00509" name="l00509"></a> 509 const std::string&amp; owner_name, const std::string&amp; name, const double* dataset, size\_t size)

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

<a id="l00511" name="l00511"></a> 511 if (!this-&gt;_is_setup_stage)

<a id="l00512" name="l00512"></a> 512 this-&gt;_impl.update_custom_dataset(name, dataset, size, owner_name);

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

<a id="l00514" name="l00514"></a> 514 ROCKY_RUNTIME_ERROR(

<a id="l00515" name="l00515"></a> 515 "Curve collection datasets must be updated during the simulation iterative process.")

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



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

<a id="l00518" name="l00518"></a>[ 518](structIRockyCurveCollectionData.xhtml#a650d74b4c42f6d63489f98ee5835d942)inline void [IRockyCurveCollectionData::update\_particles\_time\_curve](structIRockyCurveCollectionData.xhtml#a650d74b4c42f6d63489f98ee5835d942)(const std::string&amp; name, double value)

<a id="l00519" name="l00519"></a> 519{

<a id="l00520" name="l00520"></a> 520 if (!this-&gt;_is_setup_stage)

<a id="l00521" name="l00521"></a> 521 this-&gt;_impl.update_particles_dataset(name, &amp;value, 1);

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

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

<a id="l00524" name="l00524"></a> 524 "Curve collection datasets must be updated during the simulation iterative process.")

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



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

<a id="l00527" name="l00527"></a>[ 527](structIRockyCurveCollectionData.xhtml#a3da24f758d62665100b5c43b8f1075d9)inline void [IRockyCurveCollectionData::update\_geometry\_time\_curve](structIRockyCurveCollectionData.xhtml#a3da24f758d62665100b5c43b8f1075d9)(int geometry_id, const std::string&amp; name, double value)

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

<a id="l00529" name="l00529"></a> 529 if (!this-&gt;_is_setup_stage)

<a id="l00530" name="l00530"></a> 530 this-&gt;_impl.update_geometry_dataset(name, &amp;value, 1, geometry_id);

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

<a id="l00532" name="l00532"></a> 532 ROCKY_RUNTIME_ERROR(

<a id="l00533" name="l00533"></a> 533 "Curve collection datasets must be updated during the simulation iterative process.")

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



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

<a id="l00536" name="l00536"></a>[ 536](structIRockyCurveCollectionData.xhtml#a024664c7b45eb7a6728a3207eeb82ee3)inline void [IRockyCurveCollectionData::update\_time\_curve](structIRockyCurveCollectionData.xhtml#a024664c7b45eb7a6728a3207eeb82ee3)(

<a id="l00537" name="l00537"></a> 537 const std::string &amp;owner_name, const std::string &amp;name, double value)

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

<a id="l00539" name="l00539"></a> 539 if (!this-&gt;_is_setup_stage)

<a id="l00540" name="l00540"></a> 540 this-&gt;_impl.update_custom_dataset(name, &amp;value, 1, owner_name);

<a id="l00541" name="l00541"></a> 541 else

<a id="l00542" name="l00542"></a> 542 ROCKY_RUNTIME_ERROR("Curve collection datasets must be updated during the simulation iterative process.")

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



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

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

<a id="l00546" name="l00546"></a> 546// IRockyOutputPropertyCollection

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

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

<a id="l00554" name="l00554"></a>[ 554](structIRockyOutputPropertyCollection.xhtml)struct [IRockyOutputPropertyCollection](structIRockyOutputPropertyCollection.xhtml)

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

<a id="l00564" name="l00564"></a> 564 int [create\_particles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#a562a3ad7f55e9b3f2ea033b3678d04cb)(const std::string&amp; name, const std::string&amp; unit, double dimension = 1.0);

<a id="l00565" name="l00565"></a> 565 

<a id="l00575" name="l00575"></a> 575 int [create\_particles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#a12a985fe7f1a21e14166190fae435063)(const std::string&amp; name, const std::string&amp; unit, double dimension = 1.0);

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

<a id="l00585" name="l00585"></a> 585 int [create\_triangles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#a5d45d1e096da70b7d8cb225fa5f53239)(const std::string&amp; name, const std::string&amp; unit, double dimension = 1.0);

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

<a id="l00596" name="l00596"></a> 596 int [create\_triangles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#a8df0ae8b8289603cb4ca3a79a6a410e2)(const std::string&amp; name, const std::string&amp; unit, double dimension = 1.0);

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

<a id="l00606" name="l00606"></a> 606 int [create\_vertex\_triangles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#adb9ddaf60d9dd7f8a2f1f373ff96a686)(const std::string&amp; name, const std::string&amp; unit, double dimension = 1.0);

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

<a id="l00617" name="l00617"></a> 617 int [create\_vertex\_triangles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#acd8689ea4a1e86fc064b6e4e6a813a2c)(const std::string&amp; name, const std::string&amp; unit, double dimension = 1.0);

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

<a id="l00620" name="l00620"></a> 620 [IRockyOutputPropertyCollection](structIRockyOutputPropertyCollection.xhtml)(std::shared_ptr&lt;OutputPropertiesSetup&gt; properties_setup);

<a id="l00621" name="l00621"></a> 621 

<a id="l00622" name="l00622"></a> 622 std::shared_ptr&lt;OutputPropertiesSetup&gt; _impl;

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



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

<a id="l00626" name="l00626"></a> 626inline IRockyOutputPropertyCollection::IRockyOutputPropertyCollection(

<a id="l00627" name="l00627"></a> 627 std::shared_ptr&lt;OutputPropertiesSetup&gt; properties_setup) 

<a id="l00628" name="l00628"></a> 628 : _impl(properties_setup)

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

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

<a id="l00631" name="l00631"></a>[ 631](structIRockyOutputPropertyCollection.xhtml#a562a3ad7f55e9b3f2ea033b3678d04cb)inline int [IRockyOutputPropertyCollection::create\_particles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#a562a3ad7f55e9b3f2ea033b3678d04cb)(

<a id="l00632" name="l00632"></a> 632 const std::string&amp; name, const std::string&amp; unit, double dimension)

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

<a id="l00634" name="l00634"></a> 634 return this-&gt;_impl-&gt;create_particles_instantaneous_property(name, unit, dimension);

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



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

<a id="l00637" name="l00637"></a>[ 637](structIRockyOutputPropertyCollection.xhtml#a12a985fe7f1a21e14166190fae435063)inline int [IRockyOutputPropertyCollection::create\_particles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#a12a985fe7f1a21e14166190fae435063)(

<a id="l00638" name="l00638"></a> 638 const std::string&amp; name, const std::string&amp; unit, double dimension)

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

<a id="l00640" name="l00640"></a> 640 return this-&gt;_impl-&gt;create_particles_statistical_property(name, unit, dimension);

<a id="l00641" name="l00641"></a> 641}



<a id="l00642" name="l00642"></a> 642 

<a id="l00643" name="l00643"></a>[ 643](structIRockyOutputPropertyCollection.xhtml#a5d45d1e096da70b7d8cb225fa5f53239)inline int [IRockyOutputPropertyCollection::create\_triangles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#a5d45d1e096da70b7d8cb225fa5f53239)(

<a id="l00644" name="l00644"></a> 644 const std::string&amp; name, const std::string&amp; unit, double dimension)

<a id="l00645" name="l00645"></a> 645{

<a id="l00646" name="l00646"></a> 646 return this-&gt;_impl-&gt;create_triangles_instantaneous_property(name, unit, dimension);

<a id="l00647" name="l00647"></a> 647}



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

<a id="l00649" name="l00649"></a>[ 649](structIRockyOutputPropertyCollection.xhtml#a8df0ae8b8289603cb4ca3a79a6a410e2)inline int [IRockyOutputPropertyCollection::create\_triangles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#a8df0ae8b8289603cb4ca3a79a6a410e2)(

<a id="l00650" name="l00650"></a> 650 const std::string&amp; name, const std::string&amp; unit, double dimension)

<a id="l00651" name="l00651"></a> 651{

<a id="l00652" name="l00652"></a> 652 return this-&gt;_impl-&gt;create_triangles_statistical_property(name, unit, dimension);

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



<a id="l00654" name="l00654"></a> 654 

<a id="l00655" name="l00655"></a>[ 655](structIRockyOutputPropertyCollection.xhtml#adb9ddaf60d9dd7f8a2f1f373ff96a686)inline int [IRockyOutputPropertyCollection::create\_vertex\_triangles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#adb9ddaf60d9dd7f8a2f1f373ff96a686)(

<a id="l00656" name="l00656"></a> 656 const std::string&amp; name, const std::string&amp; unit, double dimension)

<a id="l00657" name="l00657"></a> 657{

<a id="l00658" name="l00658"></a> 658 return this-&gt;_impl-&gt;create_vertex_triangles_instantaneous_property(name, unit, dimension);

<a id="l00659" name="l00659"></a> 659}



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

<a id="l00661" name="l00661"></a>[ 661](structIRockyOutputPropertyCollection.xhtml#acd8689ea4a1e86fc064b6e4e6a813a2c)inline int [IRockyOutputPropertyCollection::create\_vertex\_triangles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#acd8689ea4a1e86fc064b6e4e6a813a2c)(

<a id="l00662" name="l00662"></a> 662 const std::string&amp; name, const std::string&amp; unit, double dimension)

<a id="l00663" name="l00663"></a> 663{

<a id="l00664" name="l00664"></a> 664 return this-&gt;_impl-&gt;create_vertex_triangles_statistical_property(name, unit, dimension);

<a id="l00665" name="l00665"></a> 665}



[IRockyCurveCollectionData](structIRockyCurveCollectionData.xhtml)

**Definition** rocky_output_collections_api.hpp:30



[IRockyCurveCollectionData::update\_time\_curve](structIRockyCurveCollectionData.xhtml#a024664c7b45eb7a6728a3207eeb82ee3)

void update_time_curve(const std::string &amp;owner_name, const std::string &amp;name, double value)

**Definition** rocky_output_collections_api.hpp:536



[IRockyCurveCollectionData::setup\_particles\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#a230f2f9be559dcb98d57a4e5c7218dd0)

void setup_particles_time_curve_dimension(const std::string &amp;name, double dimension)

**Definition** rocky_output_collections_api.hpp:456



[IRockyCurveCollectionData::update\_geometry\_time\_curve](structIRockyCurveCollectionData.xhtml#a3da24f758d62665100b5c43b8f1075d9)

void update_geometry_time_curve(int geometry_id, const std::string &amp;name, double value)

**Definition** rocky_output_collections_api.hpp:527



[IRockyCurveCollectionData::setup\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#a4316fe7409b88eb683ed59d60d5b5fae)

void setup_dataset_dimension(const std::string &amp;owner_name, const std::string &amp;name, double dimension)

**Definition** rocky_output_collections_api.hpp:447



[IRockyCurveCollectionData::create\_time\_curve](structIRockyCurveCollectionData.xhtml#a521adcdec892f96ea7b628c5aa1a3560)

void create_time_curve(const std::string &amp;owner_name, const std::string &amp;name, const std::string &amp;unit)

**Definition** rocky_output_collections_api.hpp:417



[IRockyCurveCollectionData::update\_particles\_time\_curve](structIRockyCurveCollectionData.xhtml#a650d74b4c42f6d63489f98ee5835d942)

void update_particles_time_curve(const std::string &amp;name, double value)

**Definition** rocky_output_collections_api.hpp:518



[IRockyCurveCollectionData::update\_dataset](structIRockyCurveCollectionData.xhtml#a77d905fa54397c6f5b7fdc84795b01a6)

void update_dataset(const std::string &amp;owner_name, const std::string &amp;name, const double *dataset, size_t size)

**Definition** rocky_output_collections_api.hpp:508



[IRockyCurveCollectionData::setup\_particles\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#a7942a28df7cd10c70ed086b9d11ebf2b)

void setup_particles_dataset_dimension(const std::string &amp;name, double dimension)

**Definition** rocky_output_collections_api.hpp:427



[IRockyCurveCollectionData::update\_particles\_dataset](structIRockyCurveCollectionData.xhtml#a7f24452610d153c6f8da6e25f7bb1185)

void update_particles_dataset(const std::string &amp;name, const double *dataset, size_t size)

**Definition** rocky_output_collections_api.hpp:488



[IRockyCurveCollectionData::create\_particles\_curve](structIRockyCurveCollectionData.xhtml#a88494c4828a9d06cea380ca4d21fdc73)

void create_particles_curve(const std::string &amp;domain_dataset, const std::string &amp;image_dataset)

**Definition** rocky_output_collections_api.hpp:374



[IRockyCurveCollectionData::add\_curve](structIRockyCurveCollectionData.xhtml#a9ac4b935090edf6975d4f46cf74aa86e)

void add_curve(const std::string &amp;owner_name, const std::string &amp;domain_dataset, const std::string &amp;image_dataset)

**Definition** rocky_output_collections_api.hpp:392



[IRockyCurveCollectionData::create\_dataset](structIRockyCurveCollectionData.xhtml#a9d540d1d87039559fe088e897504fd99)

void create_dataset(const std::string &amp;owner_name, const std::string &amp;name, const std::string &amp;unit)

**Definition** rocky_output_collections_api.hpp:365



[IRockyCurveCollectionData::create\_particles\_dataset](structIRockyCurveCollectionData.xhtml#aa3ea8900da748813b0e1eba05372cb53)

void create_particles_dataset(const std::string &amp;name, const std::string &amp;unit)

**Definition** rocky_output_collections_api.hpp:347



[IRockyCurveCollectionData::setup\_geometry\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#aa445fbd38bfb1770a1c197f806890908)

void setup_geometry_time_curve_dimension(int geometry_id, const std::string &amp;name, double dimension)

**Definition** rocky_output_collections_api.hpp:466



[IRockyCurveCollectionData::create\_geometry\_time\_curve](structIRockyCurveCollectionData.xhtml#aab6ad0a64db6e08afcc4c09643f2fbaa)

void create_geometry_time_curve(int geometry_id, const std::string &amp;name, const std::string &amp;unit)

**Definition** rocky_output_collections_api.hpp:409



[IRockyCurveCollectionData::create\_geometry\_dataset](structIRockyCurveCollectionData.xhtml#aac6750ba6fce2ee80a5a1fe1edb356e4)

void create_geometry_dataset(int geometry_id, const std::string &amp;name, const std::string &amp;unit)

**Definition** rocky_output_collections_api.hpp:356



[IRockyCurveCollectionData::setup\_geometry\_dataset\_dimension](structIRockyCurveCollectionData.xhtml#ab5752c7598d6b2f21c090e470eb50d3b)

void setup_geometry_dataset_dimension(int geometry_id, const std::string &amp;name, double dimension)

**Definition** rocky_output_collections_api.hpp:437



[IRockyCurveCollectionData::setup\_time\_curve\_dimension](structIRockyCurveCollectionData.xhtml#ad43383c1fe177dc20d46ec205f8cb675)

void setup_time_curve_dimension(const std::string &amp;owner_name, const std::string &amp;name, double dimension)

**Definition** rocky_output_collections_api.hpp:476



[IRockyCurveCollectionData::create\_geometry\_curve](structIRockyCurveCollectionData.xhtml#add0cf572f25fb257dd0f007b53593f21)

void create_geometry_curve(int geometry_id, const std::string &amp;domain_dataset, const std::string &amp;image_dataset)

**Definition** rocky_output_collections_api.hpp:383



[IRockyCurveCollectionData::create\_particles\_time\_curve](structIRockyCurveCollectionData.xhtml#ae638f72f97d27b18d69ad0ded3b26d4b)

void create_particles_time_curve(const std::string &amp;name, const std::string &amp;unit)

**Definition** rocky_output_collections_api.hpp:401



[IRockyCurveCollectionData::update\_geometry\_dataset](structIRockyCurveCollectionData.xhtml#aee59308015e7f60c741a0296a1c17a25)

void update_geometry_dataset(int geometry_id, const std::string &amp;name, const double *dataset, size_t size)

**Definition** rocky_output_collections_api.hpp:498



[IRockyOutputPropertyCollection](structIRockyOutputPropertyCollection.xhtml)

**Definition** rocky_output_collections_api.hpp:555



[IRockyOutputPropertyCollection::create\_particles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#a12a985fe7f1a21e14166190fae435063)

int create_particles_statistical_property(const std::string &amp;name, const std::string &amp;unit, double dimension=1.0)

**Definition** rocky_output_collections_api.hpp:637



[IRockyOutputPropertyCollection::create\_particles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#a562a3ad7f55e9b3f2ea033b3678d04cb)

int create_particles_instantaneous_property(const std::string &amp;name, const std::string &amp;unit, double dimension=1.0)

**Definition** rocky_output_collections_api.hpp:631



[IRockyOutputPropertyCollection::create\_triangles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#a5d45d1e096da70b7d8cb225fa5f53239)

int create_triangles_instantaneous_property(const std::string &amp;name, const std::string &amp;unit, double dimension=1.0)

**Definition** rocky_output_collections_api.hpp:643



[IRockyOutputPropertyCollection::create\_triangles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#a8df0ae8b8289603cb4ca3a79a6a410e2)

int create_triangles_statistical_property(const std::string &amp;name, const std::string &amp;unit, double dimension=1.0)

**Definition** rocky_output_collections_api.hpp:649



[IRockyOutputPropertyCollection::create\_vertex\_triangles\_statistical\_property](structIRockyOutputPropertyCollection.xhtml#acd8689ea4a1e86fc064b6e4e6a813a2c)

int create_vertex_triangles_statistical_property(const std::string &amp;name, const std::string &amp;unit, double dimension=1.0)

**Definition** rocky_output_collections_api.hpp:661



[IRockyOutputPropertyCollection::create\_vertex\_triangles\_instantaneous\_property](structIRockyOutputPropertyCollection.xhtml#adb9ddaf60d9dd7f8a2f1f373ff96a686)

int create_vertex_triangles_instantaneous_property(const std::string &amp;name, const std::string &amp;unit, double dimension=1.0)

**Definition** rocky_output_collections_api.hpp:655