ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / VoxelLayer Class / SetSliceContainerVisibility Method
Toggle visibility.
Example

In This Topic
    SetSliceContainerVisibility Method
    In This Topic
    Sets the slice container visibility. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Sub SetSliceContainerVisibility( _
       ByVal isVisible As Boolean _
    ) 
    public void SetSliceContainerVisibility( 
       bool isVisible
    )

    Parameters

    isVisible
    Toggle visibility.
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run
    Example
    Manipulate the Voxel Layer TOC Group
    {
      //Toggle containers and visibility in the TOC
    
      // Note: call within QueuedTask.Run()
      {
        voxelLayer.SetExpanded(!voxelLayer.IsExpanded);
        voxelLayer.SetVisibility(!voxelLayer.IsVisible);
        voxelLayer.SetIsosurfaceContainerExpanded(!voxelLayer.IsIsosurfaceContainerExpanded);
        voxelLayer.SetIsosurfaceContainerVisibility(!voxelLayer.IsIsosurfaceContainerVisible);
        voxelLayer.SetSliceContainerExpanded(voxelLayer.IsSliceContainerExpanded);
        voxelLayer.SetSliceContainerVisibility(!voxelLayer.IsSliceContainerVisible);
        voxelLayer.SetSectionContainerExpanded(!voxelLayer.IsSectionContainerExpanded);
        voxelLayer.SetSectionContainerVisibility(!voxelLayer.IsSectionContainerVisible);
        voxelLayer.SetLockedSectionContainerExpanded(!voxelLayer.IsLockedSectionContainerExpanded);
        voxelLayer.SetLockedSectionContainerVisibility(!voxelLayer.IsLockedSectionContainerVisible);
      }
    }
    Get the Collection of Slices
    {
      // Note: call within QueuedTask.Run()
      {
        //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;
          volume.UpdateSlice(slice);
        }
    
        //expand the slice container and make sure container visibility is true
        voxelLayer.SetSliceContainerExpanded(true);
        voxelLayer.SetSliceContainerVisibility(true);
      }
    }
    Create a Slice
    {
      // Note: call within QueuedTask.Run()
      {
        if (voxelLayer.Visualization != VoxelVisualization.Volume)
          voxelLayer.SetVisualization(VoxelVisualization.Volume);
        voxelLayer.SetSliceContainerExpanded(true);
        voxelLayer.SetSliceContainerVisibility(true);
    
        //To stop the Voxel Exploration Dockpane activating use:
        voxelLayer.AutoShowExploreDockPane = false;
        //This is useful if u have your own dockpane currently activated...
    
        //Use the SelectedVariableProfile to get the slices currently in the TOC
        //via its associated volume
        var volume = voxelLayer.SelectedVariableProfile.Volume;
        var volumeSize = volume.GetVolumeSize();
    
        //Orientation 90 degrees (West), Tilt 0.0 (vertical)
        //Convert to a normal
        var normal = voxelLayer.GetNormal(90, 0.0);
    
        //Create the slice at the voxel mid-point. VoxelPosition
        //is specified in voxel-space coordinates
    
        //Create the slice on the respective volume
        volume.CreateSlice(new SliceDefinition()
        {
          Name = "Middle Slice",
          VoxelPosition = new Coordinate3D(volumeSize.X / 2, volumeSize.Y / 2, volumeSize.Z / 2),
          Normal = normal,
          IsVisible = true
        });
    
        //reset if needed...
        voxelLayer.AutoShowExploreDockPane = true;
      }
    }
    Change Tilt on a Slice
    {
      // Note: call within QueuedTask.Run()
      {
        //To stop the Voxel Exploration Dockpane activating use:
        voxelLayer.AutoShowExploreDockPane = false;
        //This is useful if u have your own dockpane currently activated...
        //Normally, it would be set in your dockpane
    
        if (voxelLayer.Visualization != VoxelVisualization.Volume)
          voxelLayer.SetVisualization(VoxelVisualization.Volume);
        voxelLayer.SetSliceContainerVisibility(true);
    
        //Use the SelectedVariableProfile to get the slices currently in the TOC
        //via its associated volume
        var volume = voxelLayer.SelectedVariableProfile.Volume;
        var slice = volume.GetSlices().First(s => s.Name == "Change Tilt Slice");
    
        (double orientation, double tilt) = voxelLayer.GetOrientationAndTilt(slice.Normal);
    
        //Convert orientation and tilt to a normal
        slice.Normal = voxelLayer.GetNormal(orientation, 45.0);
        volume.UpdateSlice(slice);
    
        //reset if needed...Normally this might be when your dockpane
        //was de-activated (ie "closed")
        voxelLayer.AutoShowExploreDockPane = true;
      }
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also