Skip to main content

Rocky Solver SDK 2024 R2

rocky_contact_output_data_api

Last update: 17.07.2025
1#pragma once
2
3#include <rocky20/model/contact_data.h>
4
5
6// =================================================================================================
7// IRockyContactOutputData
8// =================================================================================================
9
37{
38 // Setters -------------------------------------------------------------------------------------
39
51 ROCKY_FUNCTIONS void set_normal_force(double value);
52
53
65 ROCKY_FUNCTIONS void set_tangential_force(double3 value);
66
82 ROCKY_FUNCTIONS void set_home_impact_energy(double value);
83
84
100 ROCKY_FUNCTIONS void set_near_impact_energy(double value);
101
102
117 ROCKY_FUNCTIONS void set_sliding(bool value);
118
119
130 ROCKY_FUNCTIONS void set_home_moment(double3 value);
131
132
144 ROCKY_FUNCTIONS void set_near_moment(double3 value);
145
146
158 ROCKY_FUNCTIONS void set_rolling_dissipated_power(double value);
159
160 // Getters -------------------------------------------------------------------------------------
161
177 ROCKY_FUNCTIONS double get_normal_force();
178
179
196 ROCKY_FUNCTIONS double3 get_tangential_force();
197
198
205 ROCKY_FUNCTIONS double get_normal_relative_velocity();
206
213 ROCKY_FUNCTIONS double3 get_tangential_relative_velocity();
214
215
216
219 bool _sliding{false};
220 bool _is_rr_power_set{ false };
221 contact_output_data _output{};
222
224};
225
226// Setters -------------------------------------------------------------------------------------
227inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_normal_force(double value)
228{
229 this->_output.normal_force = value;
230}
231
232inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_tangential_force(double3 value)
233{
234 this->_output.tangential_force = value;
235}
236
237inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_home_impact_energy(double value)
238{
239 this->_output.home_normal_energy = value;
240}
241
242inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_near_impact_energy(double value)
243{
244 this->_output.near_normal_energy = value;
245}
246
247inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_sliding(bool value)
248{
249 this->_sliding = value;
250}
251
252inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_home_moment(double3 value)
253{
254 this->_output.home_moment = value;
255}
256
257inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_near_moment(double3 value)
258{
259 this->_output.near_moment = value;
260}
261
262inline ROCKY_FUNCTIONS void IRockyContactOutputData::set_rolling_dissipated_power(double value)
263{
264 this->_is_rr_power_set = true;
265 this->_output.rr_power = value;
266}
267
268// Getters -------------------------------------------------------------------------------------
269inline ROCKY_FUNCTIONS double IRockyContactOutputData::get_normal_force()
270{
271 return this->_output.normal_force;
272}
273
274inline ROCKY_FUNCTIONS double3 IRockyContactOutputData::get_tangential_force()
275{
276 return this->_output.tangential_force;
277}
278
280{
281 return this->_output.normal_velocity;
282}
283
285{
286 return this->_output.tangential_velocity;
287}
288
289
290
291// =================================================================================================
292// IRockyAdhesionOutputData
293// =================================================================================================
294
303{
314 ROCKY_FUNCTIONS void set_normal_force(double value);
315
326 ROCKY_FUNCTIONS void set_tangential_force(double3 value);
327
328
331 adhesion_output_data _output{};
332
334};
335
336inline ROCKY_FUNCTIONS void IRockyAdhesionOutputData::set_normal_force(double value)
337{
338 this->_output.adhesive_normal_force = value;
339}
340
341inline ROCKY_FUNCTIONS void IRockyAdhesionOutputData::set_tangential_force(double3 value)
342{
343 this->_output.adhesive_tangential_force = value;
344}
Definition rocky_contact_output_data_api.hpp:303
ROCKY_FUNCTIONS void set_tangential_force(double3 value)
Definition rocky_contact_output_data_api.hpp:341
ROCKY_FUNCTIONS void set_normal_force(double value)
Definition rocky_contact_output_data_api.hpp:336
Definition rocky_contact_output_data_api.hpp:37
ROCKY_FUNCTIONS double3 get_tangential_force()
Definition rocky_contact_output_data_api.hpp:274
ROCKY_FUNCTIONS void set_normal_force(double value)
Definition rocky_contact_output_data_api.hpp:227
ROCKY_FUNCTIONS void set_home_moment(double3 value)
Definition rocky_contact_output_data_api.hpp:252
ROCKY_FUNCTIONS void set_home_impact_energy(double value)
Definition rocky_contact_output_data_api.hpp:237
ROCKY_FUNCTIONS void set_near_moment(double3 value)
Definition rocky_contact_output_data_api.hpp:257
ROCKY_FUNCTIONS void set_tangential_force(double3 value)
Definition rocky_contact_output_data_api.hpp:232
ROCKY_FUNCTIONS void set_rolling_dissipated_power(double value)
Definition rocky_contact_output_data_api.hpp:262
ROCKY_FUNCTIONS double get_normal_relative_velocity()
Definition rocky_contact_output_data_api.hpp:279
ROCKY_FUNCTIONS double get_normal_force()
Definition rocky_contact_output_data_api.hpp:269
ROCKY_FUNCTIONS void set_sliding(bool value)
Definition rocky_contact_output_data_api.hpp:247
ROCKY_FUNCTIONS void set_near_impact_energy(double value)
Definition rocky_contact_output_data_api.hpp:242
ROCKY_FUNCTIONS double3 get_tangential_relative_velocity()
Definition rocky_contact_output_data_api.hpp:284

Connect with Ansys