2019-12-19 20:04:08 +01:00
|
|
|
class_name GSTTargetAcceleration
|
2019-12-17 05:12:18 +01:00
|
|
|
"""
|
|
|
|
A linear and angular amount of acceleration.
|
|
|
|
"""
|
2019-12-16 17:22:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
var linear: = Vector3.ZERO
|
|
|
|
var angular: = 0.0
|
|
|
|
|
|
|
|
|
2019-12-19 20:04:08 +01:00
|
|
|
func set_zero() -> void:
|
2019-12-16 17:22:03 +01:00
|
|
|
linear.x = 0.0
|
|
|
|
linear.y = 0.0
|
|
|
|
linear.z = 0.0
|
|
|
|
angular = 0.0
|
2019-12-21 03:32:21 +01:00
|
|
|
|
|
|
|
|
|
|
|
func add_scaled_accel(accel: GSTTargetAcceleration, scalar: float) -> void:
|
|
|
|
linear += accel.linear * scalar
|
|
|
|
angular += accel.angular * scalar
|
|
|
|
|
|
|
|
|
|
|
|
func get_squared_magnitude() -> float:
|
|
|
|
return linear.length_squared() + angular * angular
|
|
|
|
|
|
|
|
|
|
|
|
func get_magnitude() -> float:
|
|
|
|
return sqrt(get_squared_magnitude())
|