ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping.Voxel.Events Namespace / VoxelAssetEventArgs Class / AssetType Property
Example

In This Topic
    AssetType Property (VoxelAssetEventArgs)
    In This Topic
    Gets the type of voxel asset associated with the change.
    Syntax
    Public ReadOnly Property AssetType As VoxelAssetEventArgs.VoxelAssetType
    public VoxelAssetEventArgs.VoxelAssetType AssetType {get;}
    Example
    Subscribe for Changes to a Voxel Layer
    {
      MapMemberPropertiesChangedEvent.Subscribe((args) =>
      {
        var voxel = args.MapMembers.OfType<VoxelLayer>().FirstOrDefault();
        if (voxel == null)
          return;
        //Anything changed on a voxel layer?
        if (args.EventHints.Any(hint => hint == MapMemberEventHint.VoxelSelectedVariable))
        {
          //Voxel variable profile selection changed
          var changed_variable_name = voxel.SelectedVariableProfile.Variable;
          //TODO respond to change, use QueuedTask if needed
    
        }
        else if (args.EventHints.Any(hint => hint == MapMemberEventHint.Renderer))
        {
          //This can fire when a renderer becomes ready on a new layer; the selected variable profile
          //is changed; visualization is changed, etc.
          var renderer = voxel.SelectedVariableProfile.Renderer;
          //TODO respond to change, use QueuedTask if needed
    
        }
      });
    
      VoxelAssetChangedEvent.Subscribe((args) =>
      {
        //An asset changed on a voxel layer
        System.Diagnostics.Debug.WriteLine("");
        System.Diagnostics.Debug.WriteLine("VoxelAssetChangedEvent");
        System.Diagnostics.Debug.WriteLine($" AssetType: {args.AssetType}, ChangeType: {args.ChangeType}");
    
        if (args.ChangeType == VoxelAssetEventArgs.VoxelAssetChangeType.Remove)
          return;
        //Get "what"changed - add or update
        //eg IsoSurface
        VoxelLayer voxelLayer = null;
        if (args.AssetType == VoxelAssetEventArgs.VoxelAssetType.Isosurface)
        {
          var surface = MapView.Active.GetSelectedIsosurfaces().FirstOrDefault();
          //there will only be one selected...
          if (surface != null)
          {
            voxelLayer = surface.Layer;
            //TODO respond to change, use QueuedTask if needed
          }
        }
        //Repeat for Slices, Sections, LockedSections...
        //GetSelectedSlices(), GetSelectedSections(), GetSelectedLockedSections();
      });
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also