|
RigsofRods
Soft-body Physics Simulation
|
Go to the documentation of this file.
53 #include <OgreString.h>
54 #include <OgreVector3.h>
55 #include <OgreStringConverter.h>
881 Ogre::Vector3
offset = Ogre::Vector3(0, 0, 1);
900 Ogre::Vector3
offset = Ogre::Vector3::ZERO;
1098 color(1.0, 0.5, 0.0),
1121 unsigned int id = 0;
float min_mass_Kg
minimum node mass in Kg
static const BitMask_t OPTION_u_INPUT_AILERON_ELEVATOR
unsigned int contract_key
static const BitMask64_t SOURCE_EVENT
std::vector< Script > scripts
std::shared_ptr< BeamDefaults > beam_defaults
std::vector< Globals > globals
DifferentialTypeVec options
Order matters!
std::vector< CollisionRange > set_collision_range
std::vector< Engturbo > engturbo
float spring_out
spring value applied when shock extending
static const BitMask64_t SOURCE_ANGLE_OF_ATTACK
static const BitMask_t OPTION_c_COMMAND_STYLE
static const BitMask_t OPTION_PITCH
static const BitMask_t OPTION_e_INPUT_ELEVATOR
std::shared_ptr< BeamDefaults > beam_defaults
static const BitMask_t CONSTRAINT_ATTACH_FOREIGN
static const BitMask_t OPTION_DIFFLOCK
BitMask_t constraint_flags
static const BitMask64_t SOURCE_FLAP
static const BitMask64_t SOURCE_VERTICAL_VELOCITY
static const BitMask_t OPTION_A_INV_TRIGGER_BLOCKER
Ogre::String material_name
float damp_out_fast
Damping value applied when shock is commpressing faster than split out velocity.
std::vector< Flare3 > flares3
@ s_SOFT_BUMP_BOUNDS
soft bump boundaries, use when shocks reach limiters too often and "jumprebound" (default is hard bum...
float extension_break_limit
Node::Ref blade_tip_nodes[4]
static const BitMask_t OPTION_p_10xTOUGHER
std::vector< Node::Ref > nodes
float GetScaledSpringiness()
std::vector< Screwprop > screwprops
static const float BEAM_SKELETON_DIAMETER
static const BitMask_t SOURCE_AERO_TORQUE
std::shared_ptr< BeamDefaults > beam_defaults
CameraSettings camera_settings
Legacy parser resolved references on-the-fly and the condition to check named nodes was "are there an...
std::shared_ptr< Inertia > inertia_defaults
float breaking_threshold_constant
unsigned int options
Bit flags.
static const BitMask_t OPTION_SHIFT_BACK_FORTH
std::vector< Hook > hooks
std::shared_ptr< Inertia > inertia_defaults
static const BitMask64_t SOURCE_AUTOSHIFTERLIN
float default_braking_force
bool option_o_1press_center
static const BitMask_t SOURCE_AERO_PITCH
std::vector< Fusedrag > fusedrag
std::vector< Brakes > brakes
std::shared_ptr< NodeDefaults > node_defaults
WingControlSurface control_surface
static const BitMask_t OPTION_s_SOFT_BUMP_BOUNDS
Ogre::String start_function
unsigned int texture_width
float post_shift_time
Seconds.
static const BitMask_t OPTION_R_ACTIVE_RIGHT
static const BitMask_t SOURCE_AERO_RPM
float long_bound
Maximum extension. The longest length a shock can be, as a proportion of its original length....
int mode
A special constant or cinecam index.
static const int MODE_ALWAYS
static const BitMask_t OPTION_SEQUENTIAL_SHIFT
std::vector< Wheel > wheels
static const BitMask_t OPTION_ALTIMETER_1K
@ y_INPUT_InvAILERON_RUDDER
std::vector< float > gear_ratios
unsigned int flare_number
@ LOCKGROUP_DEFAULT_NOLOCK
CameraSettings camera_settings
std::vector< Pistonprop > pistonprops
float split_vel_out
Split velocity in (m/s) - threshold for slow / fast damping during extension.
@ s_CMD_NUM_SWITCH
switch that exchanges cmdshort/cmdshort for all triggers with the same commandnumbers,...
std::vector< Lockgroup > lockgroups
static const BitMask_t OPTION_SHIFT_LEFT_RIGHT
static const BitMask_t MODE_BOUNCE
std::vector< Shock2 > shocks2
static const BitMask64_t SOURCE_TACHO
std::vector< Command2 > commands2
static const BitMask_t OPTION_PITCH
Ogre::String damaged_diffuse_map
static const BitMask_t OPTION_CLUTCH
static const int MODE_EXTERIOR
std::vector< Wing > wings
float deformation_threshold
static const BitMask_t OPTION_FLAP
Ogre::String particle_system_name
std::shared_ptr< BeamDefaults > beam_defaults
static const BitMask_t CONSTRAINT_ATTACH_SELF
static const BitMask_t OPTION_ANGLE_OF_ATTACK
static const BitMask64_t SOURCE_PARKING
int longbound_trigger_action
void AddMotorSource(BitMask_t source, unsigned int motor)
static const BitMask64_t SOURCE_BOAT_RUDDER
float spring_in
Spring value applied when the shock is compressing.
std::vector< CruiseControl > cruisecontrol
const char * KeywordToString(Keyword keyword)
std::vector< Rope > ropes
static const BitMask_t OPTION_AIR_BRAKE
static const BitMask_t OPTION_m_METRIC
static const BitMask_t OPTION_L_ACTIVE_LEFT
std::vector< Node::Range > rail_node_ranges
static const BitMask64_t SOURCE_PITCH
std::vector< Airbrake > airbrakes
static const BitMask_t SOURCE_AERO_STATUS
static const BitMask_t OPTION_BOAT_THROTTLE
std::vector< Node::Ref > nodes
float precompression
Changes compression or extension of the suspension when the truck spawns. This can be used to "level"...
std::vector< Node > nodes
static const BitMask_t OPTION_n_INPUT_NORMAL
std::vector< Assetpack > assetpacks
@ m_METRIC
metric values for shortbound/longbound applying to the length of the beam.
static const BitMask64_t SOURCE_ALTIMETER_10K
unsigned int spin_right_key
std::vector< SlideNode > slidenodes
static const BitMask_t OPTION_u_INVULNERABLE
std::list< Animation > animations
@ c_COMMAND_STYLE
trigger is set with commandstyle boundaries instead of shocksytle
@ B_TRIGGER_BLOCKER
Blocker that enable/disable other triggers.
static const BitMask_t OPTION_TORQUE
static const BitMask_t MODE_EVENT_LOCK
static const BitMask_t OPTION_SPEEDO
std::vector< Axle > axles
@ SET_MANAGEDMATERIALS_OPTIONS
float beam_thickness_meters
std::vector< Author > author
static const BitMask_t OPTION_BRAKES
static const BitMask64_t SOURCE_SHIFTERLIN
@ t_CONTINUOUS
this trigger sends values between 0 and 1
static const BitMask64_t SOURCE_AIR_RUDDER
float long_bound
Maximum extension limit, in percentage ( 1.00 = 100% )
RoR::CacheEntryPtr origin_addonpart
Addon parts are spawned as fake Modules, resources must be loaded from this group.
bool _is_plastic_deform_coef_user_defined
static const BitMask64_t SOURCE_AIRSPEED
@ u_INPUT_AILERON_ELEVATOR
std::vector< Submesh > submeshes
static const BitMask_t OPTION_B_TRIGGER_BLOCKER
std::shared_ptr< BeamDefaults > beam_defaults
@ SLIDENODE_CONNECT_INSTANTLY
std::vector< GuiSettings > guisettings
static const BitMask64_t SOURCE_ELEVATOR
Ogre::String predefined_func_name
static const BitMask64_t SOURCE_ROLL
static const BitMask_t SOURCE_GEAR_FORWARD
static const BitMask_t OPTION_INVISIBLE
float damp_in
Damping value applied when the shock is compressing.
float damp_out
damping value applied when shock extending
@ x_START_DISABLED
this trigger is disabled on startup, default is enabled
float clutch_time
Seconds.
float spring_out
Spring value applied when shock extending.
static const BitMask_t MODE_ROTATION_Y
static const BitMask_t OPTION_RPM
bool disable_default_sounds
static const BitMask64_t SOURCE_AILERON
static const BitMask_t OPTION_g_INPUT_ELEVATOR_RUDDER
Ogre::String tyre_mesh_name
std::vector< MeshWheel2 > meshwheels2
float short_bound
Maximum contraction. The shortest length the shock can be, as a proportion of its original length....
std::vector< SkeletonSettings > set_skeleton_settings
static const BitMask_t OPTION_m_METRIC
Node::Ref alt_reference_node
float spring_rate
The 'stiffness' of the shock. The higher the value, the less the shock will move for a given bump.
@ M_ABSOLUTE_METRIC
Absolute metric values for shortbound/longbound, settings apply without regarding to the original len...
bool _enable_advanced_deformation
Informs whether "enable_advanced_deformation" directive preceded these defaults.
std::vector< Turbojet > turbojets
static const BitMask_t MODE_AUTO_ANIMATE
ManagedMaterialsOptions options
Ogre::String material_name
static const BitMask_t OPTION_TORQUE
std::vector< Node::Ref > contacters
std::vector< Cinecam > cinecam
static const float DEFAULT_MINIMASS
minimum node mass in Kg
std::string dashboard_link
Only 'd' type flares.
std::vector< Wheel2 > wheels2
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask_t OPTION_LONG_LIMIT
static const BitMask_t OPTION_i_INVISIBLE
bool _has_extension_break_limit
static const BitMask64_t SOURCE_BOAT_THROTTLE
static const BitMask_t OPTION_ACCEL
unsigned int texture_height
std::vector< TransferCase > transfercase
Ogre::String band_material_name
static const BitMask64_t SOURCE_DIFFLOCK
Core data structures for simulation; Everything affected by by either physics, network or user intera...
static const BitMask64_t SOURCE_AIR_BRAKE
static const BitMask_t OPTION_M_ABSOLUTE_METRIC
std::vector< Rotator2 > rotators2
std::vector< Ogre::String > description
static const BitMask_t OPTION_x_START_DISABLED
float GetScaledDeformThreshold() const
static const BitMask_t OPTION_a_INPUT_AILERON
static const BitMask_t MODE_OFFSET_Z
bool enable_advanced_deformation
float GetScaledBreakingThreshold()
std::shared_ptr< Inertia > inertia_defaults
std::vector< Animator > animators
std::vector< Turboprop2 > turboprops2
static const BitMask_t OPTION_c_CONTACT
Node::Ref alt_orientation_node
std::vector< Trigger > triggers
Module(Ogre::String const &name)
Ogre::String specular_map
static const int LOCKGROUP_NOLOCK
static const BitMask_t OPTION_ALTIMETER_10K
static const BitMask_t OPTION_STATUS
float short_bound
Maximum contraction limit, in percentage ( 1.00 = 100% )
Ogre::String rim_mesh_name
static const BitMask_t OPTION_ROLL
float spring_in
Spring value applied when the shock is compressing.
float precompression
Changes compression or extension of the suspension when the truck spawns. This can be used to "level"...
std::vector< Minimass > minimass
static const BitMask_t MODE_OFFSET_X
static const BitMask_t OPTION_BOAT_RUDDER
static const BitMask_t MODE_ROTATION_Z
static const BitMask_t OPTION_THROTTLE
std::vector< ExtCamera > extcamera
static const BitMask_t OPTION_v_INPUT_InvAILERON_ELEVATOR
std::vector< Sample > samples
std::vector< Node::Range > node_list_to_import
static const BitMask64_t SOURCE_STEERING_WHEEL
static const BitMask_t OPTION_TURBO
std::vector< Rotator > rotators
float progress_factor_spring_out
Progression factor springout, 0 = disabled, 1...x as multipliers, example:maximum springrate == sprin...
float expansion_trigger_limit
@ A_INV_TRIGGER_BLOCKER
Blocker that enable/disable other triggers, reversed activation method (inverted Blocker style,...
Central state/object manager and communications hub.
float long_bound
Maximum extension limit, in percentage ( 1.00 = 100% )
static const BitMask64_t SOURCE_SHIFT_LEFT_RIGHT
std::vector< float > gear_ratios
std::shared_ptr< Inertia > inertia_defaults
float damp_in_fast
Damping value applied when shock is commpressing faster than split in velocity.
std::vector< Flare2 > flares2
float max_inclination_angle
AeroAnimator aero_animator
static const BitMask_t OPTION_s_CMD_NUM_SWITCH
static const BitMask64_t SOURCE_HEADING
DifferentialTypeVec options
Order matters!
std::vector< Shock > shocks
float progress_factor_spring_in
Progression factor for springin. A value of 0 disables this option. 1...x as multipliers,...
std::vector< Camera > cameras
int shortbound_trigger_action
@ ENABLE_ADVANCED_DEFORMATION
static const BitMask_t OPTION_y_INPUT_InvAILERON_RUDDER
@ m_METRIC
metric values for shortbound/longbound applying to the length of the beam.
static const BitMask64_t SOURCE_PERMANENT
static const BitMask_t OPTION_s_SUPPORT
float visual_beam_diameter
@ SET_BEAM_DEFAULTS_SCALE
@ l_SKIP_LOADED
Only apply minimum mass to nodes without "L" option.
@ g_INPUT_ELEVATOR_RUDDER
static const BitMask_t OPTION_b_KEY_BLOCKER
static const BitMask_t OPTION_AIRSPEED
@ b_KEY_BLOCKER
Set the CommandKeys that are set in a commandkeyblocker or trigger to blocked on startup,...
static const BitMask_t OPTION_i_INVISIBLE
static const BitMask64_t SOURCE_ALTIMETER_1K
std::vector< Engine > engine
std::shared_ptr< BeamDefaults > defaults
std::vector< Exhaust > exhausts
Ogre::String face_material_name
float parking_brake_force
std::vector< RailGroup > railgroups
float option_min_range_meters
static const BitMask_t OPTION_h_UNLOCKS_HOOK_GROUP
static const BitMask_t OPTION_D_CONTACT_BUOYANT
static const BitMask_t OPTION_t_CONTINUOUS
bool _is_user_defined
Informs whether these data were read from "set_beam_defaults" directive or filled in by the parser on...
std::vector< Texcoord > texcoords
static const BitMask64_t SOURCE_GEAR_NEUTRAL
static const BitMask64_t SOURCE_ACCEL
std::vector< Cab > cab_triangles
static const BitMask_t OPTION_VISIBLE
float precompression
Changes compression or extension of the suspension when the truck spawns. This can be used to "level"...
std::shared_ptr< BeamDefaults > beam_defaults
std::vector< Prop > props
static const BitMask_t OPTION_s_BUOYANT_NO_DRAG
float global_min_mass_Kg
minimum node mass in Kg - only effective where DefaultMinimass was not set.
static const BitMask_t OPTION_s_DISABLE_ON_HIGH_SPEED
std::vector< Fileinfo > fileinfo
static const BitMask_t OPTION_E_ENGINE_TRIGGER
float deformation_threshold_constant
static const BitMask64_t SOURCE_TURBO
Node::Ref rotating_plate_nodes[4]
Ogre::String material_name
std::vector< Node::Ref > node_list
std::vector< Shock3 > shocks3
std::vector< DefaultSkin > default_skin
std::vector< Ogre::String > submesh_groundmodel
WheelPropulsion propulsion
float visibility_range_meters
Ogre::String particle_name
static const BitMask_t CONSTRAINT_ATTACH_NONE
std::shared_ptr< BeamDefaults > beam_defaults
static const BitMask_t OPTION_ALTIMETER_100K
static const BitMask_t OPTION_h_INPUT_InvELEVATOR_RUDDER
std::vector< FlexBodyWheel > flexbodywheels
std::vector< MaterialFlareBinding > materialflarebindings
float plastic_deform_coef
static const BitMask_t SOURCE_AERO_THROTTLE
static const BitMask64_t SOURCE_BRAKES
std::vector< VideoCamera > videocameras
float contraction_trigger_limit
@ E_ENGINE_TRIGGER
this trigger is used to control an engine
bool lockgroup_default_nolock
float split_vel_in
Split velocity in (m/s) - threshold for slow / fast damping during compression.
Ogre::String band_material_name
std::map< Ogre::String, std::shared_ptr< Module > > user_modules
std::vector< AntiLockBrakes > antilockbrakes
static const BitMask_t OPTION_j_INVISIBLE
float short_bound
Maximum contraction limit, in percentage ( 1.00 = 100% )
float progress_factor_damp_in
Progression factor for dampin. 0 = disabled, 1...x as multipliers, example:maximum dampingrate == spr...
std::shared_ptr< Inertia > inertia_defaults
static const BitMask_t OPTION_M_ABSOLUTE_METRIC
std::shared_ptr< BeamDefaults > beam_defaults
static CameraMode_t CAMERA_MODE_ALWAYS_VISIBLE
static const int LOCKGROUP_DEFAULT
unsigned int forum_account_id
bool slide_nodes_connect_instantly
static const BitMask_t CONSTRAINT_ATTACH_ALL
std::vector< Flexbody > flexbodies
static const BitMask_t MODE_ROTATION_X
std::vector< Hydro > hydros
std::vector< Ropable > ropables
#define BITMASK64(OFFSET)
@ s_DISABLE_ON_HIGH_SPEED
std::list< MotorSource > motor_sources
std::vector< ManagedMaterial > managedmaterials
DashboardSpecial special_prop_dashboard
static const BitMask64_t SOURCE_DASHBOARD
static const BitMask64_t SOURCE_GEAR_REVERSE
float node_collision_range
Node::Ref blade_tip_nodes[4]
static const BitMask_t OPTION_r_ROPE
static const BitMask64_t SOURCE_CLUTCH
static const BitMask_t MODE_OFFSET_Y
Ogre::String airfoil_name
static const BitMask64_t SOURCE_SIGNALSTALK
static const BitMask_t OPTION_F_10xTOUGHER_BUOYANT
int control_number
Only 'u' type flares.
float damp_in
Damping value applied when the shock is compressing.
std::vector< Node::Ref > nodes
static const BitMask_t OPTION_i_INVISIBLE
bool _attachment_rate_set
std::vector< CollisionBox > collisionboxes
std::shared_ptr< BeamDefaults > beam_defaults
@ S_RIGHT_HAND_STABILATOR
static const BitMask_t OPTION_r_BUOYANT_ONLY_DRAG
std::shared_ptr< Module > root_module
Required to exist. shared_ptr is used for unified handling with other modules.
std::vector< Node::Range > node_list
static const BitMask_t OPTION_m_METRIC
std::vector< WheelDetacher > wheeldetachers
std::vector< TorqueCurve > torquecurve
std::vector< SpeedLimiter > speedlimiter
static const BitMask_t OPTION_PARKING
WheelSide
Used by rig-def/addonpart/tuneup formats to specify wheel rim mesh orientation.
@ h_INPUT_InvELEVATOR_RUDDER
std::shared_ptr< NodeDefaults > node_defaults
static const BitMask64_t SOURCE_SHIFT_BACK_FORTH
static const BitMask_t OPTION_SHORT_LIMIT
static const BitMask_t OPTION_H_LOCKS_HOOK_GROUP
static const BitMask_t OPTION_S_INVULNERABLE_BUOYANT
static const BitMask_t OPTION_i_INVISIBLE
std::vector< FileFormatVersion > fileformatversion
float damping
The 'resistance to motion' of the shock. The best value is given by this equation: 2 * sqrt(suspended...
std::vector< SoundSource > soundsources
bool _max_attach_dist_set
std::shared_ptr< BeamDefaults > beam_defaults
Node::Ref base_plate_nodes[4]
float damp_out
Damping value applied when shock extending.
bool option_c_auto_center
unsigned int spin_left_key
float damp_in_slow
Damping value applied when shock is commpressing slower than split in velocity.
Ogre::String beam_material_name
@ M_ABSOLUTE_METRIC
Absolute metric values for shortbound/longbound, settings apply without regarding to the original len...
int mode
0 and higher = cinecam index
Ogre::String material_name
@ i_INVISIBLE_INPUT_NORMAL
For backwards compatibility; combines flags 'j' and 'n'.
static const BitMask_t OPTION_TACHO
const char * ROOT_MODULE_NAME
static const BitMask64_t SOURCE_TORQUE
std::vector< CameraRail > camerarail
static const BitMask_t OPTION_s_DISABLE_SELF_LOCK
Ogre::String stop_function
static const BitMask64_t SOURCE_ALTIMETER_100K
std::vector< Particle > particles
std::vector< Beam > beams
Ogre::String material_name
static const BitMask_t OPTION_r_INPUT_RUDDER
static const BitMask_t MODE_NO_FLIP
Node::Ref reference_arm_node
Ogre::String dash_link_name
std::vector< InterAxle > interaxles
BeaconSpecial special_prop_beacon
float progress_factor_damp_out
Progression factor dampout, 0 = disabled, 1...x as multipliers, example:maximum dampingrate == spring...
static const BitMask_t OPTION_i_INVISIBLE
std::shared_ptr< BeamDefaults > beam_defaults
Ogre::String face_material_name
static const BitMask_t OPTION_b_BUOYANT
static const BitMask_t OPTION_x_INPUT_AILERON_RUDDER
std::vector< MeshWheel > meshwheels
std::vector< Engoption > engoption
Ogre::String sound_script_name
@ v_INPUT_InvAILERON_ELEVATOR
std::vector< TractionControl > tractioncontrol
float damp_out_slow
Damping value applied when shock is commpressing slower than split out velocity.
Ogre::String flare_material_name
std::vector< DifferentialType > DifferentialTypeVec
std::vector< Node::Ref > fixes
std::list< Animation > animations
std::vector< SoundSource2 > soundsources2
static const BitMask_t OPTION_VERTICAL_VELOCITY
static const BitMask_t OPTION_GEAR_SELECT
static const BitMask64_t SOURCE_SEQUENTIAL_SHIFT
static const BitMask64_t SOURCE_SPEEDO