openspace.globebrowsing.documentation = { { Name = "setNodePosition", Arguments = {{ "nodeIdentifer", "String" }, { "globeIdentifier", "String" }, { "latitude", "Number" }, { "longitude", "Number" }, { "altitude", "Number" }}, Documentation = "Sets the position of a SceneGraphNode that has GlobeTranslation/GlobeRotations. " .. "Usage: openspace.globebrowsing.setNodePosition(" .. "\"Scale_StatueOfLiberty\", \"Earth\", 40.000, -117.5, optionalAltitude)" }, { Name = "setNodePositionFromCamera", Arguments = {{ "nodeIdentifer", "String" }, { "useAltitude", "Boolean" }}, Documentation = "Sets the position of a SceneGraphNode that has GlobeTranslation/GlobeRotations" .. " to match the camera. Only uses camera position not rotation. If useAltitude" .. " is true, then the position will also be updated to the camera's altitude." .. "Usage: openspace.globebrowsing.setNodePositionFromCamera(" .. "\"Scale_StatueOfLiberty\", optionalUseAltitude)" } } openspace.globebrowsing.setNodePosition = function (node_identifer, globe_identifier, lat, lon, altitude) openspace.setParent(node_identifer, globe_identifier) openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Globe', globe_identifier); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Latitude', lat); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Longitude', lon); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Rotation.Globe', globe_identifier); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Rotation.Latitude', lat); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Rotation.Longitude', lon); if (altitude) then openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Altitude', altitude); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Altitude', altitude); end end openspace.globebrowsing.setNodePositionFromCamera = function (node_identifer, use_altitude) local lat, lon, alt = openspace.globebrowsing.geoPositionForCamera(); local camera = openspace.navigation.getNavigationState(); openspace.setParent(node_identifer, camera.Anchor) openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Globe', camera.Anchor); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Latitude', lat); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Longitude', lon); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Rotation.Globe', camera.Anchor); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Rotation.Latitude', lat); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Rotation.Longitude', lon); if (use_altitude) then openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Altitude', alt); openspace.setPropertyValueSingle('Scene.' .. node_identifer .. '.Translation.Altitude', alt); end end