All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gov.nasa.worldwind.render.SurfaceRenderable Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (C) 2014 United States Government as represented by the Administrator of the
 * National Aeronautics and Space Administration.
 * All Rights Reserved.
 */

package gov.nasa.worldwind.render;

import gov.nasa.worldwind.geom.Sector;

import java.util.List;

/**
 * Common interface for renderables that are drawn on the Globe's terrain surface, such as {@link
 * gov.nasa.worldwind.render.SurfaceShape}. SurfaceRenderable extends the Renderable interface by adding an interface
 * for determining the geographic region that bounds the renderable, and an interface for determining when the
 * renderable has changed.
 *
 * @author dcollins
 * @version $Id: SurfaceRenderable.java 2283 2014-08-30 15:58:43Z dcollins $
 */
public interface SurfaceRenderable extends Renderable
{
    /**
     * Returns a list of sectors indicating the geographic region that bounds this renderable for the specified draw
     * context.
     * 

* The returned list typically contains one sector that bounds this renderable in geographic coordinates. When this * renderable spans the anti-meridian - the +/- 180 degree meridian - the returned list contains two sectors, one on * either side of the anti-meridian. * * @param dc the draw context for which to determine this renderable's geographic bounds. * * @return a list of one or two sectors that bound this renderable. */ List getSectors(DrawContext dc); /** * Returns an object that uniquely identifies this renderable's state for the specified draw context. *

* Callers can perform an equality test on two state keys using {@link Object#equals(Object)} in order to determine * whether or not a renderable has changed. The returned object is guaranteed to be globally unique with respect to * other SurfaceRenderable state keys; an equality test with a state key from another renderable always returns * false. * * @param dc the draw context for which to determine this renderable's current state. * * @return an object representing this renderable's current state. */ Object getStateKey(DrawContext dc); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy