    

 ## On this page

  

 

 # rocky\_contact\_output\_data\_api

 Last update: 16.07.2025 

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

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

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

<a id="l00004" name="l00004"></a> 4\#include &lt;rocky20/model/contact\_data.h&gt;

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

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

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

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

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

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

<a id="l00037" name="l00037"></a>[ 37](structIRockyContactOutputData.xhtml)struct [IRockyContactOutputData](structIRockyContactOutputData.xhtml)

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

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

<a id="l00040" name="l00040"></a> 40 

<a id="l00052" name="l00052"></a> 52 ROCKY_FUNCTIONS void [set\_normal\_force](structIRockyContactOutputData.xhtml#a396b63164b3e2d7792bca3c7ba1ae274)(double value);

<a id="l00053" name="l00053"></a> 53 

<a id="l00054" name="l00054"></a> 54 

<a id="l00066" name="l00066"></a> 66 ROCKY_FUNCTIONS void [set\_tangential\_force](structIRockyContactOutputData.xhtml#abaf1043a614caad9555e2c909eb21e12)(double3 value);

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

<a id="l00083" name="l00083"></a> 83 ROCKY_FUNCTIONS void [set\_home\_impact\_energy](structIRockyContactOutputData.xhtml#a6fa45c11ca5a3dc0e2e7ba76cceca590)(double value);

<a id="l00084" name="l00084"></a> 84 

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

<a id="l00101" name="l00101"></a> 101 ROCKY_FUNCTIONS void [set\_near\_impact\_energy](structIRockyContactOutputData.xhtml#afaf9777156ccff17bad6b754bd9ec0e2)(double value);

<a id="l00102" name="l00102"></a> 102 

<a id="l00103" name="l00103"></a> 103 

<a id="l00118" name="l00118"></a> 118 ROCKY_FUNCTIONS void [set\_sliding](structIRockyContactOutputData.xhtml#ae0f380ec4f65945e54d4e3b939116979)(bool value);

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

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

<a id="l00131" name="l00131"></a> 131 ROCKY_FUNCTIONS void [set\_home\_moment](structIRockyContactOutputData.xhtml#a4016d11738ce592f4e0b2853c552db13)(double3 value);

<a id="l00132" name="l00132"></a> 132 

<a id="l00133" name="l00133"></a> 133 

<a id="l00145" name="l00145"></a> 145 ROCKY_FUNCTIONS void [set\_near\_moment](structIRockyContactOutputData.xhtml#a7eea9b368237f35e06d1e3381fef9a13)(double3 value);

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

<a id="l00147" name="l00147"></a> 147 

<a id="l00159" name="l00159"></a> 159 ROCKY_FUNCTIONS void [set\_rolling\_dissipated\_power](structIRockyContactOutputData.xhtml#ad957c62e9c6bb92c8e13ef28ea8e0a3d)(double value);

<a id="l00160" name="l00160"></a> 160 

<a id="l00161" name="l00161"></a> 161 // Getters -------------------------------------------------------------------------------------

<a id="l00162" name="l00162"></a> 162 

<a id="l00178" name="l00178"></a> 178 ROCKY_FUNCTIONS double [get\_normal\_force](structIRockyContactOutputData.xhtml#adfb7782976874a10981521e52742a015)();

<a id="l00179" name="l00179"></a> 179 

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

<a id="l00197" name="l00197"></a> 197 ROCKY_FUNCTIONS double3 [get\_tangential\_force](structIRockyContactOutputData.xhtml#a25aeef724bbfb9eb24d8297df024f208)();

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

<a id="l00199" name="l00199"></a> 199 

<a id="l00206" name="l00206"></a> 206 ROCKY_FUNCTIONS double [get\_normal\_relative\_velocity](structIRockyContactOutputData.xhtml#adb3a62ea0f7da835ebeec3ec48d72214)();

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

<a id="l00214" name="l00214"></a> 214 ROCKY_FUNCTIONS double3 [get\_tangential\_relative\_velocity](structIRockyContactOutputData.xhtml#aff6677ca9cfa1f58ae87e308d7b19286)();

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

<a id="l00216" name="l00216"></a> 216 

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

<a id="l00220" name="l00220"></a> 220 bool _sliding{false};

<a id="l00221" name="l00221"></a> 221 bool _is_rr_power_set{ false };

<a id="l00222" name="l00222"></a> 222 contact_output_data _output{};

<a id="l00223" name="l00223"></a> 223 

<a id="l00225" name="l00225"></a> 225};



<a id="l00226" name="l00226"></a> 226 

<a id="l00227" name="l00227"></a> 227// Setters -------------------------------------------------------------------------------------

<a id="l00228" name="l00228"></a>[ 228](structIRockyContactOutputData.xhtml#a396b63164b3e2d7792bca3c7ba1ae274)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_normal\_force](structIRockyContactOutputData.xhtml#a396b63164b3e2d7792bca3c7ba1ae274)(double value) 

<a id="l00229" name="l00229"></a> 229{

<a id="l00230" name="l00230"></a> 230 this-&gt;_output.normal_force = value;

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



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

<a id="l00233" name="l00233"></a>[ 233](structIRockyContactOutputData.xhtml#abaf1043a614caad9555e2c909eb21e12)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_tangential\_force](structIRockyContactOutputData.xhtml#abaf1043a614caad9555e2c909eb21e12)(double3 value)

<a id="l00234" name="l00234"></a> 234{

<a id="l00235" name="l00235"></a> 235 this-&gt;_output.tangential_force = value;

<a id="l00236" name="l00236"></a> 236}



<a id="l00237" name="l00237"></a> 237 

<a id="l00238" name="l00238"></a>[ 238](structIRockyContactOutputData.xhtml#a6fa45c11ca5a3dc0e2e7ba76cceca590)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_home\_impact\_energy](structIRockyContactOutputData.xhtml#a6fa45c11ca5a3dc0e2e7ba76cceca590)(double value)

<a id="l00239" name="l00239"></a> 239{

<a id="l00240" name="l00240"></a> 240 this-&gt;_output.home_normal_energy = value;

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



<a id="l00242" name="l00242"></a> 242 

<a id="l00243" name="l00243"></a>[ 243](structIRockyContactOutputData.xhtml#afaf9777156ccff17bad6b754bd9ec0e2)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_near\_impact\_energy](structIRockyContactOutputData.xhtml#afaf9777156ccff17bad6b754bd9ec0e2)(double value)

<a id="l00244" name="l00244"></a> 244{

<a id="l00245" name="l00245"></a> 245 this-&gt;_output.near_normal_energy = value;

<a id="l00246" name="l00246"></a> 246}



<a id="l00247" name="l00247"></a> 247 

<a id="l00248" name="l00248"></a>[ 248](structIRockyContactOutputData.xhtml#ae0f380ec4f65945e54d4e3b939116979)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_sliding](structIRockyContactOutputData.xhtml#ae0f380ec4f65945e54d4e3b939116979)(bool value)

<a id="l00249" name="l00249"></a> 249{

<a id="l00250" name="l00250"></a> 250 this-&gt;_sliding = value;

<a id="l00251" name="l00251"></a> 251}



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

<a id="l00253" name="l00253"></a>[ 253](structIRockyContactOutputData.xhtml#a4016d11738ce592f4e0b2853c552db13)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_home\_moment](structIRockyContactOutputData.xhtml#a4016d11738ce592f4e0b2853c552db13)(double3 value)

<a id="l00254" name="l00254"></a> 254{

<a id="l00255" name="l00255"></a> 255 this-&gt;_output.home_moment = value;

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



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

<a id="l00258" name="l00258"></a>[ 258](structIRockyContactOutputData.xhtml#a7eea9b368237f35e06d1e3381fef9a13)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_near\_moment](structIRockyContactOutputData.xhtml#a7eea9b368237f35e06d1e3381fef9a13)(double3 value)

<a id="l00259" name="l00259"></a> 259{

<a id="l00260" name="l00260"></a> 260 this-&gt;_output.near_moment = value;

<a id="l00261" name="l00261"></a> 261}



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

<a id="l00263" name="l00263"></a>[ 263](structIRockyContactOutputData.xhtml#ad957c62e9c6bb92c8e13ef28ea8e0a3d)inline ROCKY_FUNCTIONS void [IRockyContactOutputData::set\_rolling\_dissipated\_power](structIRockyContactOutputData.xhtml#ad957c62e9c6bb92c8e13ef28ea8e0a3d)(double value)

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

<a id="l00265" name="l00265"></a> 265 this-&gt;_is_rr_power_set = true;

<a id="l00266" name="l00266"></a> 266 this-&gt;_output.rr_power = value;

<a id="l00267" name="l00267"></a> 267}



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

<a id="l00269" name="l00269"></a> 269// Getters -------------------------------------------------------------------------------------

<a id="l00270" name="l00270"></a>[ 270](structIRockyContactOutputData.xhtml#adfb7782976874a10981521e52742a015)inline ROCKY_FUNCTIONS double [IRockyContactOutputData::get\_normal\_force](structIRockyContactOutputData.xhtml#adfb7782976874a10981521e52742a015)()

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

<a id="l00272" name="l00272"></a> 272 return this-&gt;_output.normal_force;

<a id="l00273" name="l00273"></a> 273}



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

<a id="l00275" name="l00275"></a>[ 275](structIRockyContactOutputData.xhtml#a25aeef724bbfb9eb24d8297df024f208)inline ROCKY_FUNCTIONS double3 [IRockyContactOutputData::get\_tangential\_force](structIRockyContactOutputData.xhtml#a25aeef724bbfb9eb24d8297df024f208)()

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

<a id="l00277" name="l00277"></a> 277 return this-&gt;_output.tangential_force;

<a id="l00278" name="l00278"></a> 278}



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

<a id="l00280" name="l00280"></a>[ 280](structIRockyContactOutputData.xhtml#adb3a62ea0f7da835ebeec3ec48d72214)inline ROCKY_FUNCTIONS double [IRockyContactOutputData::get\_normal\_relative\_velocity](structIRockyContactOutputData.xhtml#adb3a62ea0f7da835ebeec3ec48d72214)()

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

<a id="l00282" name="l00282"></a> 282 return this-&gt;_output.normal_velocity;

<a id="l00283" name="l00283"></a> 283}



<a id="l00284" name="l00284"></a> 284 

<a id="l00285" name="l00285"></a>[ 285](structIRockyContactOutputData.xhtml#aff6677ca9cfa1f58ae87e308d7b19286)inline ROCKY_FUNCTIONS double3 [IRockyContactOutputData::get\_tangential\_relative\_velocity](structIRockyContactOutputData.xhtml#aff6677ca9cfa1f58ae87e308d7b19286)()

<a id="l00286" name="l00286"></a> 286{

<a id="l00287" name="l00287"></a> 287 return this-&gt;_output.tangential_velocity;

<a id="l00288" name="l00288"></a> 288}



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

<a id="l00290" name="l00290"></a> 290 

<a id="l00291" name="l00291"></a> 291 

<a id="l00292" name="l00292"></a> 292// =================================================================================================

<a id="l00293" name="l00293"></a> 293// IRockyAdhesionOutputData

<a id="l00294" name="l00294"></a> 294// =================================================================================================

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

<a id="l00303" name="l00303"></a>[ 303](structIRockyAdhesionOutputData.xhtml)struct [IRockyAdhesionOutputData](structIRockyAdhesionOutputData.xhtml)

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

<a id="l00315" name="l00315"></a> 315 ROCKY_FUNCTIONS void [set\_normal\_force](structIRockyAdhesionOutputData.xhtml#ad7c2fa5fb68f60dfa44d4f24efa06c01)(double value);

<a id="l00316" name="l00316"></a> 316 

<a id="l00327" name="l00327"></a> 327 ROCKY_FUNCTIONS void [set\_tangential\_force](structIRockyAdhesionOutputData.xhtml#a99e185831e9028fe03fde885059767d0)(double3 value);

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

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

<a id="l00332" name="l00332"></a> 332 adhesion_output_data _output{};

<a id="l00333" name="l00333"></a> 333 

<a id="l00335" name="l00335"></a> 335};



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

<a id="l00337" name="l00337"></a>[ 337](structIRockyAdhesionOutputData.xhtml#ad7c2fa5fb68f60dfa44d4f24efa06c01)inline ROCKY_FUNCTIONS void [IRockyAdhesionOutputData::set\_normal\_force](structIRockyAdhesionOutputData.xhtml#ad7c2fa5fb68f60dfa44d4f24efa06c01)(double value)

<a id="l00338" name="l00338"></a> 338{

<a id="l00339" name="l00339"></a> 339 this-&gt;_output.adhesive_normal_force = value;

<a id="l00340" name="l00340"></a> 340}



<a id="l00341" name="l00341"></a> 341 

<a id="l00342" name="l00342"></a>[ 342](structIRockyAdhesionOutputData.xhtml#a99e185831e9028fe03fde885059767d0)inline ROCKY_FUNCTIONS void [IRockyAdhesionOutputData::set\_tangential\_force](structIRockyAdhesionOutputData.xhtml#a99e185831e9028fe03fde885059767d0)(double3 value)

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

<a id="l00344" name="l00344"></a> 344 this-&gt;_output.adhesive_tangential_force = value;

<a id="l00345" name="l00345"></a> 345}



[IRockyAdhesionOutputData](structIRockyAdhesionOutputData.xhtml)

**Definition** rocky_contact_output_data_api.hpp:304



[IRockyAdhesionOutputData::set\_tangential\_force](structIRockyAdhesionOutputData.xhtml#a99e185831e9028fe03fde885059767d0)

ROCKY_FUNCTIONS void set_tangential_force(double3 value)

**Definition** rocky_contact_output_data_api.hpp:342



[IRockyAdhesionOutputData::set\_normal\_force](structIRockyAdhesionOutputData.xhtml#ad7c2fa5fb68f60dfa44d4f24efa06c01)

ROCKY_FUNCTIONS void set_normal_force(double value)

**Definition** rocky_contact_output_data_api.hpp:337



[IRockyContactOutputData](structIRockyContactOutputData.xhtml)

**Definition** rocky_contact_output_data_api.hpp:38



[IRockyContactOutputData::get\_tangential\_force](structIRockyContactOutputData.xhtml#a25aeef724bbfb9eb24d8297df024f208)

ROCKY_FUNCTIONS double3 get_tangential_force()

**Definition** rocky_contact_output_data_api.hpp:275



[IRockyContactOutputData::set\_normal\_force](structIRockyContactOutputData.xhtml#a396b63164b3e2d7792bca3c7ba1ae274)

ROCKY_FUNCTIONS void set_normal_force(double value)

**Definition** rocky_contact_output_data_api.hpp:228



[IRockyContactOutputData::set\_home\_moment](structIRockyContactOutputData.xhtml#a4016d11738ce592f4e0b2853c552db13)

ROCKY_FUNCTIONS void set_home_moment(double3 value)

**Definition** rocky_contact_output_data_api.hpp:253



[IRockyContactOutputData::set\_home\_impact\_energy](structIRockyContactOutputData.xhtml#a6fa45c11ca5a3dc0e2e7ba76cceca590)

ROCKY_FUNCTIONS void set_home_impact_energy(double value)

**Definition** rocky_contact_output_data_api.hpp:238



[IRockyContactOutputData::set\_near\_moment](structIRockyContactOutputData.xhtml#a7eea9b368237f35e06d1e3381fef9a13)

ROCKY_FUNCTIONS void set_near_moment(double3 value)

**Definition** rocky_contact_output_data_api.hpp:258



[IRockyContactOutputData::set\_tangential\_force](structIRockyContactOutputData.xhtml#abaf1043a614caad9555e2c909eb21e12)

ROCKY_FUNCTIONS void set_tangential_force(double3 value)

**Definition** rocky_contact_output_data_api.hpp:233



[IRockyContactOutputData::set\_rolling\_dissipated\_power](structIRockyContactOutputData.xhtml#ad957c62e9c6bb92c8e13ef28ea8e0a3d)

ROCKY_FUNCTIONS void set_rolling_dissipated_power(double value)

**Definition** rocky_contact_output_data_api.hpp:263



[IRockyContactOutputData::get\_normal\_relative\_velocity](structIRockyContactOutputData.xhtml#adb3a62ea0f7da835ebeec3ec48d72214)

ROCKY_FUNCTIONS double get_normal_relative_velocity()

**Definition** rocky_contact_output_data_api.hpp:280



[IRockyContactOutputData::get\_normal\_force](structIRockyContactOutputData.xhtml#adfb7782976874a10981521e52742a015)

ROCKY_FUNCTIONS double get_normal_force()

**Definition** rocky_contact_output_data_api.hpp:270



[IRockyContactOutputData::set\_sliding](structIRockyContactOutputData.xhtml#ae0f380ec4f65945e54d4e3b939116979)

ROCKY_FUNCTIONS void set_sliding(bool value)

**Definition** rocky_contact_output_data_api.hpp:248



[IRockyContactOutputData::set\_near\_impact\_energy](structIRockyContactOutputData.xhtml#afaf9777156ccff17bad6b754bd9ec0e2)

ROCKY_FUNCTIONS void set_near_impact_energy(double value)

**Definition** rocky_contact_output_data_api.hpp:243



[IRockyContactOutputData::get\_tangential\_relative\_velocity](structIRockyContactOutputData.xhtml#aff6677ca9cfa1f58ae87e308d7b19286)

ROCKY_FUNCTIONS double3 get_tangential_relative_velocity()

**Definition** rocky_contact_output_data_api.hpp:285