require(["esri/webscene/Slide"], function(Slide) { /* code goes here */ });
Class: esri/webscene/Slide
Inheritance: Slide Accessor
Since: ArcGIS API for JavaScript 4.0

A slide stores a snapshot of several pre-set properties of the WebScene and SceneView, such as the basemap, viewpoint and visible layers. The visible layers may contain references (by Layer) to both operational layers from the scene as well as elevation layers from the ground, which affect the surface elevation.

Slides contain additional metadata such as a title, description and thumbnail which may be used to present the slide to the user in a user interface. Slides can be created, updated and applied to a SceneView. Additionally, slides can be stored as part of the WebScene.presentation.

See also:
Example:
// Create a slide from a view and apply it at a later time
Slide.createFrom(view).then(function(slide) {
  // Add slide to the scene presentation
  scene.presentation.slides.add(slide);
});

// At a later time
var firstSlide = scene.presentation.slides.getItemAt(0);

firstSlide.applyTo(view).then(function() {
  // Slide has been successfully applied to the view
});

Constructors

new Slide(properties)

Create a new slide instance. Usually Slide.createFrom is used instead to create a new slide which stores a snapshot of the view.

Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
Basemap | String

The basemap of the scene.

more details
more detailsSlide
String

The name of the class.

more details
more detailsAccessor
Accessor

The description of the slide.

more details
more detailsSlide
Environment

Represents settings that affect the environment in which the WebScene is displayed (such as lighting).

more details
more detailsSlide
String

The unique id of a slide within the slides property of a Presentation.

more details
more detailsSlide
Accessor

A data URI encoded thumbnail.

more details
more detailsSlide
Accessor

The title of the slide.

more details
more detailsSlide
Viewpoint

The viewpoint of the slide.

more details
more detailsSlide
Collection<Accessor>

The visible layers of the scene.

more details
more detailsSlide

Property Details

The basemap of the scene. Only the base and reference layers of the basemap are stored in a slide.

This value can be an instance of Basemap or one of the strings listed in the table below.

ValueDescription
streetsbasemap-streets
satellitebasemap-satellite
hybridbasemap-hybrid
topobasemap-topo
graybasemap-gray
dark-graybasemap-dark-gray
oceansbasemap-oceans
national-geographicbasemap-national-geographic
terrainbasemap-terrain
osmbasemap-osm

declaredClassStringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

descriptionAccessor

The description of the slide.

Property:
text String
optional

The description.

Represents settings that affect the environment in which the WebScene is displayed (such as lighting).

The unique id of a slide within the slides property of a Presentation.

thumbnailAccessor

A data URI encoded thumbnail.

Property:
url String
optional

The URI pointing to the thumbnail image representing the slide.

The title of the slide.

Property:
text String
optional

The title.

The viewpoint of the slide. This acts like a bookmark, saving a predefined location or point of view from which to view the scene.

The visible layers of the scene. This is a collection of objects that stores references (by ID) to the scene layers and ground layers that are set as visible when a slide is applied to a SceneView.

When assigning visible layers, the following types of values will be automatically casted:

The specification for each object in the collection is outlined in the table below.

Property:

The ID of a layer in the WebScene or Ground that is made visible in the SceneView when the slide is applied to the view.

Example:
// Update the visible layers to the second layer in the scene, and the
// first elevation layer in the ground.
slide.visibleLayers = [
  { id: scene.layers.getItemAt(1).id }
  { id: scene.ground.layers.getItemAt(0).id }
];

// Equivalent using convenience autocasting
slide.visibleLayers = [scene.layers.getItemAt(0), scene.ground.layers.getItemAt(0)];

Method Overview

NameReturn TypeSummaryClass
Promise<Slide>

Applies a slide's settings to a SceneView.

more details
more detailsSlide
Slide

Creates a deep clone of this object.

more details
more detailsSlide
Promise<Slide>

Creates a slide from a SceneView, which may be added to the slides in the WebScene's presentation.

more details
more detailsSlide
Promise<Slide>

Updates a slide from a WebScene's slides.

more details
more detailsSlide

Method Details

applyTo(view, options){Promise<Slide>}

