NASA World Wind for Java API Overview

16
Fabrizio Giudici – [email protected] – JUG Milano Javaday Roma - 01/12/2007 Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License NASA World Wind for Java API Overview Fabrizio Giudici

description

 

Transcript of NASA World Wind for Java API Overview

Page 1: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

NASA World Wind for JavaAPI Overview

Fabrizio Giudici

Page 2: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

In a few words...

● 3D API for rendering the Earth– ... but also other planets

● Default data from NASA– You can feed other data providers– Beware of terms of use

● You can add your own objects

Page 3: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Some basic facts

● Based on JOGL (OpenGL bindings for Java)– Fast!– Fast Video Card required– But beware of drivers (especially in Linux)– Native library required

● You don't need to learn JOGL

Page 4: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Basic classes

● Configuration– How to set up things

● WorldWindowGLCanvas– The components that renders the scene

● Model– What we are going to render

Page 5: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Basic classes

● Layer(s)

– Stacked sets of rendered objects

● View, OrbitView– The coordinates and other attributes of the view

point

● SceneController– The controller

Page 6: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Standard Layers

● Stars● Fog● SkyGradient● BMNGSurface● LandsatI3● USGSDigitalOrtho

● USGSUrbanAreaOrtho● CountryBoundaries● EarthNASAPlaceName● ScaleBar● WorldMap● Compass

Page 7: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

The demos

● ViewIteration

● GlobalGridAboveSurface

● Shapes

● DraggingShapes

● SurfaceImages

● TexturedSurfaceShape

● Tracks

● AnaglyphStereo

run-demo.bash demo_name

Page 8: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

ViewIteration

● Goes to a specific location applying a smooth transition

● OrbitView● ScheduledOrbitViewStateIterator

Page 9: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

GlobalGridAboveSurface

● Draws a grid over the surface● RenderableLayer● PolyLine

– color– numSegments– followTerrain

Page 10: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Shapes

● Sticks and renders many different shapes at given coordinates

● RenderableLayer– SurfaceSector, SurfaceEllipse, SurfaceSquare, SurfaceCircle, SurfaceQuad, Quadrilateral, SurfacePolygon, PolyLine

● IconLayer● WWIcon, UserFacingIcon

Page 11: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

DraggingShapes

● Surface shapes can be selected and dragged● SelectListener

– SelectEvent.HOVER– SelectEvent.ROLLOVER– SelectEvent.DRAG– SelectEvent.DRAG_END

Page 12: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

SurfaceImages

● Paints a given image over the surface● RenderableLayer

– SurfaceImage

Page 13: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

TexturedSurfaceShape

● Paints a shape with a given texture over the surface

● RenderableLayer– SurfaceSector– TexturePaint

Page 14: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Tracks

● Renders a track with waypoints● TrackMarkerLayer

– Track

Page 15: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Anaglyph Stereo

● Renders a 3D view that can be viewer with 3D glasses

● Configuration● AnaglyphSceneController

– setDisplayMode(...)– setFocusAngle(...)

Page 16: NASA World Wind for Java  API Overview

Fabrizio Giudici – [email protected] – JUG MilanoJavaday Roma - 01/12/2007

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License

Contacts & Links

● http://worldwind.arc.nasa.gov/java● http://bluemarine.tidalwave.it● http://forceten.tidalwave.it (soon)

● http://weblogs.java.net/blog/fabriziogiudici● http://www.tidalwave.it/people