local earth = asset.require("scene/solarsystem/planets/earth/earth")
local sunTransforms = asset.require("scene/solarsystem/sun/transforms")

local models = asset.syncedResource({
  Name = "New Horizons Model",
  Type = "HttpSynchronization",
  Identifier = "newhorizons_model",
  Version = 2
})

local lat = 40.7306
local long = -73.9352

local Example_GlobeRotation = {
  Identifier = "Example_GlobeRotation",
  Parent = earth.Earth.Identifier,
  Transform = {
    Translation = {
      Type = "GlobeTranslation",
      Globe = earth.Earth.Identifier,
      Latitude = lat,
      Longitude = long,
      Altitude = 6,
      UseHeightmap = true
    },
    Rotation = {
      Type = "GlobeRotation",
      Globe = earth.Earth.Identifier,
      Latitude = lat,
      Longitude = long
      -- Can be used to to put flat on leaning surfaces, but also leads to updating
      -- the rotation every frame
      --UseHeightmap = true
    }
  },
  Renderable = {
    Type = "RenderableModel",
    Body = "NEW HORIZONS",
    GeometryFile = models .. "NewHorizonsCleanModel.obj"
  },
  GUI = {
    Path = "/Example"
  }
}

asset.onInitialize(function()
  openspace.addSceneGraphNode(Example_GlobeRotation)
end)

asset.onDeinitialize(function()
  openspace.removeSceneGraphNode(Example_GlobeRotation)
end)

asset.export(Example_GlobeRotation)