Applies a slide's settings to a SceneView.

Parameters:

The SceneView the slide should be applied to.

options Object
optional

Animation options. See properties below for object specifications.

Specification:
animate Boolean

Indicates whether to animate the slide transition. Default is true.

speedFactor Number
optional

Increases or decreases the animation speed by the specified factor. A speedFactor of 2 will make the animation twice as fast, while a speedFactor of 0.5 will make the animation half as fast. Setting the speed factor will automatically adapt the default maxDuration accordingly.
Default Value: 1

duration Number
optional

Set the exact duration (in milliseconds) of the animation. Note that by default, animation duration is calculated based on the time required to reach the target at a constant speed. Setting duration overrides the speedFactor option. Note that the resulting duration is still limited to the maxDuration.

maxDuration Number
optional

The maximum allowed duration (in milliseconds) of the animation. The default maxDuration value takes the specified speedFactor into account.
Default Value: 8000 / speedFactor

optional

The easing function to use for the animation. This may either be a preset (named) function, or a user specified function. Supported named presets are: linear, in-cubic, out-cubic, in-out-cubic, in-expo, out-expo, in-out-expo
By default, animations that are less than 1000 ms use an out easing function; longer animations use an in-out function.

Returns:
TypeDescription
Promise< Slide>When resolved, returns the updated slide.
Examples:
// Applies the slide's settings to the view, but does
// not use animation when updating the viewpoint
slide.applyTo(view, {
  animate: false
});
// Applies the slide's settings to the view, animates with a maximum
// duration of 2 seconds.
slide.applyTo(view, {
  maxDuration: 2000
});
slide.applyTo(view, {
  maxDuration: 2000
}).then(function(){
 //do something after applying the slide's settings to the view
});

clone(){Slide}

Creates a deep clone of this object. Note that the basemap instance is cloned, but the layers within the basemap are copied.

Returns:
TypeDescription
SlideA new Slide instance.

createFrom(view, options){Promise<Slide>}static

Creates a slide from a SceneView, which may be added to the slides in the WebScene's presentation. Updating the slide is asynchronous and a snapshot of the view is only complete once the returned promise has resolved.

Parameters:

The SceneView from which the slide should be created.

options Object
optional

Creation options. See properties below for object specifications.

Parameters:
screenshot Object

Screenshot options to use. See properties below for object specifications.

Specification:
format String

The image format. Default is jpeg.

quality Number

The image quality (due to compression). Default is 80.

width Number

The image width. Default is 112.

height Number

The image height. Default is 61.

Returns:
TypeDescription
Promise< Slide>When resolved, returns the created slide.
Examples:
// Creates a slide from the view and
// adds it to the webscene
Slide.createFrom(view).then(function(slide){
  webscene.presentation.slides.add(slide);
});
// Create multiple slides from multiple viewpoints.
view.goTo({ heading: 0 }, { animate: false })
  .then(function() {
    // Create first slide at heading 0 (looking north)
    return Slide.createFrom(view);
  })
  .then(function(slide){
    // Slide has been captured, add to presentation
    webscene.presentation.slides.add(slide);

    // Change viewpoint to look east
    return view.goTo({ heading: 90 }, { animate: false });
  })
  .then(function() {
    // Capture second slide
    return Slide.createFrom(view);
  })
  .then(function(slide) {
    // Add second slide to presentation
    webscene.presentation.slides.add(slide);
  });

updateFrom(view, options){Promise<Slide>}

Updates a slide from a WebScene's slides. Updating the slide is asynchronous and a snapshot of the view is only complete once the returned promise has resolved.

Parameters:

The SceneView from which the slide should update.

options Object
optional

Update options. See properties below for object specifications.

Parameters:
screenshot Object

Screenshot options to use. See properties below for object specifications.

Specification:
format String

The image format. Default is jpeg.

quality Number

The image quality (due to compression). Default is 80.

width Number

The image width. Default is 120.

height Number

The image height. Default is 75.

Returns:
TypeDescription
Promise< Slide>When resolved, returns the updated slide.

API Reference search results

NameTypeModule

There were no match results from your search criteria.