WorldWind Android

repository·develop·Indexed 43 days ago

https://github.com/nasaworldwind/worldwindandroid

A NASA-developed 3D virtual globe API for the Android platform. It enables the visualization of high-resolution terrain and geo-located information in 2D and 3D environments, allowing developers to customize imagery and represent geometric objects in a geographic context. Available as version 0.8.0 and 0.9.0-SNAPSHOT.

Tokens
1.1K
Snippets
9
Records
10
Agent score
5%

What's inside WorldWind Android

  1. Overview of WorldWind Android

    develop

    WorldWind Android is a 3D virtual globe API developed by NASA. It provides a geographic context with high-resolution terrain for visualizing geographic or geo-located information in both 3D and 2D.

    Key capabilities include:

    • Customizing the globe's terrain and imagery.
    • Using a collection of shapes to display and interact with geographic data.
    • Representing various geometric objects in a geographic context.
  2. Install WorldWind Android development snapshots

    develop

    To access development build snapshots containing the latest features and bug fixes, you must first add the OSS snapshot repository to your repositories block, then declare the snapshot dependency:

    repositories {
        maven {
            url 'https://oss.jfrog.org/artifactory/oss-snapshot-local'
        }
    }
    
    ... 
    
    compile 'gov.nasa.worldwind.android:worldwind:0.9.0-SNAPSHOT'
  3. Connect two edges with `__gl_meshConnect()`

    develop

    Creates a new edge from eOrg.Sym.Org to eDst.Org.

    • If the edges belong to the same face (eOrg.Lface == eDst.Lface), it splits one loop into two, and the new loop's left face is the new edge's face.
    • If they belong to different faces, it merges two disjoint loops into one, destroying eDst.Lface.
    // Note: This is a static method in Mesh, but the source shows it as package-private.
    // Use via the public __gl_mesh... entrypoints if available in your context.
    GLUhalfEdge eNew = gov.nasa.worldwind.util.glu.tessellator.__gl_meshConnect(eOrg, eDst);
  4. Modify mesh topology with `__gl_meshSplice()`

    develop

    The fundamental operation for changing mesh connectivity and topology. It modifies the mesh so that the Onext pointers of two half-edges are exchanged. Depending on the relationship between the edges, this can:

    • Merge two disjoint vertices.
    • Split one vertex into two.
    • Join two disjoint loops into one.
    • Split one loop into two.
    boolean success = gov.nasa.worldwind.util.glu.tessellator.__gl_meshSplice(eOrg, eDst);
  5. Verify mesh consistency with `__gl_meshCheckMesh()`

    develop

    Performs a self-consistency check on the provided GLUmesh. It validates the integrity of the circular doubly-linked lists for faces, vertices, and edges, ensuring that half-edge relationships (like Sym, Lnext, and Onext) are mathematically sound and that all pointers are correctly assigned.

    gov.nasa.worldwind.util.glu.tessellator.__gl_meshCheckMesh(mesh);