50 MotorSettings(
ESpringMode inMode,
float inFrequency,
float inDamping,
float inForceLimit,
float inTorqueLimit) :
mSpringSettings(inMode, inFrequency, inDamping),
mMinForceLimit(-inForceLimit),
mMaxForceLimit(inForceLimit),
mMinTorqueLimit(-inTorqueLimit),
mMaxTorqueLimit(inTorqueLimit) {
JPH_ASSERT(
IsValid()); }
69 void SaveBinaryState(
StreamOut &inStream)
const;
72 void RestoreBinaryState(
StreamIn &inStream);
#define JPH_EXPORT
Definition Core.h:286
#define JPH_NAMESPACE_END
Definition Core.h:469
#define JPH_NAMESPACE_BEGIN
Definition Core.h:463
#define JPH_ASSERT(...)
Definition IssueReporting.h:33
constexpr bool IsPositionMotor(EMotorState inMotorState)
Definition MotorSettings.h:26
EMotorState
Definition MotorSettings.h:17
@ PositionAndVelocity
Motor will drive both to target position and velocity using: force = stiffness * (target_position - c...
Definition MotorSettings.h:21
@ Position
Motor will drive to target position using: force = stiffness * (target_position - current_position) -...
Definition MotorSettings.h:20
@ Velocity
Motor will drive to target velocity limited only by max force/torque that the motor can apply.
Definition MotorSettings.h:19
@ Off
Motor is off.
Definition MotorSettings.h:18
constexpr bool IsVelocityMotor(EMotorState inMotorState)
Definition MotorSettings.h:25
#define JPH_DECLARE_SERIALIZABLE_NON_VIRTUAL(linkage, class_name)
Definition SerializableObject.h:80
ESpringMode
Enum used by constraints to specify how the spring is defined.
Definition SpringSettings.h:16
@ FrequencyAndDamping
Frequency and damping are specified.
Definition SpringSettings.h:17
MotorSettings(float inFrequency, float inDamping, float inForceLimit, float inTorqueLimit)
Definition MotorSettings.h:51
void SetForceLimits(float inMin, float inMax)
Set asymmetric force limits.
Definition MotorSettings.h:54
void SetTorqueLimits(float inMin, float inMax)
Set asymmetric torque limits.
Definition MotorSettings.h:57
MotorSettings(const MotorSettings &)=default
float mMaxTorqueLimit
Maximum torque to apply in case of a angular constraint (N m). Not used when motor is a linear motor.
Definition MotorSettings.h:79
SpringSettings mSpringSettings
Settings for the spring that is used to drive to the position target (not used when motor is a veloci...
Definition MotorSettings.h:75
float mMinTorqueLimit
Minimum torque to apply in case of a angular constraint (N m). Usually this is -mMaxTorqueLimit unles...
Definition MotorSettings.h:78
void SetForceLimit(float inLimit)
Set symmetric force limits.
Definition MotorSettings.h:60
MotorSettings(float inFrequency, float inDamping)
Definition MotorSettings.h:49
bool IsValid() const
Check if settings are valid.
Definition MotorSettings.h:66
MotorSettings(ESpringMode inMode, float inFrequency, float inDamping)
Definition MotorSettings.h:48
void SetTorqueLimit(float inLimit)
Set symmetric torque limits.
Definition MotorSettings.h:63
MotorSettings()=default
Constructor.
float mMaxForceLimit
Maximum force to apply in case of a linear constraint (N). Not used when motor is an angular motor.
Definition MotorSettings.h:77
float mMinForceLimit
Minimum force to apply in case of a linear constraint (N). Usually this is -mMaxForceLimit unless you...
Definition MotorSettings.h:76
MotorSettings(ESpringMode inMode, float inFrequency, float inDamping, float inForceLimit, float inTorqueLimit)
Definition MotorSettings.h:50
Settings for a linear or angular spring.
Definition SpringSettings.h:24
Simple binary input stream.
Definition StreamIn.h:13
Simple binary output stream.
Definition StreamOut.h:13