mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-05-04 09:59:44 -05:00
705c898ccd
* Updating all assets to new coding style * Cleaning up asset files * Moving default_actions and default_keybindings files * Changing procedural globes to explicitly specified globes * Move Spice loading explicitly to the initialize part and also deinitialize * Removing unused asset files * Removing asset_helper * Removing scale_model_helper asset * Removing script_scheduler_helper * Removing testing_keybindings * Remove procedural_globe
92 lines
2.3 KiB
Lua
92 lines
2.3 KiB
Lua
local function loadBookmarks(guiPath, bookmarkfile)
|
|
local genBookmarks = {}
|
|
local PARSEC_CONSTANT = 3.0856776E16
|
|
|
|
local extract_first_line = false
|
|
local contents = openspace.readCSVFile(openspace.absPath(bookmarkfile), extract_first_line)
|
|
|
|
for _,v in ipairs(contents) do
|
|
local group = v[1]
|
|
local name = v[2]
|
|
local globe = v[3]
|
|
local lat = v[4]
|
|
local lon = v[5]
|
|
local altitude = v[6]
|
|
local x = v[7]
|
|
local y = v[8]
|
|
local z = v[9]
|
|
local scale = v[10]
|
|
local linewidth = v[11]
|
|
|
|
local identifier = string.gsub(guiPath .. "-" .. name, " ", "_")
|
|
|
|
scale = (scale == "" and 75000 or scale)
|
|
linewidth = (linewidth == "" and 2.0 or tonumber(linewidth))
|
|
|
|
local parent = (globe == "" and "Root" or globe)
|
|
|
|
local sgn = {
|
|
Identifier = identifier,
|
|
Parent = parent,
|
|
Transform = {
|
|
Scale = {
|
|
Type = "StaticScale",
|
|
Scale = tonumber(scale)
|
|
},
|
|
Rotation = {
|
|
Type = "StaticRotation",
|
|
Rotation = {
|
|
-0.05487554, 0.4941095, -0.8676661,
|
|
-0.9938214 , -0.1109906, -0.0003515167,
|
|
-0.09647644, 0.8622859, 0.4971472
|
|
}
|
|
}
|
|
},
|
|
Renderable = {
|
|
Type = "RenderableSphericalGrid",
|
|
Enabled = false,
|
|
Opacity = 0.3,
|
|
Color = { 0.3, 0.84, 1.0 },
|
|
LineWidth = linewidth
|
|
},
|
|
GUI = {
|
|
Name = name,
|
|
Path = "/" .. guiPath
|
|
}
|
|
}
|
|
|
|
if (group ~= "") then
|
|
sgn.GUI.Path = sgn.GUI.Path .. "/" .. group
|
|
end
|
|
|
|
if (globe == "") then
|
|
sgn.Transform.Translation = {
|
|
Type = "StaticTranslation",
|
|
Position = {
|
|
tonumber(x) * PARSEC_CONSTANT,
|
|
tonumber(y) * PARSEC_CONSTANT,
|
|
tonumber(z) * PARSEC_CONSTANT
|
|
}
|
|
}
|
|
else
|
|
sgn.Transform.Translation = {
|
|
Type = "GlobeTranslation",
|
|
Globe = globe,
|
|
Latitude = tonumber(lat),
|
|
Longitude = tonumber(lon)
|
|
}
|
|
if (altitude == nil) then
|
|
sgn.Transform.Translation.UseHeightMap = true
|
|
else
|
|
sgn.Transform.Translation.UseHeightMap = false
|
|
sgn.Transform.Translation.Altitude = tonumber(altitude)
|
|
end
|
|
end
|
|
|
|
table.insert(genBookmarks, sgn)
|
|
end
|
|
return genBookmarks
|
|
end
|
|
|
|
asset.export("loadBookmarks", loadBookmarks)
|