94 lines
2.9 KiB
Lua
94 lines
2.9 KiB
Lua
function calculateTailgateData(
|
|
number_steps,
|
|
opening_angle,
|
|
|
|
tailgate_angle_v1,
|
|
tailgate_angle_v2,
|
|
tailgate_angle_v3,
|
|
tailgate_angle_v4,
|
|
tailgate_angle_v5,
|
|
|
|
tailgate2_angle_v1,
|
|
tailgate2_angle_v2,
|
|
tailgate2_angle_v3,
|
|
tailgate2_angle_v4,
|
|
tailgate2_angle_v5,
|
|
tailgate2_angle_v6,
|
|
tailgate2_angle_v7,
|
|
tailgate2_angle_v8,
|
|
tailgate2_angle_v9,
|
|
tailgate2_angle_v10,
|
|
tailgate2_angle_v11,
|
|
tailgate2_angle_v12,
|
|
tailgate2_angle_v13,
|
|
tailgate2_angle_v14,
|
|
tailgate2_angle_v15 )
|
|
|
|
local function fixFloatValue(val)
|
|
if val == nil then
|
|
val = 0.0
|
|
end
|
|
return val
|
|
end
|
|
|
|
local openingAngle = 0.0
|
|
local trunkOpenMin = 0.0
|
|
local trunkOpenMax = 0.0
|
|
|
|
-- set min and max trunk opening values based on 5 or 15 step trunk version
|
|
-- and choose proper angle value for current trunk state
|
|
if number_steps == "step_5" then
|
|
trunkOpenMin = fixFloatValue(tailgate_angle_v1)
|
|
trunkOpenMax = fixFloatValue(tailgate_angle_v5)
|
|
|
|
if opening_angle < 1.5 then
|
|
openingAngle = fixFloatValue(tailgate_angle_v1)
|
|
elseif opening_angle < 2.5 then
|
|
openingAngle = fixFloatValue(tailgate_angle_v2)
|
|
elseif opening_angle < 3.5 then
|
|
openingAngle = fixFloatValue(tailgate_angle_v3)
|
|
elseif opening_angle < 4.5 then
|
|
openingAngle = fixFloatValue(tailgate_angle_v4)
|
|
else
|
|
openingAngle = fixFloatValue(tailgate_angle_v5)
|
|
end
|
|
else
|
|
trunkOpenMin = fixFloatValue(tailgate2_angle_v1)
|
|
trunkOpenMax = fixFloatValue(tailgate2_angle_v15)
|
|
|
|
if opening_angle < 1.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v1)
|
|
elseif opening_angle < 2.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v2)
|
|
elseif opening_angle < 3.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v3)
|
|
elseif opening_angle < 4.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v4)
|
|
elseif opening_angle < 5.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v5)
|
|
elseif opening_angle < 6.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v6)
|
|
elseif opening_angle < 7.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v7)
|
|
elseif opening_angle < 8.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v8)
|
|
elseif opening_angle < 9.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v9)
|
|
elseif opening_angle < 10.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v10)
|
|
elseif opening_angle < 11.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v11)
|
|
elseif opening_angle < 12.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v12)
|
|
elseif opening_angle < 13.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v13)
|
|
elseif opening_angle < 14.5 then
|
|
openingAngle = fixFloatValue(tailgate2_angle_v14)
|
|
else
|
|
openingAngle = fixFloatValue(tailgate2_angle_v15)
|
|
end
|
|
|
|
end
|
|
|
|
return openingAngle, trunkOpenMin, trunkOpenMax
|
|
end |