ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping.Voxel Namespace / SliceDefinition Class
Members Example

In This Topic
    SliceDefinition Class
    In This Topic
    Represents the definition of a Slice. Refer to ArcGIS.Desktop.Mapping.VoxelLayer
    Object Model
    SliceDefinition ClassSliceDefinition ClassVoxelLayer ClassCoordinate3D StructureCoordinate3D Structure
    Syntax
    public class SliceDefinition 
    Public Class SliceDefinition 
    Remarks
    A slice is a plane that cuts the voxel volume. Use slices to define an area of interest within a voxel.
    Example
    Get/Set Selected Voxel Assets from the TOC
    var surfaces = MapView.Active.GetSelectedIsosurfaces();
    //set selected w/ MapView.Active.SelectVoxelIsosurface(isoSurface)
    var slices = MapView.Active.GetSelectedSlices();
    //set selected w/ MapView.Active.SelectVoxelSlice(slice)
    var sections = MapView.Active.GetSelectedSections();
    //set selected w/ MapView.Active.SelectVoxelSection(section)
    var locked_sections = MapView.Active.GetSelectedLockedSections();
    //set selected w/ MapView.Active.SelectVoxelLockedSection(locked_section)
    
    Get the Collection of Slices
    //var voxelLayer = ... ;
    //Must be on the QueuedTask.Run()
    
    //At 2.x - var slices = voxelLayer.GetSlices();
    
    //Use the SelectedVariableProfile to get the slices currently in the TOC
    //via its associated volume
    var volume = voxelLayer.SelectedVariableProfile.Volume;
    var slices = volume.GetSlices();
    
    //Do something... e.g. make them visible
    foreach (var slice in slices)
    {
        slice.IsVisible = true;
        //at 2.x - voxelLayer.UpdateSlice(slice);
        volume.UpdateSlice(slice);
    }
    
    //expand the slice container and make sure container visibility is true
    voxelLayer.SetSliceContainerExpanded(true);
    voxelLayer.SetSliceContainerVisibility(true);
    
    Get a Slice
    //var voxelLayer = ... ;
    //Must be on the QueuedTask.Run()
    
    //At 2.x -
    //var slice = voxelLayer.GetSlices().FirstOrDefault();
    //var slice2 = voxelLayer.GetSlices().First(s => s.Id == my_slice_id);
    
    //Use the SelectedVariableProfile to get the slices currently in the TOC
    //via its associated volume
    var volume = voxelLayer.SelectedVariableProfile.Volume;
    var slice = volume.GetSlices().FirstOrDefault();
    var slice2 = volume.GetSlices().First(s => s.Id == my_slice_id);
    
    Get Selected Slice in TOC
    //Must be on the QueuedTask.Run()
    
    var slice = MapView.Active?.GetSelectedSlices()?.FirstOrDefault();
          if (slice != null)
          {
    
          }
    
    Get Voxel Layer for the Selected Slice in TOC
    //Must be on the QueuedTask.Run()
    
    VoxelLayer voxelLayer = null;
    var slice = MapView.Active?.GetSelectedSlices()?.FirstOrDefault();
    if (slice != null)
    {
        voxelLayer = slice.Layer;
        //TODO - use the layer
    }
    
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Mapping.Voxel.SliceDefinition

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also