mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-13 23:20:48 -06:00
176 lines
4.8 KiB
Lua
176 lines
4.8 KiB
Lua
local orbit_right = {
|
|
Identifier = "ipac.orbit_right",
|
|
Name = "Orbit right",
|
|
Command = [[ openspace.navigation.addGlobalRotation(-5.0, 0.0) ]],
|
|
Documentation = "Orbits the camera to the right around the current focus",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacOrbitRight", orbit_right)
|
|
|
|
local orbit_left = {
|
|
Identifier = "ipac.orbit_left",
|
|
Name = "Orbit left",
|
|
Command = [[ openspace.navigation.addGlobalRotation(5.0, 0.0) ]],
|
|
Documentation = "Orbits the camera to the left around the current focus",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacOrbitLeft", orbit_left)
|
|
|
|
local orbit_up = {
|
|
Identifier = "ipac.orbit_up",
|
|
Name = "Orbit up",
|
|
Command = [[ openspace.navigation.addGlobalRotation(0.0, 5.0) ]],
|
|
Documentation = "Orbits the camera up around the current focus",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacOrbitUp", orbit_up)
|
|
|
|
local orbit_down = {
|
|
Identifier = "ipac.orbit_down",
|
|
Name = "Orbit down",
|
|
Command = [[ openspace.navigation.addGlobalRotation(0.0, -5.0) ]],
|
|
Documentation = "Orbits the camera down around the current focus",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacOrbitDown", orbit_down)
|
|
|
|
|
|
local pan_right = {
|
|
Identifier = "ipac.pan_right",
|
|
Name = "Pan right",
|
|
Command = [[ openspace.navigation.addLocalRotation(-5.0, 0.0) ]],
|
|
Documentation = "Pans the camera to the right",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacPanRight", pan_right)
|
|
|
|
local pan_left = {
|
|
Identifier = "ipac.pan_left",
|
|
Name = "Pan left",
|
|
Command = [[ openspace.navigation.addLocalRotation(5.0, 0.0) ]],
|
|
Documentation = "Pans the camera to the left",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacPanLeft", pan_left)
|
|
|
|
local pan_up = {
|
|
Identifier = "ipac.pan_up",
|
|
Name = "Pan up",
|
|
Command = [[ openspace.navigation.addLocalRotation(0.0, 5.0) ]],
|
|
Documentation = "Pans the camera up",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacPanUp", pan_up)
|
|
|
|
local pan_down = {
|
|
Identifier = "ipac.pan_down",
|
|
Name = "Pan down",
|
|
Command = [[ openspace.navigation.addLocalRotation(0.0, -5.0) ]],
|
|
Documentation = "Pans the camera down",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacPanDown", pan_down)
|
|
|
|
|
|
local zoom_in = {
|
|
Identifier = "ipac.zoom_in",
|
|
Name = "Zoom in",
|
|
Command = [[ openspace.navigation.addTruckMovement(0.0, 5.0) ]],
|
|
Documentation = "Zooms the camera in, towards the current focus",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacZoomIn", zoom_in)
|
|
|
|
local zoom_out = {
|
|
Identifier = "ipac.zoom_out",
|
|
Name = "Zoom out",
|
|
Command = [[ openspace.navigation.addTruckMovement(0.0, -5.0) ]],
|
|
Documentation = "Zooms the camera out, away form the current focus",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacZoomOut", zoom_out)
|
|
|
|
|
|
local focus_moon = {
|
|
Identifier = "ipac.focus_moon",
|
|
Name = "Focus on the Moon",
|
|
Command = [[
|
|
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.Aim", "");
|
|
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.Anchor", "Moon");
|
|
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.RetargetAnchor", nil);
|
|
]],
|
|
Documentation = "Focuses the camera on the Moon",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacFocusMoon", focus_moon)
|
|
|
|
local focus_earth = {
|
|
Identifier = "ipac.focus_earth",
|
|
Name = "Focus on the Earth",
|
|
Command = [[
|
|
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.Aim", "");
|
|
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.Anchor", "Earth");
|
|
openspace.setPropertyValueSingle("NavigationHandler.OrbitalNavigator.RetargetAnchor", nil)
|
|
]],
|
|
Documentation = "Focuses the camera on Earth",
|
|
GuiPath = "/Ipac",
|
|
IsLocal = false
|
|
}
|
|
asset.export("IpacFocusEarth", focus_earth)
|
|
|
|
|
|
local actions = {
|
|
orbit_right,
|
|
orbit_left,
|
|
orbit_up,
|
|
orbit_down,
|
|
pan_right,
|
|
pan_left,
|
|
pan_up,
|
|
pan_down,
|
|
zoom_in,
|
|
zoom_out,
|
|
focus_moon,
|
|
focus_earth
|
|
}
|
|
|
|
asset.onInitialize(function()
|
|
for _, a in ipairs(actions) do
|
|
openspace.action.registerAction(a)
|
|
end
|
|
|
|
openspace.clearKeys()
|
|
openspace.bindKey("RIGHT", orbit_right.Identifier)
|
|
openspace.bindKey("LEFT", orbit_left.Identifier)
|
|
openspace.bindKey("UP", orbit_up.Identifier)
|
|
openspace.bindKey("DOWN", orbit_down.Identifier)
|
|
|
|
openspace.bindKey("CTRL+RIGHT", pan_right.Identifier)
|
|
openspace.bindKey("CTRL+LEFT", pan_left.Identifier)
|
|
openspace.bindKey("CTRL+UP", pan_up.Identifier)
|
|
openspace.bindKey("CTRL+DOWN", pan_down.Identifier)
|
|
|
|
openspace.bindKey("ALT+UP", zoom_in.Identifier)
|
|
openspace.bindKey("ALT+DOWN", zoom_out.Identifier)
|
|
|
|
openspace.bindKey("SPACE", focus_moon.Identifier)
|
|
openspace.bindKey("Z", focus_earth.Identifier)
|
|
end)
|
|
|
|
asset.onDeinitialize(function ()
|
|
for i = #actions, 1, -1 do
|
|
openspace.action.removeAction(actions[i])
|
|
end
|
|
end)
|