Spaces:
Sleeping
Sleeping
| APP.core.physics = {}; | |
| APP.core.physics.defaultAimpoint = function (label) { | |
| const l = (label || "object").toLowerCase(); | |
| if (l.includes("airplane") || l.includes("drone") || l.includes("uav") || l.includes("kite") || l.includes("bird")) { | |
| return { relx: 0.62, rely: 0.55, label: "engine" }; | |
| } | |
| if (l.includes("helicopter")) { | |
| return { relx: 0.50, rely: 0.45, label: "rotor_hub" }; | |
| } | |
| if (l.includes("boat") || l.includes("ship")) { | |
| return { relx: 0.60, rely: 0.55, label: "bridge/engine" }; | |
| } | |
| if (l.includes("truck") || l.includes("car")) { | |
| return { relx: 0.55, rely: 0.62, label: "engine_block" }; | |
| } | |
| return { relx: 0.50, rely: 0.55, label: "center_mass" }; | |
| }; | |
| APP.core.physics.aimpointByLabel = function (label) { | |
| const l = String(label || "").toLowerCase(); | |
| if (l.includes("engine") || l.includes("fuel")) return { relx: 0.64, rely: 0.58, label: label }; | |
| if (l.includes("wing")) return { relx: 0.42, rely: 0.52, label: label }; | |
| if (l.includes("nose") || l.includes("sensor")) return { relx: 0.28, rely: 0.48, label: label }; | |
| if (l.includes("rotor")) return { relx: 0.52, rely: 0.42, label: label }; | |
| return { relx: 0.50, rely: 0.55, label: label || "center_mass" }; | |
| }; | |
| APP.core.physics.getKnobs = function () { | |
| const { $ } = APP.core.utils; | |
| const helPower = $("#helPower"); | |
| const helAperture = $("#helAperture"); | |
| const helM2 = $("#helM2"); | |
| const helJitter = $("#helJitter"); | |
| const helDuty = $("#helDuty"); | |
| const helMode = $("#helMode"); | |
| const atmVis = $("#atmVis"); | |
| const atmCn2 = $("#atmCn2"); | |
| const seaSpray = $("#seaSpray"); | |
| const aoQ = $("#aoQ"); | |
| const rangeBase = $("#rangeBase"); | |
| if (!helPower) return {}; | |
| const PkW = +helPower.value; | |
| const aperture = +helAperture.value; | |
| const M2 = +helM2.value; | |
| const jitter_urad = +helJitter.value; | |
| const duty = (+helDuty.value) / 100; | |
| const mode = helMode ? helMode.value : "cw"; | |
| const vis_km = +atmVis.value; | |
| const cn2 = +atmCn2.value; | |
| const spray = +seaSpray.value; | |
| const ao = +aoQ.value; | |
| const baseRange = +rangeBase.value; | |
| return { PkW, aperture, M2, jitter_urad, duty, mode, vis_km, cn2, spray, ao, baseRange }; | |
| }; | |