SliceAnalysis can be used to programmatically create a plane that slices through 3D features in a
3D SceneView. A slice takes a SlicePlane
as an input, which can be set through the shape property. If the shape has a tilt angle other than 0
, the angle
is only considered if the tiltEnabled property is set to true
.
const analysis = new SliceAnalysis({
shape: {
type: "plane", // autocasts as new SlicePlane()
position: {
type: "point",
x: -0.1,
y: 51.5
},
width: 50,
height: 50,
tilt: 45
},
tiltEnabled: true
});
view.analyses.add(slice);
SceneView.analyses can contain multiple slice analyses, but only one of these analyses can be active
at a time. When working with multiple slices, set the active
property of a slice view to true
to occlude the parts of the 3D features that are in front of the slice plane.
When a slice view is activated, all other slice views are automatically deactivated.
view.whenAnalysisView(slice).then((sliceView) => {
sliceView.active = true;
});
To place the slice interactively in the view using positioning, scaling and rotation handles, it is recommended to use the Slice widget.
Constructors
-
new SliceAnalysis(properties)
-
Parameter:properties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class | |
---|---|---|---|---|
String | more details The name of the class. | more details | Accessor | |
SlicePlane | more details The shape used to slice elements in a 3D scene. | more details | SliceAnalysis | |
String | more details For SliceAnalysis the type is always "slice". | more details | SliceAnalysis |
Property Details
-
The name of the class. The declared class name is formatted as
esri.folder.className
.
-
shape SlicePlaneautocast
-
The shape used to slice elements in a 3D scene. Currently the only supported shape is a plane.
-
type Stringreadonly
-
For SliceAnalysis the type is always "slice".
Method Overview
Name | Return Type | Summary | Class | |
---|---|---|---|---|
this | more details Creates a deep clone of this object. | more details | SliceAnalysis | |
more details Adds one or more handles which are to be tied to the lifecycle of the object. | more details | Accessor |
Method Details
-
clone(){this}
-
Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.
Returns:Type Description this A deep clone of the class instance that invoked this method.
-
own(handleOrHandles)inheritedSince: ArcGIS API for JavaScript 4.24
-
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.whenOnce(() => !view.updating) .then(() => { wkidSelect.disabled = false; }); handle.remove(); // Assign a handle using own() this.own(reactiveUtils.whenOnce(() => !view.updating) .then(() => { wkidSelect.disabled = false; }));
Parameter:handleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.