Package gov.nasa.worldwind
Class WorldWindow
- java.lang.Object
-
- android.view.View
-
- android.view.SurfaceView
-
- android.opengl.GLSurfaceView
-
- gov.nasa.worldwind.WorldWindow
-
- All Implemented Interfaces:
android.graphics.drawable.Drawable.Callback
,android.opengl.GLSurfaceView.Renderer
,android.view.accessibility.AccessibilityEventSource
,android.view.Choreographer.FrameCallback
,android.view.KeyEvent.Callback
,android.view.SurfaceHolder.Callback
,android.view.SurfaceHolder.Callback2
,MessageListener
public class WorldWindow extends android.opengl.GLSurfaceView implements android.view.Choreographer.FrameCallback, android.opengl.GLSurfaceView.Renderer, MessageListener
Provides a WorldWind window that implements a virtual globe inside of the Android view hierarchy. By default, World Window is configured to display an ellipsoidal globe using the WGS 84 reference values.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class android.opengl.GLSurfaceView
android.opengl.GLSurfaceView.EGLConfigChooser, android.opengl.GLSurfaceView.EGLContextFactory, android.opengl.GLSurfaceView.EGLWindowSurfaceFactory, android.opengl.GLSurfaceView.GLWrapper, android.opengl.GLSurfaceView.Renderer
-
Nested classes/interfaces inherited from class android.view.View
android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
-
-
Field Summary
-
Fields inherited from class android.opengl.GLSurfaceView
DEBUG_CHECK_GL_ERROR, DEBUG_LOG_GL_CALLS, RENDERMODE_CONTINUOUSLY, RENDERMODE_WHEN_DIRTY
-
Fields inherited from class android.view.View
ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_CAPTURE_HINT_AUTO, SCROLL_CAPTURE_HINT_EXCLUDE, SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS, SCROLL_CAPTURE_HINT_INCLUDE, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description WorldWindow(android.content.Context context)
Constructs a WorldWindow associated with the specified application context.WorldWindow(android.content.Context context, android.opengl.GLSurfaceView.EGLConfigChooser configChooser)
Constructs a WorldWindow associated with the specified application context and EGL configuration chooser.WorldWindow(android.content.Context context, android.util.AttributeSet attrs)
Constructs a WorldWindow associated with the specified application context and attributes from an XML tag.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addNavigatorListener(NavigatorListener listener)
boolean
cartesianToScreenPoint(double x, double y, double z, android.graphics.PointF result)
Transforms a Cartesian coordinate point to Android screen coordinates.double
distanceToViewGlobeExtents()
Returns the minimum distance from the globe's surface necessary to make the globe's extents visible in this World Window.void
doFrame(long frameTimeNanos)
boolean
geographicToScreenPoint(double latitude, double longitude, double altitude, android.graphics.PointF result)
Transforms a geographic position to Android screen coordinates.Camera
getCamera()
double
getFieldOfView()
Deprecated.FrameController
getFrameController()
FrameMetrics
getFrameMetrics()
Globe
getGlobe()
Indicates the planet or celestial object displayed by this WorldWindow.LayerList
getLayers()
Navigator
getNavigator()
Deprecated.long
getNavigatorStoppedDelay()
RenderResourceCache
getRenderResourceCache()
Tessellator
getTessellator()
double
getVerticalExaggeration()
Viewport
getViewport()
WorldWindowController
getWorldWindowController()
void
onDrawFrame(javax.microedition.khronos.opengles.GL10 unused)
Implements the GLSurfaceView.Renderer.onDrawFrame interface which is called on the GLThread when rendering is requested.void
onMessage(java.lang.String name, java.lang.Object sender, java.util.Map<java.lang.Object,java.lang.Object> userProperties)
void
onPause()
Called when the activity is paused.void
onResume()
Called when the activity is resumed.void
onSurfaceChanged(javax.microedition.khronos.opengles.GL10 unused, int width, int height)
Implements the GLSurfaceView.Renderer.onSurfaceChanged interface which is called on the GLThread when the window size changes.void
onSurfaceCreated(javax.microedition.khronos.opengles.GL10 unused, javax.microedition.khronos.egl.EGLConfig config)
Implements the GLSurfaceView.Renderer.onSurfaceChanged interface which is called on the GLThread when the surface is created.boolean
onTouchEvent(android.view.MotionEvent event)
PickedObjectList
pick(float x, float y)
Determines the WorldWind objects displayed at a screen point.PickedObjectList
pickShapesInRect(float x, float y, float width, float height)
Determines the WorldWind shapes displayed in a screen rectangle.double
pixelSizeAtDistance(double distance)
Returns the height of a pixel at a given distance from the eye point.void
queueEvent(java.lang.Runnable r)
Deprecated.See Communicating with the UI Thread instead.boolean
rayThroughScreenPoint(float x, float y, Line result)
Computes a Cartesian coordinate ray that passes through through a screen point.void
removeNavigatorListener(NavigatorListener listener)
void
requestRedraw()
Request that this WorldWindow update its display.void
setCamera(Camera camera)
void
setFieldOfView(double fovyDegrees)
Deprecated.void
setFrameController(FrameController frameController)
void
setFrameMetrics(FrameMetrics frameMetrics)
void
setGlobe(Globe globe)
Sets the planet or celestial object displayed by this WorldWindow.void
setLayers(LayerList layers)
void
setNavigatorStoppedDelay(long delay, java.util.concurrent.TimeUnit unit)
void
setRenderResourceCache(RenderResourceCache cache)
void
setTessellator(Tessellator tessellator)
void
setVerticalExaggeration(double verticalExaggeration)
void
setWorldWindowController(WorldWindowController controller)
void
surfaceCreated(android.view.SurfaceHolder holder)
Called immediately after the surface is first created, in which case the WorldWindow instance adds itself as a listener to theWorldWind.messageService()
.void
surfaceDestroyed(android.view.SurfaceHolder holder)
Called immediately before a surface is being destroyed, in which case the WorldWindow instance removes itself fromWorldWind.messageService()
.-
Methods inherited from class android.opengl.GLSurfaceView
getDebugFlags, getPreserveEGLContextOnPause, getRenderMode, requestRender, setDebugFlags, setEGLConfigChooser, setEGLConfigChooser, setEGLConfigChooser, setEGLContextClientVersion, setEGLContextFactory, setEGLWindowSurfaceFactory, setGLWrapper, setPreserveEGLContextOnPause, setRenderer, setRenderMode, surfaceChanged, surfaceRedrawNeeded, surfaceRedrawNeededAsync
-
Methods inherited from class android.view.SurfaceView
draw, gatherTransparentRegion, getHolder, getHostToken, getImportantForAccessibility, getSurfaceControl, setAlpha, setChildSurfacePackage, setClipBounds, setSecure, setVisibility, setZOrderMediaOverlay, setZOrderOnTop
-
Methods inherited from class android.view.View
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addFocusables, addKeyboardNavigationClusters, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, addTouchables, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, clearViewTranslationCallback, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerCaptureChanged, dispatchPopulateAccessibilityEvent, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchScrollCaptureSearch, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableHotspotChanged, findFocus, findViewById, findViewsWithText, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityClassName, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverlay, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocus, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasTransientState, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, jumpDrawablesToCurrentState, keyboardNavigationClusterSearch, layout, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onResolvePointerIcon, onRtlPropertiesChanged, onScreenStateChanged, onScrollCaptureSearch, onStartTemporaryDetach, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, performReceiveContent, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreDefaultFocus, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRenderEffect, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollCaptureCallback, setScrollCaptureHint, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setViewTranslationCallback, setWillNotCacheDrawing, setWillNotDraw, setWindowInsetsAnimationCallback, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
-
-
-
-
Constructor Detail
-
WorldWindow
public WorldWindow(android.content.Context context)
Constructs a WorldWindow associated with the specified application context. This is the constructor to use when creating a WorldWindow from code.
-
WorldWindow
public WorldWindow(android.content.Context context, android.opengl.GLSurfaceView.EGLConfigChooser configChooser)
Constructs a WorldWindow associated with the specified application context and EGL configuration chooser. This is the constructor to use when creating a WorldWindow from code.
-
WorldWindow
public WorldWindow(android.content.Context context, android.util.AttributeSet attrs)
Constructs a WorldWindow associated with the specified application context and attributes from an XML tag. This constructor is included to provide support for creating WorldWindow from an Android XML layout file, and is not intended to be used directly.
This is called when a view is being constructed from an XML file, supplying attributes that were specified in the XML file. This version uses a default style of 0, so the only attribute values applied are those in the Context's Theme and the given AttributeSet.
-
-
Method Detail
-
getGlobe
public Globe getGlobe()
Indicates the planet or celestial object displayed by this WorldWindow. Defines the reference ellipsoid and elevation models. Globe expresses its ellipsoidal parameters and elevation values in meters.
WorldWindow's globe is initially configured with the WGS 84 reference ellipsoid.- Returns:
- the globe displayed by this WorldWindow
-
setGlobe
public void setGlobe(Globe globe)
Sets the planet or celestial object displayed by this WorldWindow. Defines the reference ellipsoid and elevation models. Globe expresses its ellipsoidal parameters and elevation values in meters.- Parameters:
globe
- the globe to display- Throws:
java.lang.IllegalArgumentException
- If the globe is null
-
getTessellator
public Tessellator getTessellator()
-
setTessellator
public void setTessellator(Tessellator tessellator)
-
getLayers
public LayerList getLayers()
-
setLayers
public void setLayers(LayerList layers)
-
getVerticalExaggeration
public double getVerticalExaggeration()
-
setVerticalExaggeration
public void setVerticalExaggeration(double verticalExaggeration)
-
getCamera
public Camera getCamera()
-
setCamera
public void setCamera(Camera camera)
-
getFieldOfView
@Deprecated public double getFieldOfView()
Deprecated.
-
setFieldOfView
@Deprecated public void setFieldOfView(double fovyDegrees)
Deprecated.
-
getNavigator
@Deprecated public Navigator getNavigator()
Deprecated.
-
addNavigatorListener
public void addNavigatorListener(NavigatorListener listener)
-
removeNavigatorListener
public void removeNavigatorListener(NavigatorListener listener)
-
getNavigatorStoppedDelay
public long getNavigatorStoppedDelay()
-
setNavigatorStoppedDelay
public void setNavigatorStoppedDelay(long delay, java.util.concurrent.TimeUnit unit)
-
getFrameController
public FrameController getFrameController()
-
setFrameController
public void setFrameController(FrameController frameController)
-
getFrameMetrics
public FrameMetrics getFrameMetrics()
-
setFrameMetrics
public void setFrameMetrics(FrameMetrics frameMetrics)
-
getWorldWindowController
public WorldWindowController getWorldWindowController()
-
setWorldWindowController
public void setWorldWindowController(WorldWindowController controller)
-
getRenderResourceCache
public RenderResourceCache getRenderResourceCache()
-
setRenderResourceCache
public void setRenderResourceCache(RenderResourceCache cache)
-
getViewport
public Viewport getViewport()
-
pick
public PickedObjectList pick(float x, float y)
Determines the WorldWind objects displayed at a screen point. The screen point is interpreted as coordinates in Android screen pixels relative to this View.
If the screen point intersects any number of WorldWind shapes, the returned list contains a picked object identifying the top shape at the screen point. This picked object includes the shape renderable (or its non-null pick delegate) and the WorldWind layer that displayed the shape. Shapes which are either hidden behind another shape at the screen point or hidden behind terrain at the screen point are omitted from the returned list. Therefore if the returned list contains a picked object identifying a shape, it is always marked as 'on top'.
If the screen point intersects the WorldWind terrain, the returned list contains a picked object identifying the associated geographic position. If there are no shapes in the WorldWind scene between the terrain and the screen point, the terrain picked object is marked as 'on top'.
This returns an empty list when nothing in the WorldWind scene intersects the screen point, when the screen point is outside this View's bounds, or if the OpenGL thread displaying the WorldWindow's scene is paused (or becomes paused while this method is executing).- Parameters:
x
- the screen point's X coordinate in Android screen pixelsy
- the screen point's Y coordinate in Android screen pixels- Returns:
- a list of WorldWind objects at the screen point
-
pickShapesInRect
public PickedObjectList pickShapesInRect(float x, float y, float width, float height)
Determines the WorldWind shapes displayed in a screen rectangle. The screen rectangle is interpreted as coordinates in Android screen pixels relative to this view.
If the screen rectangle intersects any number of WorldWind shapes, the returned list contains a picked object identifying the all of the top shapes in the rectangle. This picked object includes the shape renderable (or its non-null pick delegate) and the WorldWind layer that displayed the shape. Shapes which are entirely hidden behind another shape in the screen rectangle or are entirely hidden behind terrain in the screen rectangle are omitted from the returned list.
This returns an empty list when no shapes in the WorldWind scene intersect the screen rectangle, when the screen rectangle is outside this View's bounds, or if the OpenGL thread displaying the WorldWindow's scene is paused (or becomes paused while this method is executing).- Parameters:
x
- the screen rectangle's X coordinate in Android screen pixelsy
- the screen rectangle's Y coordinate in Android screen pixelswidth
- the screen rectangle's width in Android screen pixelsheight
- the screen rectangle's height in Android screen pixels- Returns:
- a list of WorldWind shapes in the screen rectangle
-
cartesianToScreenPoint
public boolean cartesianToScreenPoint(double x, double y, double z, android.graphics.PointF result)
Transforms a Cartesian coordinate point to Android screen coordinates. The resultant screen point is in Android screen pixels relative to this View.
This stores the converted point in the result argument, and returns a boolean value indicating whether or not the converted is successful. This returns false if the Cartesian point is clipped by either the WorldWindow's near clipping plane or far clipping plane.- Parameters:
x
- the Cartesian point's x component in metersy
- the Cartesian point's y component in metersz
- the Cartesian point's z component in metersresult
- a pre-allocatedPointF
in which to return the screen point- Returns:
- true if the transformation is successful, otherwise false
- Throws:
java.lang.IllegalArgumentException
- If the result is null
-
geographicToScreenPoint
public boolean geographicToScreenPoint(double latitude, double longitude, double altitude, android.graphics.PointF result)
Transforms a geographic position to Android screen coordinates. The resultant screen point is in Android screen pixels relative to this View.
This stores the converted point in the result argument, and returns a boolean value indicating whether or not the converted is successful. This returns false if the Cartesian point is clipped by either of the WorldWindow's near clipping plane or far clipping plane.- Parameters:
latitude
- the position's latitude in degreeslongitude
- the position's longitude in degreesaltitude
- the position's altitude in metersresult
- a pre-allocatedPointF
in which to return the screen point- Returns:
- true if the transformation is successful, otherwise false
- Throws:
java.lang.IllegalArgumentException
- If the result is null
-
rayThroughScreenPoint
public boolean rayThroughScreenPoint(float x, float y, Line result)
Computes a Cartesian coordinate ray that passes through through a screen point. The screen point is interpreted as coordinates in Android screen pixels relative to this View.- Parameters:
x
- the screen point's X coordinate in Android screen pixelsy
- the screen point's Y coordinate in Android screen pixelsresult
- a pre-allocated Line in which to return the computed ray- Returns:
- the result set to the computed ray in Cartesian coordinates
- Throws:
java.lang.IllegalArgumentException
- If the result is null
-
pixelSizeAtDistance
public double pixelSizeAtDistance(double distance)
Returns the height of a pixel at a given distance from the eye point. This method assumes the model of a screen composed of rectangular pixels, where pixel coordinates denote infinitely thin space between pixels. The units of the returned size are in meters per pixel.
The result of this method is undefined if the distance is negative.- Parameters:
distance
- the distance from the eye point in meters- Returns:
- the pixel height in meters per pixel
-
distanceToViewGlobeExtents
public double distanceToViewGlobeExtents()
Returns the minimum distance from the globe's surface necessary to make the globe's extents visible in this World Window.- Returns:
- the distance in meters needed to view the entire globe
-
requestRedraw
public void requestRedraw()
Request that this WorldWindow update its display. Prior changes to this WorldWindow's Camera, Globe and Layers (including the contents of layers) are reflected on screen sometime after calling this method. May be called from any thread.
-
doFrame
public void doFrame(long frameTimeNanos)
- Specified by:
doFrame
in interfaceandroid.view.Choreographer.FrameCallback
-
queueEvent
@Deprecated public void queueEvent(java.lang.Runnable r)
Deprecated.See Communicating with the UI Thread instead.Queues a runnable to be executed on this WorldWindow's OpenGL thread. Must not be used to affect changes to this WorldWindow's state, including the Camera, Globe and Layers. See the Android developers guide on Communicating with the UI Thread instead.- Overrides:
queueEvent
in classandroid.opengl.GLSurfaceView
- Parameters:
r
- the runnable to execute
-
onSurfaceCreated
public void onSurfaceCreated(javax.microedition.khronos.opengles.GL10 unused, javax.microedition.khronos.egl.EGLConfig config)
Implements the GLSurfaceView.Renderer.onSurfaceChanged interface which is called on the GLThread when the surface is created.- Specified by:
onSurfaceCreated
in interfaceandroid.opengl.GLSurfaceView.Renderer
-
onSurfaceChanged
public void onSurfaceChanged(javax.microedition.khronos.opengles.GL10 unused, int width, int height)
Implements the GLSurfaceView.Renderer.onSurfaceChanged interface which is called on the GLThread when the window size changes.- Specified by:
onSurfaceChanged
in interfaceandroid.opengl.GLSurfaceView.Renderer
-
onDrawFrame
public void onDrawFrame(javax.microedition.khronos.opengles.GL10 unused)
Implements the GLSurfaceView.Renderer.onDrawFrame interface which is called on the GLThread when rendering is requested.- Specified by:
onDrawFrame
in interfaceandroid.opengl.GLSurfaceView.Renderer
-
surfaceCreated
public void surfaceCreated(android.view.SurfaceHolder holder)
Called immediately after the surface is first created, in which case the WorldWindow instance adds itself as a listener to theWorldWind.messageService()
. The WorldWind.messageService is a facility for broadcasting global redraw requests to active WorldWindows.- Specified by:
surfaceCreated
in interfaceandroid.view.SurfaceHolder.Callback
- Overrides:
surfaceCreated
in classandroid.opengl.GLSurfaceView
- Parameters:
holder
- the SurfaceHolder whose surface is being created
-
surfaceDestroyed
public void surfaceDestroyed(android.view.SurfaceHolder holder)
Called immediately before a surface is being destroyed, in which case the WorldWindow instance removes itself fromWorldWind.messageService()
. Failure to do so may result in a memory leak this WorldWindow instance when its owner is release/collected.- Specified by:
surfaceDestroyed
in interfaceandroid.view.SurfaceHolder.Callback
- Overrides:
surfaceDestroyed
in classandroid.opengl.GLSurfaceView
- Parameters:
holder
- the SurfaceHolder whose surface is being destroyed
-
onPause
public void onPause()
Called when the activity is paused. Calling this method will pause the rendering thread, cause any outstanding pick operations to return an empty pick list, and prevent subsequent calls to pick and requestRedraw to return without performing any action.- Overrides:
onPause
in classandroid.opengl.GLSurfaceView
-
onResume
public void onResume()
Called when the activity is resumed. Calling this method will resume the rendering thread and enable subsequent calls to pick and requestRedraw to function normally.- Overrides:
onResume
in classandroid.opengl.GLSurfaceView
-
onTouchEvent
public boolean onTouchEvent(android.view.MotionEvent event)
- Overrides:
onTouchEvent
in classandroid.view.View
-
onMessage
public void onMessage(java.lang.String name, java.lang.Object sender, java.util.Map<java.lang.Object,java.lang.Object> userProperties)
- Specified by:
onMessage
in interfaceMessageListener
-
-