Rigs of Rods 2023.09
Soft-body Physics Simulation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
SimData.h
Go to the documentation of this file.
1/*
2 This source file is part of Rigs of Rods
3 Copyright 2005-2012 Pierre-Michel Ricordel
4 Copyright 2007-2012 Thomas Fischer
5 Copyright 2013-2023 Petr Ohlidal
6
7 For more information, see http://www.rigsofrods.org/
8
9 Rigs of Rods is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License version 3, as
11 published by the Free Software Foundation.
12
13 Rigs of Rods is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with Rigs of Rods. If not, see <http://www.gnu.org/licenses/>.
20*/
21
29
30#pragma once
31
32#include "Application.h"
33#include "ForwardDeclarations.h"
34#include "SimConstants.h"
35#include "BitFlags.h"
36#include "CmdKeyInertia.h"
37#include "InputEngine.h"
38
39#include <memory>
40#include <Ogre.h>
41#include <rapidjson/document.h>
42
43namespace RoR {
44
56
57
60
67
69
72
79
81{
82 // DO NOT MODIFY NUMBERS - serialized into cache file, see RoR::CacheEntry
83
85 TRUCK = 1,
87 BOAT = 3,
88 MACHINE = 4,
89 AI = 5,
90};
91
93
96
107
109
112
120
132
168
181
183
186
205
207
210
220
223
231
234
237
247
248enum class AeroEngineType : int
249{
251 AE_XPROP,
253};
254
255// --------------------------------
256// Soft body physics
257
259struct node_t
260{
261 static const int8_t INVALID_BBOX = -1;
262
263 node_t() { memset(this, 0, sizeof(node_t)); nd_coll_bbox_id = INVALID_BBOX; }
264 node_t(size_t _pos) { memset(this, 0, sizeof(node_t)); nd_coll_bbox_id = INVALID_BBOX; pos = static_cast<short>(_pos); }
265
266 Ogre::Vector3 RelPosition;
267 Ogre::Vector3 AbsPosition;
268 Ogre::Vector3 Velocity;
269 Ogre::Vector3 Forces;
270
271 Ogre::Real mass;
272 Ogre::Real buoyancy;
273 Ogre::Real friction_coef;
274 Ogre::Real surface_coef;
275 Ogre::Real volume_coef;
276
279 int16_t nd_lockgroup;
280
281 // Bit flags
282 bool nd_cab_node:1;
283 bool nd_rim_node:1;
296
301};
302
304struct beam_t
305{
306 beam_t();
307 ~beam_t();
308
309 node_t* p1 = nullptr;
310 node_t* p2 = nullptr;
311 float k = 0.f;
312 float d = 0.f;
313 float L = 0.f;
315 float maxposstress = 0.f;
316 float maxnegstress = 0.f;
317 float strength = 0.f;
318 float stress = 0.f;
319 float plastic_coef = 0.f;
323 bool bm_inter_actor = false;
325 bool bm_disabled = false;
326 bool bm_broken = false;
327
328 float shortbound = 0.f;
329 float longbound = 0.f;
330 float refL = 0.f;
331
332 shock_t* shock = nullptr;
333
337
338 float debug_k = 0.f;
339 float debug_d = 0.f;
340 float debug_v = 0.f;
341};
342
344{
345 shock_t() { memset(this, 0, sizeof(shock_t)); }
346
348 int flags;
349
356
357 float springin;
358 float dampin;
359 float springout;
360 float dampout;
361
362 float sprogin;
363 float dprogin;
364 float sprogout;
365 float dprogout;
366
367 float splitin;
368 float dslowin;
369 float dfastin;
370 float splitout;
371 float dslowout;
372 float dfastout;
373
375 float sbd_damp;
376 float sbd_break;
377
379};
380
382{
383 int rate; // remaining amount of physics cycles to be skipped
384 int distance; // distance (in physics cycles) to the previous collision check
385};
386
388
398
400{
402 node_t* wh_nodes[50]; // TODO: remove limit, make this dyn-allocated ~ only_a_ptr, 08/2017
404 node_t* wh_rim_nodes[50]; // TODO: remove limit, make this dyn-allocated ~ only_a_ptr, 08/2017
411 Ogre::Real wh_radius;
412 Ogre::Real wh_rim_radius;
413 Ogre::Real wh_speed;
414 Ogre::Real wh_avg_speed;
415 Ogre::Real wh_alb_coef;
416 Ogre::Real wh_tc_coef;
417 Ogre::Real wh_mass;
418 Ogre::Real wh_torque;
419 Ogre::Real wh_last_torque;
420 Ogre::Real wh_last_retorque;
422 float wh_width;
424
425 // Editing & Export (not used in simulation)
434 std::string wh_arg_media1;
435 std::string wh_arg_media2;
437
438 // Debug
441 Ogre::Vector3 debug_vel;
442 Ogre::Vector3 debug_slip;
443 Ogre::Vector3 debug_force;
444 Ogre::Vector3 debug_scaled_cforce;
445};
446
452
455
456struct hook_t
457{
458 hook_t();
459 ~hook_t();
460
462 int hk_group = 0;
464 bool hk_selflock = false;
465 bool hk_autolock = false;
466 bool hk_nodisable = false;
467 float hk_maxforce = 0.f;
468 float hk_lockrange = 0.f;
469 float hk_lockspeed = 0.f;
470 float hk_timer = 0.f;
471 float hk_timer_preset = 0.f;
472 float hk_min_length = 0.f;
475 beam_t* hk_beam = nullptr;
477};
478
488
489struct rope_t
490{
491 rope_t();
492 ~rope_t();
493
494 int rp_locked = 0;
495 int rp_group = 0;
496 beam_t* rp_beam = nullptr;
499};
500
501struct tie_t
502{
503 tie_t();
504 ~tie_t();
505
507 beam_t* ti_beam = nullptr;
509 int ti_group = 0;
510 float ti_contract_speed = 0.f;
511 float ti_max_stress = 0.f;
512 float ti_min_length = 0.f;
513
515 bool ti_tied:1;
516 bool ti_tying:1;
517};
518
519struct wing_t
520{
522 Ogre::SceneNode *cnode;
523};
524
526{
527 commandbeam_state_t() { memset(this, 0, sizeof(commandbeam_state_t)); }
528
530
531 // Bit flags
534};
535
537{
538 uint16_t cmb_beam_index;
541 float cmb_speed;
543
544 // Bit flags
552
553 std::shared_ptr<commandbeam_state_t> cmb_state;
554};
555
569
580
596
619
622{
623 bool eventlock_present = false;
624 bool event_active_prev = false;
625 bool anim_active = false;
627};
628
632{
633public:
635 {
636 if (index >= 0 && index <= MAX_COMMANDS) // for backwards compatibility, we accept 0 as index too.
637 {
638 return m_commandkey[index]; // valid commandkey (indexed 1-MAX_COMMANDS!)
639 }
640 else if (index < 0)
641 {
642 return m_virtualkey[index]; // 'virtual' commandkey - if hashmap value doesn't exist, it's inserted automatically.
643 }
644 else
645 {
646 assert(false);
647 return m_dummykey; // Whatever!
648 }
649 }
650private:
651 std::array<command_t, MAX_COMMANDS + 1> m_commandkey;
652 std::unordered_map<int, command_t> m_virtualkey;
654};
655
664
666
667// --------------------------------
668// some non-actor structs
669
672
675
676
678{
679 bool virt;
686 Ogre::Vector3 lo;
687 Ogre::Vector3 hi;
688 Ogre::Vector3 center;
689 Ogre::Quaternion rot;
690 Ogre::Quaternion unrot;
691 Ogre::Vector3 selfcenter;
692 Ogre::Quaternion selfrot;
693 Ogre::Quaternion selfunrot;
694 Ogre::Vector3 relo;
695 Ogre::Vector3 rehi;
696 Ogre::Vector3 campos;
697 Ogre::Vector3 debug_verts[8];
698 std::string reverb_preset_name;
699};
700typedef std::vector<collision_box_t*> CollisionBoxPtrVec;
701
740
742
744{
745 DUMMY,
746 CONSTANT,
751};
752
781
784{
785 // AngelScript `dictionary` converts all primitives to `double` or `int64`, see 'scriptdictionary.cpp', function `Set()`
786
787 // common params:
789 int64_t ffr_type = (int64_t)FreeForceType::DUMMY;
793 // direction-specific params:
794 Ogre::Vector3 ffr_force_const_direction = Ogre::Vector3::ZERO;
795 Ogre::Vector3 ffr_target_coords = Ogre::Vector3::ZERO;
798 // Half-beam specific params:
805};
806
808
810{
811 int id;
812 Ogre::String type;
813 Ogre::String name;
814 Ogre::String email;
815};
816
818{
821
822 enum class Origin
823 {
824 UNKNOWN,
826 TERRN_DEF,
827 USER,
828 SAVEGAME,
829 NETWORK,
830 AI
831 };
832
835 std::string asr_filename;
836 Ogre::String asr_config;
837 Ogre::Vector3 asr_position = Ogre::Vector3::ZERO;
838 Ogre::Quaternion asr_rotation = Ogre::Quaternion::ZERO;
844 int asr_debugview = 0; //(int)DebugViewType::DEBUGVIEW_NONE;
845 std::string asr_net_username;
850 bool asr_free_position = false;
851 bool asr_enter = true;
852 bool asr_terrn_machine = false;
853 std::shared_ptr<rapidjson::Document>
855};
856
858{
861
862 enum class Type
863 {
864 INVALID,
865 RELOAD,
871 WAKE_UP,
873 };
874
875 ActorInstanceID_t amr_actor = ACTORINSTANCEID_INVALID;// not ActorPtr because it's not thread-safe
877 std::shared_ptr<rapidjson::Document>
882 Ogre::Quaternion amr_softrespawn_rotation;
883};
884
886{
887 INVALID,
889 // hookToggle()
890 HOOK_LOCK,
895 // tieToggle()
897 TIE_RESET,
898 // ropeToggle()
901 // toggleSlideNodeLock()
903};
904
920
925{
927
928 // TractionControl
932
933 // Engine
939
940 // Engoption
952
953 // Engturbo2 (actually 'engturbo' with Param #1 [type] set to "2" - the recommended variant)
968
969};
970const char* ActorSimAttrToString(ActorSimAttr attr);
971
972} // namespace RoR
Central state/object manager and communications hub.
Bit operations.
#define BITMASK(OFFSET)
Definition BitFlags.h:10
uint32_t BitMask_t
Definition BitFlags.h:7
Global forward declarations.
Handles controller inputs from player.
static const int MAX_COMMANDS
maximum number of commands per actor
For backwards compatibility of the 'triggers' feature, the commandkey array must support negative ind...
Definition SimData.h:632
command_t & operator[](int index)
Definition SimData.h:634
std::unordered_map< int, command_t > m_virtualkey
Negative-indexed commandkeys.
Definition SimData.h:652
command_t m_dummykey
Definition SimData.h:653
std::array< command_t, MAX_COMMANDS+1 > m_commandkey
BEWARE: commandkeys are indexed 1-MAX_COMMANDS!
Definition SimData.h:651
Designed to be run in physics loop (2khz)
Designed to be run on main/rendering loop (FPS)
LocalizerType
Definition SimData.h:225
@ LOCALIZER_NDB
Definition SimData.h:228
@ LOCALIZER_HORIZONTAL
Definition SimData.h:227
@ LOCALIZER_VERTICAL
Definition SimData.h:226
@ LOCALIZER_VOR
Definition SimData.h:229
std::vector< collision_box_t * > CollisionBoxPtrVec
Definition SimData.h:700
AnimModes
Definition SimData.h:170
HydroFlags
Definition SimData.h:122
AnimFlags
Definition SimData.h:134
BlinkType
< Turn signal
Definition SimData.h:114
HookState
Definition SimData.h:74
ActorType
< Aka 'Driveable'
Definition SimData.h:81
EngineTriggerType
Definition SimData.h:212
@ ANIM_MODE_ROTA_X
Definition SimData.h:171
@ ANIM_MODE_NOFLIP
Definition SimData.h:178
@ ANIM_MODE_AUTOANIMATE
Definition SimData.h:177
@ ANIM_MODE_OFFSET_Z
Definition SimData.h:176
@ ANIM_MODE_ROTA_Z
Definition SimData.h:173
@ ANIM_MODE_OFFSET_X
Definition SimData.h:174
@ ANIM_MODE_OFFSET_Y
Definition SimData.h:175
@ ANIM_MODE_BOUNCE
Definition SimData.h:179
@ ANIM_MODE_ROTA_Y
Definition SimData.h:172
@ HYDRO_FLAG_DIR
Definition SimData.h:124
@ HYDRO_FLAG_SPEED
Definition SimData.h:123
@ HYDRO_FLAG_RUDDER
Definition SimData.h:126
@ HYDRO_FLAG_REV_ELEVATOR
Definition SimData.h:130
@ HYDRO_FLAG_AILERON
Definition SimData.h:125
@ HYDRO_FLAG_ELEVATOR
Definition SimData.h:127
@ HYDRO_FLAG_REV_AILERON
Definition SimData.h:128
@ HYDRO_FLAG_REV_RUDDER
Definition SimData.h:129
@ ANIM_FLAG_HEADING
Definition SimData.h:157
@ ANIM_FLAG_ALTIMETER
Definition SimData.h:137
@ ANIM_FLAG_PBRAKE
Definition SimData.h:150
@ ANIM_FLAG_BRUDDER
Definition SimData.h:163
@ ANIM_FLAG_ROLL
Definition SimData.h:141
@ ANIM_FLAG_BTHROTTLE
Definition SimData.h:164
@ ANIM_FLAG_AEPITCH
Definition SimData.h:154
@ ANIM_FLAG_ARUDDER
Definition SimData.h:162
@ ANIM_FLAG_TACHO
Definition SimData.h:148
@ ANIM_FLAG_RPM
Definition SimData.h:144
@ ANIM_FLAG_AETORQUE
Definition SimData.h:153
@ ANIM_FLAG_EVENT
Definition SimData.h:160
@ ANIM_FLAG_SHIFTER
Definition SimData.h:152
@ ANIM_FLAG_PERMANENT
Definition SimData.h:165
@ ANIM_FLAG_DIFFLOCK
Definition SimData.h:158
@ ANIM_FLAG_STEERING
Definition SimData.h:159
@ ANIM_FLAG_ELEVATORS
Definition SimData.h:166
@ ANIM_FLAG_AIRSPEED
Definition SimData.h:135
@ ANIM_FLAG_TORQUE
Definition SimData.h:156
@ ANIM_FLAG_CLUTCH
Definition SimData.h:147
@ ANIM_FLAG_VVI
Definition SimData.h:136
@ ANIM_FLAG_FLAP
Definition SimData.h:139
@ ANIM_FLAG_THROTTLE
Definition SimData.h:143
@ ANIM_FLAG_BRAKE
Definition SimData.h:146
@ ANIM_FLAG_AOA
Definition SimData.h:138
@ ANIM_FLAG_TURBO
Definition SimData.h:151
@ ANIM_FLAG_ACCEL
Definition SimData.h:145
@ ANIM_FLAG_AILERONS
Definition SimData.h:161
@ ANIM_FLAG_PITCH
Definition SimData.h:142
@ ANIM_FLAG_AESTATUS
Definition SimData.h:155
@ ANIM_FLAG_SPEEDO
Definition SimData.h:149
@ ANIM_FLAG_AIRBRAKE
Definition SimData.h:140
@ BLINK_RIGHT
Definition SimData.h:117
@ BLINK_LEFT
Definition SimData.h:116
@ BLINK_NONE
Definition SimData.h:115
@ BLINK_WARN
Definition SimData.h:118
@ UNLOCKED
lock not locked
Definition SimData.h:75
@ PRELOCK
prelocking, attraction forces in action
Definition SimData.h:76
@ LOCKED
lock locked.
Definition SimData.h:77
@ MACHINE
its a machine
Definition SimData.h:88
@ TRUCK
its a truck (or other land vehicle)
Definition SimData.h:85
@ NOT_DRIVEABLE
not drivable at all
Definition SimData.h:84
@ BOAT
its a boat
Definition SimData.h:87
@ AIRPLANE
its an airplane
Definition SimData.h:86
@ AI
machine controlled by an Artificial Intelligence
Definition SimData.h:89
@ TRG_ENGINE_SHIFTUP
Definition SimData.h:217
@ TRG_ENGINE_ACC
Definition SimData.h:215
@ TRG_ENGINE_SHIFTDOWN
Definition SimData.h:218
@ TRG_ENGINE_RPM
Definition SimData.h:216
@ TRG_ENGINE_CLUTCH
Definition SimData.h:213
@ TRG_ENGINE_BRAKE
Definition SimData.h:214
@ EV_MODE_LAST
static const float DEFAULT_SPRING
static const float DEFAULT_BEAM_DIAMETER
5 centimeters default beam width
BeamType
Definition SimData.h:62
static const int DEFAULT_DETACHER_GROUP
FreeForceType
Definition SimData.h:744
static const float BEAM_DEFORM
static const float DEFAULT_DAMP
AeroEngineType
Definition SimData.h:249
static const float BEAM_PLASTIC_COEF_DEFAULT
SpecialBeam
Definition SimData.h:98
ActorState
Definition SimData.h:239
static const float BEAM_BREAK
ShockFlags
Definition SimData.h:188
@ BEAM_VIRTUAL
Excluded from mass calculations, visuals permanently disabled.
Definition SimData.h:65
@ BEAM_HYDRO
Definition SimData.h:64
@ BEAM_NORMAL
Definition SimData.h:63
@ TOWARDS_COORDS
Constant force directed towards ffc_target_coords
@ HALFBEAM_ROPE
Like TOWARDS_NODE, but parametrized like a rope-beam in truck fileformat.
@ CONSTANT
Constant force given by direction and magnitude.
@ HALFBEAM_GENERIC
Like TOWARDS_NODE, but parametrized like a beam in truck fileformat.
@ TOWARDS_NODE
Constant force directed towards ffc_target_node
@ SHOCK3
shock3
Definition SimData.h:102
@ TRIGGER
trigger
Definition SimData.h:103
@ ROPE
Definition SimData.h:105
@ SUPPORTBEAM
Definition SimData.h:104
@ SHOCK2
shock2
Definition SimData.h:101
@ NOSHOCK
not a shock
Definition SimData.h:99
@ SHOCK1
either 'shock1' (with flag BEAM_HYDRO) or a wheel beam
Definition SimData.h:100
@ LOCAL_SIMULATED
simulated (local) actor
@ LOCAL_SLEEPING
sleeping (local) actor
@ NETWORKED_OK
not simulated (remote) actor
@ DISPOSED
removed from simulation, still in memory to satisfy pointers.
@ NETWORKED_HIDDEN
not simulated, not updated (remote)
@ SHOCK_FLAG_ISSHOCK3
Definition SimData.h:193
@ SHOCK_FLAG_TRG_CMD_BLOCKER
Definition SimData.h:198
@ SHOCK_FLAG_ISSHOCK2
Definition SimData.h:192
@ SHOCK_FLAG_NORMAL
Definition SimData.h:189
@ SHOCK_FLAG_TRG_HOOK_UNLOCK
Definition SimData.h:200
@ SHOCK_FLAG_LACTIVE
Definition SimData.h:190
@ SHOCK_FLAG_TRG_HOOK_LOCK
Definition SimData.h:201
@ SHOCK_FLAG_TRG_ENGINE
Definition SimData.h:203
@ SHOCK_FLAG_TRG_BLOCKER_A
Definition SimData.h:199
@ SHOCK_FLAG_SOFTBUMP
Definition SimData.h:194
@ SHOCK_FLAG_RACTIVE
Definition SimData.h:191
@ SHOCK_FLAG_TRG_CONTINUOUS
Definition SimData.h:202
@ SHOCK_FLAG_TRG_CMD_SWITCH
Definition SimData.h:197
@ SHOCK_FLAG_ISTRIGGER
Definition SimData.h:195
@ SHOCK_FLAG_TRG_BLOCKER
Definition SimData.h:196
static const NodeNum_t NODENUM_INVALID
int ActorInstanceID_t
Unique sequentially generated ID of an actor in session. Use ActorManager::GetActorById()
int FreeForceID_t
Unique sequentially generated ID of FreeForce; use ActorManager::GetFreeForceNextId().
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.
ActorLinkingRequestType
Definition SimData.h:886
ActorSimAttr
Parameter to Actor::setSimAttribute() and Actor::getSimAttribute(); allows advanced users to tweak ph...
Definition SimData.h:925
@ ACTORSIMATTR_ENGOPTION_MIN_IDLE_MIXTURE
Min throttle to maintain idle RPM - Param #10 of 'engoption'.
Definition SimData.h:950
@ ACTORSIMATTR_ENGTURBO2_WASTEGATE_THRESHOLD_N
1 - WgThreshold ~ calculated from Param #10 of 'engturbo2'
Definition SimData.h:962
@ ACTORSIMATTR_ENGOPTION_BRAKING_TORQUE
How much engine brakes on zero throttle - Param #11 of 'engoption'.
Definition SimData.h:951
@ ACTORSIMATTR_ENGINE_TORQUE
Engine torque in newton-meters (N/m) - Param #3 of 'engine'.
Definition SimData.h:936
@ ACTORSIMATTR_ENGOPTION_CLUTCH_FORCE
Definition SimData.h:943
@ ACTORSIMATTR_ENGTURBO2_ANTILAG_CHANCE
Definition SimData.h:965
@ ACTORSIMATTR_ENGTURBO2_WASTEGATE_THRESHOLD_P
1 + WgThreshold ~ calculated from Param #10 of 'engturbo2'
Definition SimData.h:963
@ ACTORSIMATTR_ENGOPTION_CLUTCH_TIME
Definition SimData.h:945
@ ACTORSIMATTR_ENGTURBO2_WASTEGATE_MAX_PSI
Definition SimData.h:961
@ ACTORSIMATTR_ENGOPTION_ENGINE_TYPE
Definition SimData.h:942
@ ACTORSIMATTR_ENGTURBO2_WASTEGATE_ENABLED
Definition SimData.h:960
@ ACTORSIMATTR_ENGTURBO2_ANTILAG_POWER
Definition SimData.h:967
@ ACTORSIMATTR_ENGTURBO2_INERTIA_FACTOR
Time to spool up - Param #2 of 'engturbo2'.
Definition SimData.h:954
@ ACTORSIMATTR_ENGOPTION_POST_SHIFT_TIME
Time (in seconds) until full torque is transferred - Param #6 of 'engoption'.
Definition SimData.h:946
@ ACTORSIMATTR_ENGTURBO2_BOV_MIN_PSI
Blow-off valve PSI threshold - Param #7 of 'engturbo2'.
Definition SimData.h:959
@ ACTORSIMATTR_ENGINE_GEAR_RATIOS_ARRAY
Gearbox - Format: "<reverse_gear> <neutral_gear> <forward_gear 1> [<forward gear 2>]....
Definition SimData.h:938
@ ACTORSIMATTR_TC_PULSE_TIME
Pulse duration in seconds, safe values <0.00005 - 1>
Definition SimData.h:930
@ ACTORSIMATTR_ENGOPTION_STALL_RPM
RPM where engine stalls - Param #7 of 'engoption'.
Definition SimData.h:947
@ ACTORSIMATTR_ENGOPTION_MAX_IDLE_MIXTURE
Max throttle to maintain idle RPM - Param #9 of 'engoption'.
Definition SimData.h:949
@ ACTORSIMATTR_ENGTURBO2_NUM_TURBOS
Number of turbos - Param #3 of 'engturbo2'.
Definition SimData.h:955
@ ACTORSIMATTR_ENGOPTION_ENGINE_INERTIA
Definition SimData.h:941
@ ACTORSIMATTR_ENGTURBO2_ANTILAG_MIN_RPM
Definition SimData.h:966
@ ACTORSIMATTR_TC_WHEELSLIP_CONSTANT
Minimum wheel slip threshold, safe value = 0.25.
Definition SimData.h:931
@ ACTORSIMATTR_ENGTURBO2_MAX_RPM
MaxPSI * 10000 ~ calculated from Param #4 of 'engturbo2'.
Definition SimData.h:956
@ ACTORSIMATTR_ENGOPTION_IDLE_RPM
Target idle RPM - Param #8 of 'engoption'.
Definition SimData.h:948
@ ACTORSIMATTR_ENGTURBO2_ANTILAG_ENABLED
Definition SimData.h:964
@ ACTORSIMATTR_ENGINE_SHIFTUP_RPM
Automatic transmission - Param #2 of 'engine'.
Definition SimData.h:935
@ ACTORSIMATTR_ENGTURBO2_BOV_ENABLED
Blow-off valve - Param #6 of 'engturbo2'.
Definition SimData.h:958
@ ACTORSIMATTR_ENGTURBO2_ENGINE_RPM_OP
Engine RPM threshold for turbo to operate - Param #5 of 'engturbo2'.
Definition SimData.h:957
@ ACTORSIMATTR_ENGOPTION_SHIFT_TIME
Definition SimData.h:944
@ ACTORSIMATTR_NONE
Definition SimData.h:926
@ ACTORSIMATTR_TC_RATIO
Regulating force, safe values: <1 - 20>
Definition SimData.h:929
@ ACTORSIMATTR_ENGINE_SHIFTDOWN_RPM
Automatic transmission - Param #1 of 'engine'.
Definition SimData.h:934
@ ACTORSIMATTR_ENGINE_DIFF_RATIO
Differential ratio (aka global gear ratio) - Param #4 of 'engine'.
Definition SimData.h:937
static const ActorInstanceID_t ACTORINSTANCEID_INVALID
int CommandkeyID_t
Index into Actor::ar_commandkeys (BEWARE: indexed 1-MAX_COMMANDKEYS, 0 is invalid value,...
CollisionEventFilter
Specified in terrain object (.ODEF) file, syntax: 'event <type> <filter>'.
Definition SimData.h:47
@ EVENT_ALL
(default) ~ Triggered by any node on any vehicle
Definition SimData.h:49
@ EVENT_TRUCK_WHEELS
'truck_wheels' ~ Triggered only by wheel nodes of land vehicle (ActorType::TRUCK)
Definition SimData.h:52
@ EVENT_AIRPLANE
'airplane' ~ Triggered by any node of airplane (ActorType::AIRPLANE)
Definition SimData.h:53
@ EVENT_AVATAR
'avatar' ~ Triggered by the character only
Definition SimData.h:50
@ EVENT_TRUCK
'truck' ~ Triggered by any node of land vehicle (ActorType::TRUCK)
Definition SimData.h:51
@ EVENT_NONE
Invalid value.
Definition SimData.h:48
@ EVENT_BOAT
'boat' ~ Triggered by any node of boats (ActorType::BOAT)
Definition SimData.h:54
uint16_t NodeNum_t
Node position within Actor::ar_nodes; use RoR::NODENUM_INVALID as empty value.
const char * ActorSimAttrToString(ActorSimAttr attr)
Definition SimData.cpp:107
static const CommandkeyID_t COMMANDKEYID_INVALID
WheelPropulsion
WheelBraking
static const FreeForceID_t FREEFORCEID_INVALID
Estabilishing a physics linkage between 2 actors modifies a global linkage table and triggers immedia...
Definition SimData.h:909
ActorLinkingRequestType alr_type
Definition SimData.h:911
ActorInstanceID_t alr_actor_instance_id
Definition SimData.h:910
NodeNum_t alr_hook_mousenode
Definition SimData.h:914
ActorInstanceID_t amr_actor
Definition SimData.h:875
Ogre::Quaternion amr_softrespawn_rotation
Rotation to use with SOFT_RESPAWN; use TObjParser::CalcRotation() to calculate quaternion from XYZ li...
Definition SimData.h:882
Ogre::Vector3 amr_softrespawn_position
Position to use with SOFT_RESPAWN.
Definition SimData.h:881
CacheEntryPtr amr_addonpart
Primary method of specifying cache entry.
Definition SimData.h:879
std::shared_ptr< rapidjson::Document > amr_saved_state
Definition SimData.h:878
std::string amr_addonpart_fname
Fallback method in case CacheEntry doesn't exist anymore - that means mod was uninstalled in the mean...
Definition SimData.h:880
@ RELOAD
Full reload from filesystem, requested by user.
@ SOFT_RESPAWN
Like hard reset, but positions the actor like spawn process does - using the relative positions from ...
@ REFRESH_VISUALS
Forces a synchronous update of visuals from any context - i.e. from terrain editor mode or with sleep...
std::string asr_net_username
Definition SimData.h:845
Ogre::String asr_config
Definition SimData.h:836
CacheEntryPtr asr_cache_entry
Optional, overrides 'asr_filename' and 'asr_cache_entry_num'.
Definition SimData.h:834
TuneupDefPtr asr_working_tuneup
Only filled when editing tuneup via Tuning menu.
Definition SimData.h:842
bool asr_terrn_machine
This is a fixed machinery.
Definition SimData.h:852
Ogre::Vector3 asr_position
Definition SimData.h:837
CacheEntryPtr asr_skin_entry
Definition SimData.h:840
ActorInstanceID_t asr_instance_id
Optional; see ActorManager::GetActorNextInstanceID();.
Definition SimData.h:833
std::string asr_filename
Can be in "Bundle-qualified" format, i.e. "mybundle.zip:myactor.truck".
Definition SimData.h:835
Ogre::Quaternion asr_rotation
Definition SimData.h:838
Origin
< Enables special processing
Definition SimData.h:823
@ CONFIG_FILE
'Preselected vehicle' in RoR.cfg or command line
@ NETWORK
Remote controlled.
@ USER
Direct selection by user via GUI.
@ SAVEGAME
User spawned and part of a savegame.
@ TERRN_DEF
Preloaded with terrain.
BitMask_t asr_net_peeropts
RoRnet::PeerOptions to be applied after spawn.
Definition SimData.h:847
collision_box_t * asr_spawnbox
Definition SimData.h:839
CacheEntryPtr asr_tuneup_entry
Only filled when user selected a saved/downloaded .tuneup mod in SelectorUI.
Definition SimData.h:841
std::shared_ptr< rapidjson::Document > asr_saved_state
Pushes msg MODIFY_ACTOR (type RESTORE_SAVED) after spawn.
Definition SimData.h:854
bool asr_free_position
Disables the automatic spawn position adjustment.
Definition SimData.h:850
Global force affecting particular (base) node of particular (base) actor; added ad-hoc by scripts.
Definition SimData.h:755
float ffc_halfb_minmaxposnegstress
Definition SimData.h:777
float ffc_halfb_deform
Definition SimData.h:770
Ogre::Vector3 ffc_force_const_direction
Expected to be normalized; only effective with FreeForceType::CONSTANT
Definition SimData.h:763
float ffc_halfb_diameter
Definition SimData.h:772
Ogre::Vector3 ffc_target_coords
Definition SimData.h:764
ActorPtr ffc_base_actor
Definition SimData.h:760
float ffc_force_magnitude
Definition SimData.h:759
float ffc_halfb_L
Length at rest, including permanent deformations.
Definition SimData.h:775
ActorPtr ffc_target_actor
Definition SimData.h:765
float ffc_halfb_maxposstress
Definition SimData.h:778
FreeForceType ffc_type
Definition SimData.h:758
FreeForceID_t ffc_id
Definition SimData.h:757
NodeNum_t ffc_base_node
Definition SimData.h:761
float ffc_halfb_stress
Definition SimData.h:776
float ffc_halfb_damp
Definition SimData.h:769
float ffc_halfb_maxnegstress
Definition SimData.h:779
float ffc_halfb_strength
Breaking threshold.
Definition SimData.h:771
float ffc_halfb_plastic_coef
Definition SimData.h:773
NodeNum_t ffc_target_node
Definition SimData.h:766
float ffc_halfb_spring
Definition SimData.h:768
Common for ADD and MODIFY requests; tailored for use with AngelScript thru GameScript::pushMessage().
Definition SimData.h:784
double ffr_force_magnitude
Definition SimData.h:790
double ffr_halfb_strength
Definition SimData.h:802
int64_t ffr_target_actor
Definition SimData.h:796
Ogre::Vector3 ffr_target_coords
Definition SimData.h:795
double ffr_halfb_plastic_coef
Definition SimData.h:804
int64_t ffr_target_node
Definition SimData.h:797
double ffr_halfb_diameter
Definition SimData.h:803
Ogre::Vector3 ffr_force_const_direction
Definition SimData.h:794
User input state for animated props with 'source:event'.
Definition SimData.h:622
UI helper for displaying command control keys to user.
Definition SimData.h:659
CommandkeyID_t uckp_key2
Definition SimData.h:662
std::string uckp_description
Definition SimData.h:660
CommandkeyID_t uckp_key1
Definition SimData.h:661
Ogre::String email
Definition SimData.h:814
Ogre::String type
Definition SimData.h:812
Ogre::String name
Definition SimData.h:813
Simulation: An edge in the softbody structure.
Definition SimData.h:305
node_t * p1
Definition SimData.h:309
float k
tensile spring
Definition SimData.h:311
BeamType bm_type
Definition SimData.h:322
bool bm_broken
Definition SimData.h:326
float debug_v
debug shock velocity
Definition SimData.h:340
float refL
reference length
Definition SimData.h:330
ActorPtr bm_locked_actor
in case p2 is on another actor
Definition SimData.h:324
float minmaxposnegstress
Definition SimData.h:314
float plastic_coef
Definition SimData.h:319
float debug_d
debug shock damping
Definition SimData.h:339
shock_t * shock
Definition SimData.h:332
float default_beam_deform
for reset
Definition SimData.h:335
float longbound
Definition SimData.h:329
int detacher_group
Attribute: detacher group number (integer)
Definition SimData.h:320
float maxnegstress
Definition SimData.h:316
float initial_beam_strength
for reset
Definition SimData.h:334
float shortbound
Definition SimData.h:328
float strength
Definition SimData.h:317
float stress
Definition SimData.h:318
float debug_k
debug shock spring_rate
Definition SimData.h:338
bool bm_inter_actor
in case p2 is on another actor
Definition SimData.h:323
SpecialBeam bounded
Definition SimData.h:321
float d
damping factor
Definition SimData.h:312
float L
length
Definition SimData.h:313
float default_beam_diameter
for export only
Definition SimData.h:336
bool bm_disabled
Definition SimData.h:325
node_t * p2
Definition SimData.h:310
float maxposstress
Definition SimData.h:315
Ogre::Vector3 campos
camera position
Definition SimData.h:696
std::string reverb_preset_name
name of the reverb preset that applies to the inside of the collision box
Definition SimData.h:698
Ogre::Vector3 hi
absolute collision box
Definition SimData.h:687
Ogre::Vector3 relo
relative collision box
Definition SimData.h:694
Ogre::Quaternion selfunrot
self rotation
Definition SimData.h:693
Ogre::Vector3 center
center of rotation
Definition SimData.h:688
Ogre::Vector3 rehi
relative collision box
Definition SimData.h:695
Ogre::Quaternion rot
rotation
Definition SimData.h:689
Ogre::Vector3 debug_verts[8]
box corners in absolute world position
Definition SimData.h:697
Ogre::Quaternion unrot
rotation
Definition SimData.h:690
Ogre::Quaternion selfrot
self rotation
Definition SimData.h:692
Ogre::Vector3 selfcenter
center of self rotation
Definition SimData.h:691
Ogre::Vector3 lo
absolute collision box
Definition SimData.h:686
CollisionEventFilter event_filter
Definition SimData.h:684
RoR::CmdKeyInertia rotator_inertia
Definition SimData.h:566
float triggerInputValue
Definition SimData.h:560
RoR::CmdKeyInertia command_inertia
Definition SimData.h:567
std::vector< commandbeam_t > beams
Definition SimData.h:563
float playerInputValue
Definition SimData.h:561
bool trigger_cmdkeyblock_state
identifies blocked F-commands for triggers
Definition SimData.h:562
float commandValue
Definition SimData.h:559
std::vector< int > rotators
Definition SimData.h:564
int commandValueState
Definition SimData.h:558
Ogre::String description
Definition SimData.h:565
bool pressed_center_mode
State.
Definition SimData.h:532
bool auto_move_lock
State.
Definition SimData.h:533
int8_t auto_moving_mode
State.
Definition SimData.h:529
float cmb_engine_coupling
Attr from truckfile.
Definition SimData.h:539
uint16_t cmb_beam_index
Index to Actor::ar_beams array.
Definition SimData.h:538
bool cmb_is_contraction
Attribute defined at spawn.
Definition SimData.h:545
float cmb_center_length
Attr computed at spawn.
Definition SimData.h:540
bool cmb_needs_engine
Attribute defined in truckfile.
Definition SimData.h:547
bool cmb_is_force_restricted
Attribute defined in truckfile.
Definition SimData.h:546
float cmb_boundary_length
Attr; Maximum/minimum length proportional to orig. len.
Definition SimData.h:542
bool cmb_is_1press
Attribute defined in truckfile.
Definition SimData.h:550
float cmb_speed
Attr; Rate of contraction/extension.
Definition SimData.h:541
bool cmb_is_autocentering
Attribute defined in truckfile.
Definition SimData.h:548
bool cmb_is_1press_center
Attribute defined in truckfile.
Definition SimData.h:551
bool cmb_plays_sound
Attribute defined in truckfile.
Definition SimData.h:549
std::shared_ptr< commandbeam_state_t > cmb_state
Definition SimData.h:553
float blinkdelay_curr
Definition SimData.h:612
float intensity
Definition SimData.h:615
Ogre::Light * light
Definition SimData.h:607
float blinkdelay
Definition SimData.h:611
float offsetx
Definition SimData.h:602
NodeNum_t noderef
Definition SimData.h:599
float offsety
Definition SimData.h:603
Ogre::BillboardSet * bbs
This remains nullptr if removed via addonpart_unwanted_flare or Tuning UI.
Definition SimData.h:606
SimpleInertia inertia
Only 'flares3'.
Definition SimData.h:617
NodeNum_t nodex
Definition SimData.h:600
float size
Definition SimData.h:614
Ogre::SceneNode * snode
Definition SimData.h:605
int dashboard_link
Only 'd' type flares, valid values are DD_*.
Definition SimData.h:610
float offsetz
Definition SimData.h:604
NodeNum_t nodey
Definition SimData.h:601
bool uses_inertia
Only 'flares3'.
Definition SimData.h:616
FlareType fl_type
Definition SimData.h:608
int controlnumber
Only 'u' type flares, valid values 0-9, maps to EV_TRUCK_LIGHTTOGGLE01 to 10.
Definition SimData.h:609
bool blinkdelay_state
Definition SimData.h:613
Surface friction properties.
Definition SimData.h:704
Ogre::ColourValue fx_colour
Definition SimData.h:726
char particle_name[256]
Definition SimData.h:729
float fluid_density
Density of liquid.
Definition SimData.h:713
float ms
static friction coefficient
Definition SimData.h:706
float fx_particle_timedelta
delta for particle animation
Definition SimData.h:736
float flow_behavior_index
if flow_behavior_index<1 then liquid is Pseudoplastic (ketchup, whipped cream, paint) if =1 then liqu...
Definition SimData.h:719
float t2
hydrodynamic friction (s/m)
Definition SimData.h:708
float flow_consistency_index
general drag coefficient
Definition SimData.h:714
float solid_ground_level
how deep the solid ground is
Definition SimData.h:722
float vs
stribeck velocity (m/s)
Definition SimData.h:709
int fx_particle_amount
amount of particles
Definition SimData.h:731
float drag_anisotropy
Upwards/Downwards drag anisotropy.
Definition SimData.h:723
float fx_particle_velo_factor
velocity factor
Definition SimData.h:737
float fx_particle_min_velo
minimum velocity to display sparks
Definition SimData.h:733
char basename[256]
Definition SimData.h:728
float strength
ground strength
Definition SimData.h:711
float mc
sliding friction coefficient
Definition SimData.h:707
float va
adhesion velocity
Definition SimData.h:705
float fx_particle_fade
fade coefficient
Definition SimData.h:735
float fx_particle_max_velo
maximum velocity to display sparks
Definition SimData.h:734
float alpha
steady-steady
Definition SimData.h:710
float hk_timer_preset
Definition SimData.h:471
node_t * hk_lock_node
Definition SimData.h:474
bool hk_selflock
Definition SimData.h:464
float hk_lockspeed
Definition SimData.h:469
int hk_group
Definition SimData.h:462
bool hk_nodisable
Definition SimData.h:466
HookState hk_locked
Definition SimData.h:461
float hk_maxforce
Definition SimData.h:467
float hk_min_length
Absolute value in meters.
Definition SimData.h:472
ActorPtr hk_locked_actor
Definition SimData.h:476
bool hk_autolock
Definition SimData.h:465
float hk_lockrange
Definition SimData.h:468
beam_t * hk_beam
Definition SimData.h:475
node_t * hk_hook_node
Definition SimData.h:473
int hk_lockgroup
Definition SimData.h:463
float hk_timer
Definition SimData.h:470
< beams updating length based on simulation variables, generally known as actuators.
Definition SimData.h:571
BitMask_t hb_flags
Only for 'hydros'.
Definition SimData.h:575
float hb_speed
Rate of change.
Definition SimData.h:574
float hb_anim_param
Only for 'animators'.
Definition SimData.h:577
RoR::CmdKeyInertia hb_inertia
Definition SimData.h:578
uint16_t hb_beam_index
Index to Actor::ar_beams array.
Definition SimData.h:572
BitMask_t hb_anim_flags
Only for 'animators'.
Definition SimData.h:576
float hb_ref_length
Idle length in meters.
Definition SimData.h:573
Physics: A vertex in the softbody structure.
Definition SimData.h:260
bool nd_cinecam_node
Attr; User-defined.
Definition SimData.h:295
Ogre::Vector3 AbsPosition
absolute position in the world (shaky)
Definition SimData.h:267
Ogre::Real mass
Definition SimData.h:271
bool nd_has_ground_contact
Physics state.
Definition SimData.h:287
static const int8_t INVALID_BBOX
Definition SimData.h:261
Ogre::Real nd_avg_collision_slip
Physics state; average slip velocity across the last few physics frames.
Definition SimData.h:297
Ogre::Vector3 Velocity
Definition SimData.h:268
Ogre::Vector3 nd_last_collision_force
Physics state; last collision force.
Definition SimData.h:299
bool nd_no_mouse_grab
Attr; User-defined.
Definition SimData.h:294
bool nd_rim_node
Attr; This node is part of a rim (only wheel types with separate rim nodes)
Definition SimData.h:283
bool nd_has_mesh_contact
Physics state.
Definition SimData.h:288
node_t(size_t _pos)
Definition SimData.h:264
Ogre::Real volume_coef
Definition SimData.h:275
Ogre::Vector3 Forces
Definition SimData.h:269
bool nd_under_water
State; GFX hint.
Definition SimData.h:293
int16_t nd_lockgroup
Optional attribute (-1 = default, 9999 = deny lock) - used in the hook lock logic.
Definition SimData.h:279
bool nd_contacter
Attr; User-defined.
Definition SimData.h:285
Ogre::Real surface_coef
Definition SimData.h:274
Ogre::Vector3 RelPosition
relative to the local physics origin (one origin per actor) (shaky)
Definition SimData.h:266
Ogre::Vector3 nd_last_collision_slip
Physics state; last collision slip vector.
Definition SimData.h:298
bool nd_immovable
Attr; User-defined.
Definition SimData.h:289
bool nd_cab_node
Attr; This node is part of collision triangle.
Definition SimData.h:282
ground_model_t * nd_last_collision_gm
Physics state; last collision 'ground model' (surface definition)
Definition SimData.h:300
bool nd_contactable
Attr; This node will be treated as contacter on inter truck collisions.
Definition SimData.h:286
Ogre::Real buoyancy
Definition SimData.h:272
int16_t nd_coll_bbox_id
Optional attribute (-1 = none) - multiple collision bounding boxes defined in truckfile.
Definition SimData.h:278
bool nd_tyre_node
Attr; This node is part of a tyre (note some wheel types don't use rim nodes at all)
Definition SimData.h:284
Ogre::Real friction_coef
Definition SimData.h:273
bool nd_no_ground_contact
User-defined attr; node ignores contact with ground.
Definition SimData.h:291
bool nd_loaded_mass
User-defined attr; mass is calculated from 'globals/loaded-mass' rather than 'globals/dry-mass' - set...
Definition SimData.h:290
bool nd_override_mass
User defined attr; mass is user-specified rather than calculated (override the calculation)
Definition SimData.h:292
NodeNum_t pos
This node's index in Actor::ar_nodes array.
Definition SimData.h:277
int attached_ties
State.
Definition SimData.h:484
bool multilock
Attribute.
Definition SimData.h:486
int pos
Index into ar_ropables.
Definition SimData.h:482
int attached_ropes
State.
Definition SimData.h:485
node_t * node
Definition SimData.h:481
int rp_group
Definition SimData.h:495
ropable_t * rp_locked_ropable
Definition SimData.h:497
ActorPtr rp_locked_actor
Definition SimData.h:498
beam_t * rp_beam
Definition SimData.h:496
int rp_locked
Definition SimData.h:494
float engine_coupling
Definition SimData.h:592
NodeNum_t axis2
Definition SimData.h:587
float tolerance
Definition SimData.h:591
NodeNum_t axis1
rot axis
Definition SimData.h:586
bool needs_engine
Definition SimData.h:583
NodeNum_t nodes2[4]
Definition SimData.h:585
NodeNum_t nodes1[4]
Definition SimData.h:584
float debug_rate
Definition SimData.h:593
float debug_aerror
Definition SimData.h:594
int trigger_cmdshort
F-key for trigger injection shortbound-check.
Definition SimData.h:354
float sbd_damp
set beam default for damping
Definition SimData.h:375
float sprogin
shocks2
Definition SimData.h:362
float dampin
shocks2 & shocks3
Definition SimData.h:358
float sprogout
shocks2
Definition SimData.h:364
float sbd_break
set beam default for breaking threshold
Definition SimData.h:376
float trigger_switch_state
needed to avoid doubleswitch, bool and timer in one
Definition SimData.h:351
float splitin
shocks3
Definition SimData.h:367
float dfastin
shocks3
Definition SimData.h:369
bool trigger_enabled
general trigger,switch and blocker state
Definition SimData.h:350
int last_debug_state
smart debug output
Definition SimData.h:355
float springout
shocks2 & shocks3
Definition SimData.h:359
float springin
shocks2 & shocks3
Definition SimData.h:357
float trigger_boundary_t
optional value to tune trigger_switch_state autorelease
Definition SimData.h:352
float dampout
shocks2 & shocks3
Definition SimData.h:360
int trigger_cmdlong
F-key for trigger injection longbound-check.
Definition SimData.h:353
float dslowout
shocks3
Definition SimData.h:371
float dprogout
shocks2
Definition SimData.h:365
float splitout
shocks3
Definition SimData.h:370
float dslowin
shocks3
Definition SimData.h:368
float shock_precompression
Only for export.
Definition SimData.h:378
float sbd_spring
set beam default for spring
Definition SimData.h:374
float dfastout
shocks3
Definition SimData.h:372
float dprogin
shocks2
Definition SimData.h:363
NodeNum_t nodenum
Definition SimData.h:395
SoundScriptInstancePtr ssi
Definition SimData.h:394
ActorPtr ti_locked_actor
Definition SimData.h:506
bool ti_tying
State.
Definition SimData.h:516
bool ti_no_self_lock
Attribute.
Definition SimData.h:514
float ti_max_stress
Definition SimData.h:511
int ti_group
Definition SimData.h:509
float ti_min_length
Proportional to orig; length.
Definition SimData.h:512
ropable_t * ti_locked_ropable
Definition SimData.h:508
bool ti_tied
State.
Definition SimData.h:515
float ti_contract_speed
Definition SimData.h:510
beam_t * ti_beam
Definition SimData.h:507
Ogre::Real wh_tc_coef
Sim state; Current traction control modulation ratio.
Definition SimData.h:416
Ogre::Real wh_speed
Current wheel speed in m/s.
Definition SimData.h:413
Ogre::Vector3 debug_vel
Definition SimData.h:441
Ogre::Real wh_last_torque
Last internal forces (engine / brakes / diffs)
Definition SimData.h:419
float wh_arg_rim_spring
Not used by 'wheels' (1) and 'meshwheels' (1).
Definition SimData.h:429
float wh_width
Definition SimData.h:422
node_t * wh_axis_node_0
Definition SimData.h:408
node_t * wh_arm_node
Definition SimData.h:406
int wh_num_nodes
Definition SimData.h:401
int wh_arg_num_rays
Definition SimData.h:427
float debug_rpm
Definition SimData.h:439
Ogre::Real wh_last_retorque
Last external forces (friction, ...)
Definition SimData.h:420
node_t * wh_nodes[50]
Definition SimData.h:402
int wh_num_rim_nodes
Definition SimData.h:403
node_t * wh_axis_node_1
Definition SimData.h:409
WheelPropulsion wh_propulsed
Definition SimData.h:410
Ogre::Real wh_rim_radius
Definition SimData.h:412
Ogre::Vector3 debug_force
Definition SimData.h:443
float wh_net_rp
Definition SimData.h:421
float debug_torque
Definition SimData.h:440
node_t * wh_near_attach_node
Definition SimData.h:407
Ogre::Real wh_mass
Total rotational mass of the wheel.
Definition SimData.h:417
float wh_arg_simple_spring
Whole wheel or just tire, depending on type.
Definition SimData.h:431
WheelSide wh_arg_side
Only for 'meshwheels*' and 'flexbodywheels'.
Definition SimData.h:433
node_t * wh_rim_nodes[50]
Definition SimData.h:404
RigDef::Keyword wh_arg_keyword
Definition SimData.h:426
Ogre::Real wh_avg_speed
Internal physics state; Do not read from this.
Definition SimData.h:414
float wh_arg_simple_damping
Whole wheel or just tire, depending on type.
Definition SimData.h:432
NodeNum_t wh_arg_rigidity_node
Definition SimData.h:428
std::string wh_arg_media1
Definition SimData.h:434
Ogre::Real wh_radius
Definition SimData.h:411
float wh_arg_rim_damping
Not used by 'wheels' (1) and 'meshwheels' (1).
Definition SimData.h:430
std::string wh_arg_media2
Definition SimData.h:435
WheelBraking wh_braking
Definition SimData.h:405
Ogre::Vector3 debug_scaled_cforce
Definition SimData.h:444
bool wh_is_detached
Definition SimData.h:423
Ogre::Vector3 debug_slip
Definition SimData.h:442
Ogre::Real wh_alb_coef
Sim state; Current anti-lock brake modulation ratio.
Definition SimData.h:415
Ogre::Real wh_torque
Internal physics state; Do not read from this.
Definition SimData.h:418
int wh_beam_start
BeamID to export 'set_beam_defaults' parameters from.
Definition SimData.h:436
Ogre::SceneNode * cnode
Definition SimData.h:522
FlexAirfoil * fa
Definition SimData.h:521