Class SceneView
- java.lang.Object
-
- android.view.View
-
- android.view.ViewGroup
-
- com.esri.arcgisruntime.mapping.view.GeoView
-
- com.esri.arcgisruntime.mapping.view.SceneView
-
- All Implemented Interfaces:
android.graphics.drawable.Drawable.Callback
,android.view.accessibility.AccessibilityEventSource
,android.view.KeyEvent.Callback
,android.view.ViewManager
,android.view.ViewParent
public final class SceneView extends GeoView
A SceneView renders the data from anArcGISScene
in an Android layout, and allows users to interact with the scene.SceneView indirectly inherits from android's ViewGroup; in a Model View Controller (MVC) architecture, use it to represent the MVC view, and the
ArcGISScene
to represent the MVC model. You can define the size and layout properties of a SceneView in layout XML, or create it programmatically. In either case, callsetScene
to set the content to be displayed. The SceneView will automatically load the scene, its surface, basemap, operational layers, and display their contents on screen. Refer to theArcGISScene
class for more information.SceneView inherits from
GeoView
and adds 3D specific methods for scene navigation that set the viewpoint on the scene by setting aCamera
. For example,setViewpointCamera(Camera)
. More setViewpointCamera methods are available, including overloads where an animation duration can be specified. UseisNavigating
orNavigationChangedListener
to determine if navigation is ongoing or completed. Once navigation is complete, get the new camera fromgetCurrentViewpointCamera()
.By default, you can pan, zoom, and rotate the scene using a set of standard gestures like double-tap and pinch; for more details see
DefaultSceneViewOnTouchListener
. You can also override standard gestures by creating your own touch listener class. To do this, either implementandroid.view.View.OnTouchListener
, or inherit from DefaultSceneViewOnTouchListener, and pass an instance of your touch listener class tosetOnTouchListener
.- Since:
- 100.1.0
- See Also:
ArcGISScene
,Surface
,Basemap
,Layer
,DefaultSceneViewOnTouchListener
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.esri.arcgisruntime.mapping.view.GeoView
GeoView.InteractionOptions
-
Nested classes/interfaces inherited from class android.view.ViewGroup
android.view.ViewGroup.LayoutParams, android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
-
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.view.ViewGroup
CLIP_TO_PADDING_MASK, FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
-
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_ACCESSIBILITY_ACTION, 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, EMPTY_STATE_SET, ENABLED_FOCUSED_SELECTED_STATE_SET, ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_FOCUSED_STATE_SET, ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, ENABLED_SELECTED_STATE_SET, ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, ENABLED_STATE_SET, ENABLED_WINDOW_FOCUSED_STATE_SET, 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, FOCUSED_SELECTED_STATE_SET, FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, FOCUSED_STATE_SET, FOCUSED_WINDOW_FOCUSED_STATE_SET, 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, PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET, PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_STATE_SET, PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_SELECTED_STATE_SET, PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_ENABLED_STATE_SET, PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_SELECTED_STATE_SET, PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_FOCUSED_STATE_SET, PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET, PRESSED_SELECTED_STATE_SET, PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET, PRESSED_STATE_SET, PRESSED_WINDOW_FOCUSED_STATE_SET, 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, SELECTED_STATE_SET, SELECTED_WINDOW_FOCUSED_STATE_SET, 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, VIEW_LOG_TAG, VISIBLE, WINDOW_FOCUSED_STATE_SET, X, Y, Z
-
-
Constructor Summary
Constructors Constructor Description SceneView(android.content.Context context)
Creates a SceneView using the given Context.SceneView(android.content.Context context, android.util.AttributeSet attrs)
Creates a SceneView using the given Context, called when the SceneView is inflated from XML.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
dispose()
Releases resources.int
getAmbientLightColor()
Gets the color of the ambient light.ListenableList<AnalysisOverlay>
getAnalysisOverlays()
Gets a modifiable list of the analysis overlays.AtmosphereEffect
getAtmosphereEffect()
Gets the atmosphere effect on the scene view.CameraController
getCameraController()
Gets the current camera controller.Camera
getCurrentViewpointCamera()
Gets the current viewpoint camera.double
getFieldOfView()
Gets the field of view on the scene view in degrees.double
getFieldOfViewDistortionRatio()
Returns the value representing how much the vertical field of view is distorted.java.util.List<ImageOverlay>
getImageOverlays()
Gets a modifiable list of overlays for displaying images in the scene view.static long
getMemoryLimit()
Gets the memory limit in bytes, that defines the total amount of memory a process can use to render scene data.ArcGISScene
getScene()
Gets theArcGISScene
displayed in this view.SpaceEffect
getSpaceEffect()
Gets the space effect on the scene view.SpatialReference
getSpatialReference()
Gets the SpatialReference of this GeoView.LightingMode
getSunLighting()
Gets the type of sun lighting applied to the scene view.java.util.Calendar
getSunTime()
Gets the time that indicates the position of the sun.protected void
interactionActivateFlick()
Activates a camera flick by performing an inertia based pan in the direction of the most recent pan operations.protected void
interactionPan(float deltaX, float deltaY)
Pan the scene view relative to the screen point origin, set by calling interactionSetInteractionOrigin.protected void
interactionPitch(double pitchDelta)
Rotate the camera around the origin that's set by interactionSetInteractionOrigin, only the pitch angle of the camera is updated, not the heading.protected void
interactionRotate(double rotationDelta)
Rotate the camera around the origin that's set by interactionSetInteractionOrigin, only the heading angle of the camera is updated, not the pitch.protected void
interactionSetInteracting(boolean interacting)
Sets if the view is being interacted with or not.protected void
interactionSetInteractionOrigin(float x, float y)
Sets the interaction origin screen point, subsequent interactions pass delta changes from this point.protected void
interactionZoomInAnimated(float x, float y)
Animated zoom in used for scene interaction e.g.protected void
interactionZoomOutAnimated(float x, float y)
Animated zoom out used for scene interaction e.g.protected void
interactionZoomToOrigin(double factor)
Zoom the camera towards or away from the origin that's set by interactionSetInteractionOrigin.boolean
isManualRenderingEnabled()
Indicates whether manual rendering is enabled.LocationToScreenResult
locationToScreen(Point location)
Returns the result of converting a scene location to a screen point contained in aLocationToScreenResult
.boolean
onTouchEvent(android.view.MotionEvent event)
void
pause()
Pauses the drawing of the GeoView.void
renderFrame()
Draws the scene based on a user defined pulse.void
resume()
Resumes the drawing of the GeoView that has been paused, restarting the display of the contained ArcGISMap.Point
screenToBaseSurface(android.graphics.Point screenPoint)
Returns the scene location of a screen point on the base surface i.e.ListenableFuture<Point>
screenToLocationAsync(android.graphics.Point screenPoint)
Asynchronously converts a screen coordinate to a location coordinate in the spatial reference of the scene view.void
setAmbientLightColor(int color)
Sets the color of the ambient light.void
setAtmosphereEffect(AtmosphereEffect atmosphereEffect)
Sets the effect to be applied to the scene view's atmosphere.void
setCameraController(CameraController cameraController)
Sets the camera controller.void
setFieldOfView(double angle)
Sets the field of view on the scene view in degrees.void
setFieldOfViewAndDistortionRatio(double fieldOfViewAngle, double distortionRatio)
Sets the field of view on the scene view in degrees and sets the value representing how much the vertical field of view is distorted.void
setFieldOfViewFromLensIntrinsics(float focalLengthX, float focalLengthY, float principalX, float principalY, float imageSizeX, float imageSizeY, DeviceOrientation deviceOrientation)
Sets the field of view of the scene view using characteristics of a camera lens to allow for matching of field of view between them.void
setManualRenderingEnabled(boolean isManualRenderingEnabled)
Sets a boolean that indicates whether manual rendering is enabled or not.static void
setMemoryLimit(long memoryLimitBytes)
Sets a memory limit in bytes, that defines the total amount of memory a process can use to render scene data.void
setOnTouchListener(android.view.View.OnTouchListener onTouchListener)
Sets the listener that handles touch gestures for this SceneView.void
setScene(ArcGISScene scene)
Sets theArcGISScene
to be displayed in this view.void
setSpaceEffect(SpaceEffect spaceEffect)
Sets the effect to be applied to the scene view's background.void
setSunLighting(LightingMode lightingMode)
Sets the type of sun lighting to be applied to the scene view.void
setSunTime(java.util.Calendar sunTime)
Sets the position of the sun based on time.void
setViewpointCamera(Camera camera)
Sets the viewpoint based on the given camera.ListenableFuture<java.lang.Boolean>
setViewpointCameraAsync(Camera camera)
Sets the viewpoint asynchronously, based on the given camera.ListenableFuture<java.lang.Boolean>
setViewpointCameraAsync(Camera camera, float animationDuration)
Sets the viewpoint asynchronously with a specified animation duration.void
setZOrderMediaOverlay(boolean isMediaOverlay)
Deprecated.as of 100.8.0, it is no longer necessary to set z order to support media overlays so this method now does nothing-
Methods inherited from class com.esri.arcgisruntime.mapping.view.GeoView
addAttributionTextChangedListener, addAttributionViewLayoutChangeListener, addDrawStatusChangedListener, addLayerViewStateChangedListener, addNavigationChangedListener, addSpatialReferenceChangedListener, addTimeExtentChangedListener, addViewpointChangedListener, collapseAttributionBar, exportImageAsync, getAttributionText, getCurrentViewpoint, getDrawStatus, getGraphicsOverlays, getLabeling, getLayerViewState, getSelectionProperties, getTimeExtent, getViewStateForLayer, identifyGraphicsOverlayAsync, identifyGraphicsOverlayAsync, identifyGraphicsOverlaysAsync, identifyGraphicsOverlaysAsync, identifyLayerAsync, identifyLayerAsync, identifyLayersAsync, identifyLayersAsync, isAttributionTextVisible, isNavigating, isWrapAroundEnabled, removeAttributionTextChangedListener, removeAttributionViewLayoutChangeListener, removeDrawStatusChangedListener, removeLayerViewStateChangedListener, removeNavigationChangedListener, removeSpatialReferenceChangedListener, removeTimeExtentChangedListener, removeViewpointChangedListener, setAttributionTextVisible, setBookmarkAsync, setLabeling, setTimeExtent, setViewpoint, setViewpointAsync, setViewpointAsync
-
Methods inherited from class android.view.ViewGroup
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, addViewInLayout, addViewInLayout, attachLayoutAnimationParameters, attachViewToParent, bringChildToFront, canAnimate, checkLayoutParams, childDrawableStateChanged, childHasTransientStateChanged, cleanupLayoutState, clearChildFocus, clearDisappearingChildren, clearFocus, debug, detachAllViewsFromParent, detachViewFromParent, detachViewFromParent, detachViewsFromParent, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchCreateViewTranslationRequest, dispatchDisplayHint, dispatchDragEvent, dispatchDraw, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchFreezeSelfOnly, dispatchGenericFocusedEvent, dispatchGenericPointerEvent, dispatchHoverEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchRestoreInstanceState, dispatchSaveInstanceState, dispatchScrollCaptureSearch, dispatchSetActivated, dispatchSetPressed, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchThawSelfOnly, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchVisibilityChanged, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableStateChanged, drawChild, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, generateDefaultLayoutParams, generateLayoutParams, generateLayoutParams, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildDrawingOrder, getChildMeasureSpec, getChildStaticTransformation, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isChildrenDrawingOrderEnabled, isChildrenDrawnWithCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, measureChild, measureChildren, measureChildWithMargins, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onAttachedToWindow, onCreateDrawableState, onDescendantInvalidated, onDetachedFromWindow, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestFocusInDescendants, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeDetachedView, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setChildrenDrawingCacheEnabled, setChildrenDrawingOrderEnabled, setChildrenDrawnWithCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setStaticTransformationsEnabled, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, shouldDelayChildPressedState, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
-
Methods inherited from class android.view.View
addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, awakenScrollBars, awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearViewTranslationCallback, combineMeasuredStates, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeSystemWindowInsets, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, fitSystemWindows, focusSearch, forceHasOverlappingRendering, forceLayout, generateDisplayHash, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getBottomFadingEdgeStrength, getBottomPaddingOffset, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getContextMenuInfo, 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, getHorizontalScrollbarHeight, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLeftPaddingOffset, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getReceiveContentMimeTypes, getResources, getRevealOnFocusHint, getRight, getRightFadingEdgeStrength, getRightPaddingOffset, getRootSurfaceControl, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollCaptureHint, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSuggestedMinimumHeight, getSuggestedMinimumWidth, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTopFadingEdgeStrength, getTopPaddingOffset, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTranslationResponse, getViewTreeObserver, getVisibility, getWidth, getWindowAttachCount, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, 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, isPaddingOffsetRequired, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, mergeDrawableStates, offsetLeftAndRight, offsetTopAndBottom, onAnimationEnd, onAnimationStart, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onConfigurationChanged, onCreateContextMenu, onCreateInputConnection, onCreateViewTranslationRequest, onCreateVirtualViewTranslationRequests, onDisplayHint, onDragEvent, onDraw, onDrawForeground, onDrawScrollBars, onFilterTouchEventForSecurity, onFinishInflate, onFinishTemporaryDetach, onFocusChanged, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onOverScrolled, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onReceiveContent, onRestoreInstanceState, onRtlPropertiesChanged, onSaveInstanceState, onScreenStateChanged, onScrollCaptureSearch, onScrollChanged, onSetAlpha, onSizeChanged, onStartTemporaryDetach, onTrackballEvent, onViewTranslationResponse, onVirtualViewTranslationResponses, onVisibilityAggregated, onVisibilityChanged, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, onWindowVisibilityChanged, overScrollBy, 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, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAllowClickWhenDisabled, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, 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, setMeasuredDimension, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnReceiveContentListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, 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, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, verifyDrawable, willNotCacheDrawing, willNotDraw
-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface android.view.ViewParent
canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
-
-
-
-
Constructor Detail
-
SceneView
public SceneView(android.content.Context context)
Creates a SceneView using the given Context. Call this constructor when creating a SceneView programmatically.- Parameters:
context
- the Context the view is running in- Since:
- 100.1.0
-
SceneView
public SceneView(android.content.Context context, android.util.AttributeSet attrs)
Creates a SceneView using the given Context, called when the SceneView is inflated from XML.- Parameters:
context
- the Context the view is running inattrs
- the attributes of the XML tag that is inflating the view- Since:
- 100.1.0
-
-
Method Detail
-
dispose
public void dispose()
Description copied from class:GeoView
Releases resources. Call this when you are finished with a view.
-
pause
public void pause()
Description copied from class:GeoView
Pauses the drawing of the GeoView.This can be used to save resources when your application is minimized for example. Call this in the parent activity's onPause method. Ensure you have a corresponding call to
GeoView.resume()
.
-
resume
public void resume()
Description copied from class:GeoView
Resumes the drawing of the GeoView that has been paused, restarting the display of the contained ArcGISMap. You can call this in the parent activity's onResume method, after a corresponding call toGeoView.pause()
.
-
isManualRenderingEnabled
public boolean isManualRenderingEnabled()
Indicates whether manual rendering is enabled. If set to true, the SceneView won't use its own pulse mechanism to draw the scene. The user of the SceneView will have to callrenderFrame()
to cause the SceneView to draw.- Returns:
- a boolean that indicates whether manual rendering is enabled or not, the default is false
- Since:
- 100.6.0
-
setManualRenderingEnabled
public void setManualRenderingEnabled(boolean isManualRenderingEnabled)
Sets a boolean that indicates whether manual rendering is enabled or not. If set to true, the SceneView won't use its own pulse mechanism to draw the scene. The user of the SceneView will have to callrenderFrame()
to cause the SceneView to draw.- Parameters:
isManualRenderingEnabled
- indicates whether manual rendering is enabled or not- Since:
- 100.6.0
-
renderFrame
public void renderFrame()
Draws the scene based on a user defined pulse. In order for this method to have any effect,setManualRenderingEnabled(boolean)
has to be set to true.- Since:
- 100.6.0
-
getMemoryLimit
public static long getMemoryLimit()
Gets the memory limit in bytes, that defines the total amount of memory a process can use to render scene data. Note, the default value is determined upon initialization of the first SceneView instance that is being created by the process. Before any SceneView instance has been created, zero is returned. For some use cases you might want to choose to set a custom limit. SeesetMemoryLimit(long)
for details.The default value is determined as follows:
- If
ActivityManager.getLargeMemoryClass()
is greater than 1 gigabyte, this value is used. - Otherwise, check whether 45% of total system memory (
ActivityManager.MemoryInfo.totalMem
) is less than 1 gigabyte. If so, this value is used. - Otherwise, use 1 gigabyte as the memory limit.
- Returns:
- the memory limit in bytes, that defines the total amount of memory a process can use to render scene data
- Since:
- 100.3.0
- If
-
setMemoryLimit
public static void setMemoryLimit(long memoryLimitBytes)
Sets a memory limit in bytes, that defines the total amount of memory a process can use to render scene data.The memory limit is set by default and this should be sufficient for most use cases. For more details of how the default limit is determined see
getMemoryLimit()
. For some use cases you might want to choose to override the default to increase or reduce the limit. In this case, you need to set this value before instantiating any SceneView objects. If you choose to override this limit it is recommended to take into account the device's recommended memory limits that can be obtained fromActivityManager.getLargeMemoryClass()
.- Parameters:
memoryLimitBytes
- the memory limit in bytes, that defines the total amount of memory a process can use to render scene data- Throws:
java.lang.IllegalArgumentException
- if memoryLimitBytes is zero or negative- Since:
- 100.3.0
-
getAnalysisOverlays
public ListenableList<AnalysisOverlay> getAnalysisOverlays()
Gets a modifiable list of the analysis overlays. Add or remove analysis overlays from this list to modify what is displayed. The list returned can be empty but not null. You can add listeners to this list to monitor changes to the list.An analysis overlay can only be in the list once.
- Returns:
- the analysis overlays
- Since:
- 100.2.0
-
getSpatialReference
public SpatialReference getSpatialReference()
Description copied from class:GeoView
Gets the SpatialReference of this GeoView. TheSpatialReference
of a GeoView defines how the coordinates of the data correspond to locations in the real world.- Specified by:
getSpatialReference
in classGeoView
- Returns:
- the SpatialReference of this GeoView, can be null
- See Also:
GeoModel.getSpatialReference()
,Layer.getSpatialReference()
-
onTouchEvent
public boolean onTouchEvent(android.view.MotionEvent event)
- Overrides:
onTouchEvent
in classandroid.view.View
-
setOnTouchListener
public void setOnTouchListener(android.view.View.OnTouchListener onTouchListener)
Sets the listener that handles touch gestures for this SceneView. For more information about the default gestures, seeDefaultSceneViewOnTouchListener
.To change the way that the SceneView responds to default gestures, for example by performing an
identify
on a single-tap, or disabling interactive panning, use this method to set a custom touch listener onto the SceneView.The easiest way to change only some of the default gestures is to create a custom touch listener that inherits DefaultSceneViewOnTouchListener, and override only the methods you want to change. Alternatively, directly implement the
android.view.View.OnTouchListener
interface, and provide the behaviour for all touch events. Then pass an instance to this method to replace the default listener with your custom listener.- Overrides:
setOnTouchListener
in classandroid.view.View
- Parameters:
onTouchListener
- the new listener that will handle touch events for this SceneView- Throws:
java.lang.IllegalArgumentException
- if onTouchListener is null- Since:
- 100.1.0
-
setZOrderMediaOverlay
@Deprecated public void setZOrderMediaOverlay(boolean isMediaOverlay)
Deprecated.as of 100.8.0, it is no longer necessary to set z order to support media overlays so this method now does nothingControls whether the SceneView is placed on top of another SceneView, MapView, or SurfaceView in the window (but still behind the window itself). This could be used to place a SceneView on top of a MapView for example. Note that this must be set before the SceneView's containing window is attached to the window manager.- Parameters:
isMediaOverlay
- true if this SceneView is placed on top of another regular surface view, otherwise false- Since:
- 100.2.0
-
getScene
public ArcGISScene getScene()
Gets theArcGISScene
displayed in this view.Setting a non-loaded scene to a view starts the load process of the scene so the scene can be displayed once loaded.
- Returns:
- the ArcGISScene
- Since:
- 100.1.0
-
setScene
public void setScene(ArcGISScene scene)
Sets theArcGISScene
to be displayed in this view.Setting a non-loaded scene to a view starts the load process of the scene so the scene can be displayed once loaded.
- Parameters:
scene
- the new ArcGISScene, can be null- Since:
- 100.1.0
-
getAmbientLightColor
public int getAmbientLightColor()
Gets the color of the ambient light.- Returns:
- an integer representing the color of the ambient light as 0xAARRGGBB
- Since:
- 100.1.0
-
setAmbientLightColor
public void setAmbientLightColor(int color)
Sets the color of the ambient light.- Parameters:
color
- the color of the ambient light as 0xAARRGGBB- Since:
- 100.1.0
-
getAtmosphereEffect
public AtmosphereEffect getAtmosphereEffect()
Gets the atmosphere effect on the scene view. The default value isAtmosphereEffect.HORIZON_ONLY
.- Returns:
- the atmosphere effect on the scene view
- Since:
- 100.1.0
-
setAtmosphereEffect
public void setAtmosphereEffect(AtmosphereEffect atmosphereEffect)
Sets the effect to be applied to the scene view's atmosphere.- Parameters:
atmosphereEffect
- the atmosphere effect- Throws:
java.lang.IllegalArgumentException
- if atmosphereEffect is null- Since:
- 100.1.0
-
getCurrentViewpointCamera
public Camera getCurrentViewpointCamera()
Gets the current viewpoint camera.- Returns:
- the current viewpoint camera
- Since:
- 100.1.0
-
setViewpointCamera
public void setViewpointCamera(Camera camera)
Sets the viewpoint based on the given camera.- Parameters:
camera
- the camera to set- Throws:
java.lang.IllegalArgumentException
- if camera is null- Since:
- 100.1.0
-
setViewpointCameraAsync
public ListenableFuture<java.lang.Boolean> setViewpointCameraAsync(Camera camera)
Sets the viewpoint asynchronously, based on the given camera. This method uses the standard animation duration; alternatively usesetViewpointCameraAsync(Camera, float)
to control the animation duration.- Parameters:
camera
- the new viewpoint camera- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result. Add a listener to the future to be notified when animation is finished. The result of the future indicates if the operation completed successfully (true) or has been interrupted before the given camera location has been reached (false), for example if the user interrupts the animation by interacting with the SceneView.
- Throws:
java.lang.IllegalArgumentException
- if the camera is null- Since:
- 100.1.0
-
setViewpointCameraAsync
public ListenableFuture<java.lang.Boolean> setViewpointCameraAsync(Camera camera, float animationDuration)
Sets the viewpoint asynchronously with a specified animation duration.- Parameters:
camera
- the new viewpoint cameraanimationDuration
- the animation duration in seconds- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result. Add a listener to the future to be notified when animation is finished. The result of the future indicates if the operation completed successfully (true) or has been interrupted before the given camera location has been reached (false), for example if the user interrupts the animation by interacting with the SceneView.
- Throws:
java.lang.IllegalArgumentException
- if the camera is null- Since:
- 100.1.0
-
getSunLighting
public LightingMode getSunLighting()
Gets the type of sun lighting applied to the scene view.- Returns:
- the type of sun lighting, default is
LightingMode.NO_LIGHT
- Since:
- 100.1.0
-
setSunLighting
public void setSunLighting(LightingMode lightingMode)
Sets the type of sun lighting to be applied to the scene view. Note thatLightingMode.LIGHT_AND_SHADOWS
is currently not supported on Android and behaves the same as settingLightingMode.LIGHT
.- Parameters:
lightingMode
- the lighting mode to be applied for this scene view- Throws:
java.lang.IllegalArgumentException
- if lightingMode is null- Since:
- 100.1.0
- See Also:
setSunTime(java.util.Calendar)
-
getSunTime
public java.util.Calendar getSunTime()
Gets the time that indicates the position of the sun.- Returns:
- the time that indicates the position of the sun, default is Fri Sep 22 2000 12:00:00 GMT+0000.
- Since:
- 100.1.0
-
setSunTime
public void setSunTime(java.util.Calendar sunTime)
Sets the position of the sun based on time.- Parameters:
sunTime
- the time to use to calculate the sun's position- Throws:
java.lang.IllegalArgumentException
- if sunTime is null- Since:
- 100.1.0
- See Also:
setSunLighting(com.esri.arcgisruntime.mapping.view.LightingMode)
-
locationToScreen
public LocationToScreenResult locationToScreen(Point location)
Returns the result of converting a scene location to a screen point contained in aLocationToScreenResult
.- Parameters:
location
- the scene location to convert to a screen point- Returns:
- the location to screen result
- Throws:
java.lang.IllegalArgumentException
- if location is null- Since:
- 100.1.0
-
screenToBaseSurface
public Point screenToBaseSurface(android.graphics.Point screenPoint)
Returns the scene location of a screen point on the base surface i.e. ignoring any elevation.- Parameters:
screenPoint
- the screen point- Returns:
- the scene location on the base surface
- Throws:
java.lang.IllegalArgumentException
- if screenPoint is null- Since:
- 100.1.0
-
screenToLocationAsync
public ListenableFuture<Point> screenToLocationAsync(android.graphics.Point screenPoint)
Asynchronously converts a screen coordinate to a location coordinate in the spatial reference of the scene view.This is a high performance calculation executed on the GPU using a triangular mesh. Note that elevation values are approximated, and as the distance between the camera and the surface increases, the precision of the elevation value decreases.
- Parameters:
screenPoint
- the screen point to use- Returns:
- a ListenableFuture for tracking when the operation is done and getting the result
- Throws:
java.lang.IllegalArgumentException
- if screenPoint is null- Since:
- 100.1.0
-
setCameraController
public void setCameraController(CameraController cameraController)
Sets the camera controller. The default is an instance ofGlobeCameraController
.- Parameters:
cameraController
- camera controller- Throws:
java.lang.IllegalArgumentException
- if cameraController is null- Since:
- 100.1.0
-
getCameraController
public CameraController getCameraController()
Gets the current camera controller. The default is an instance ofGlobeCameraController
.- Returns:
- the current camera controller
- Since:
- 100.1.0
-
getSpaceEffect
public SpaceEffect getSpaceEffect()
Gets the space effect on the scene view. The default value is SpaceEffect.STARS.- Returns:
- the space effect on the scene view
- Since:
- 100.6.0
-
setSpaceEffect
public void setSpaceEffect(SpaceEffect spaceEffect)
Sets the effect to be applied to the scene view's background. Can be used for Augmented Reality functionality to allow a View underneath the SceneView to be visible to the user.- Parameters:
spaceEffect
- the space effect- Throws:
java.lang.IllegalArgumentException
- if spaceEffect is null- Since:
- 100.6.0
-
getFieldOfView
public double getFieldOfView()
Gets the field of view on the scene view in degrees.- Returns:
- the field of view in degrees
- Since:
- 100.6.0
-
setFieldOfView
public void setFieldOfView(double angle)
Sets the field of view on the scene view in degrees. This value must be greater than 0.0 and less than or equal to 120.0.- Parameters:
angle
- the field of view in degrees. This value must be greater than 0.0 and less than or equal to 120.0- Throws:
java.lang.IllegalArgumentException
- if value is not greater thanDouble.MIN_VALUE
and less than or equal to 120.0- Since:
- 100.6.0
-
getFieldOfViewDistortionRatio
public double getFieldOfViewDistortionRatio()
Returns the value representing how much the vertical field of view is distorted. A distortion factor of 1.0 is default. A distortion factor less than 1.0 will cause the visuals to be stretched taller in comparison to their width. A distortion factor greater than 1.0 will cause the visuals to be shrunk shorter in comparison to their width.- Returns:
- the value representing how much the vertical field of view is distorted
- Since:
- 100.6.0
- See Also:
setFieldOfViewAndDistortionRatio(double, double)
-
setFieldOfViewAndDistortionRatio
public void setFieldOfViewAndDistortionRatio(double fieldOfViewAngle, double distortionRatio)
Sets the field of view on the scene view in degrees and sets the value representing how much the vertical field of view is distorted. A distortion factor of 1.0 is default. A distortion factor less than 1.0 will cause the visuals to be stretched taller in comparison to their width. A distortion factor greater than 1.0 will cause the visuals to be shrunk shorter in comparison to their width.- Parameters:
fieldOfViewAngle
- the field of view in degrees. This value must be greater than 0.0 and less than or equal to 120.0distortionRatio
- the distortion ratio. Must be between 0.1 and 10.0.- Throws:
java.lang.IllegalArgumentException
- if fieldOfViewAngle is not greater thanDouble.MIN_VALUE
and less than or equal to 120.0java.lang.IllegalArgumentException
- if distortionRatio is not in range of 0.1 and 10.0- Since:
- 100.6.0
-
getImageOverlays
public java.util.List<ImageOverlay> getImageOverlays()
Gets a modifiable list of overlays for displaying images in the scene view.An image overlay collection cannot belong to more that one SceneView. If the collection contains multiple image overlays, they display in the order in which they were added to the collection. So the first overlay in the collection (at index 0) displays at the bottom and each one that follows displays on top of the previous ones. If the SceneView also has a GraphicsOverlay, it displays on top of the ImageOverlay.
- Returns:
- the image overlays
- Since:
- 100.8.0
-
setFieldOfViewFromLensIntrinsics
public void setFieldOfViewFromLensIntrinsics(float focalLengthX, float focalLengthY, float principalX, float principalY, float imageSizeX, float imageSizeY, DeviceOrientation deviceOrientation)
Sets the field of view of the scene view using characteristics of a camera lens to allow for matching of field of view between them.- Parameters:
focalLengthX
- the pixel focal length along the x axis. The units are in pixels. focalLengthX and focalLengthY should be identical for square pixels.focalLengthY
- the pixel focal length along the y axis. The units are in pixels. focalLengthX and focalLengthY should be identical for square pixels.principalX
- the distance along the x axis between the principal point and the top-left corner of the image frame. The units are in pixels.principalY
- the distance along the y axis between the principal point and the top-left corner of the image frame. The units are in pixels.imageSizeX
- the x value of the image size captured by the camera. The units are in pixels.imageSizeY
- the y value of the image size captured by the camera. The units are in pixels.deviceOrientation
- describes the orientation of the device.- Throws:
java.lang.IllegalArgumentException
- if focalLengthX is not greater thanDouble.MIN_VALUE
java.lang.IllegalArgumentException
- if focalLengthY is not greater thanDouble.MIN_VALUE
java.lang.IllegalArgumentException
- if principalX is not greater thanDouble.MIN_VALUE
or is greater than imageSizeXjava.lang.IllegalArgumentException
- if principalY is not greater thanDouble.MIN_VALUE
or is greater than imageSizeYjava.lang.IllegalArgumentException
- if imageSizeX is not greater thanDouble.MIN_VALUE
java.lang.IllegalArgumentException
- if imageSizeY is not greater thanDouble.MIN_VALUE
java.lang.IllegalArgumentException
- if deviceOrientation is null- Since:
- 100.6.0
-
interactionSetInteractionOrigin
protected final void interactionSetInteractionOrigin(float x, float y)
Sets the interaction origin screen point, subsequent interactions pass delta changes from this point.- Parameters:
x
- the x value of the screen coordinatey
- the y value of the screen coordinate- Since:
- 100.1.0
-
interactionZoomInAnimated
protected final void interactionZoomInAnimated(float x, float y)
Animated zoom in used for scene interaction e.g. double tap.- Parameters:
x
- the x value of the screen coordinate to zoom in ony
- the y value of the screen coordinate to zoom in on- Since:
- 100.1.0
-
interactionZoomOutAnimated
protected final void interactionZoomOutAnimated(float x, float y)
Animated zoom out used for scene interaction e.g. multi-pointer tap tap.- Parameters:
x
- the x value of the screen coordinate to zoom out ony
- the y value of the screen coordinate to zoom out on- Since:
- 100.1.0
-
interactionPan
protected final void interactionPan(float deltaX, float deltaY)
Pan the scene view relative to the screen point origin, set by calling interactionSetInteractionOrigin.- Parameters:
deltaX
- the x delta in screen coordinatesdeltaY
- the y delta in screen coordinates- Since:
- 100.1.0
-
interactionPitch
protected final void interactionPitch(double pitchDelta)
Rotate the camera around the origin that's set by interactionSetInteractionOrigin, only the pitch angle of the camera is updated, not the heading.- Parameters:
pitchDelta
- change in pitch- Since:
- 100.1.0
-
interactionRotate
protected final void interactionRotate(double rotationDelta)
Rotate the camera around the origin that's set by interactionSetInteractionOrigin, only the heading angle of the camera is updated, not the pitch.- Parameters:
rotationDelta
- change in heading- Since:
- 100.1.0
-
interactionZoomToOrigin
protected final void interactionZoomToOrigin(double factor)
Zoom the camera towards or away from the origin that's set by interactionSetInteractionOrigin.- Parameters:
factor
- the factor to zoom by- Since:
- 100.1.0
-
interactionActivateFlick
protected final void interactionActivateFlick()
Activates a camera flick by performing an inertia based pan in the direction of the most recent pan operations.This method triggers an automated inertia based pan as a result of previous calls to interactionSetInteractionOrigin and interactionPan. The direction and velocity of the inertia is calculated using a weighted average of the most recent pan operations. Note that flick will not activate if there were no recent pan operations or the velocity of those pans were deemed too slow.
- Since:
- 100.1.0
-
interactionSetInteracting
protected final void interactionSetInteracting(boolean interacting)
Sets if the view is being interacted with or not.- Parameters:
interacting
- true to indicate interaction is happening, otherwise false- Since:
- 100.1.0
-
-