public VoxelAssetEventArgs.VoxelAssetType AssetType {get;}
Public ReadOnly Property AssetType As VoxelAssetEventArgs.VoxelAssetType
public VoxelAssetEventArgs.VoxelAssetType AssetType {get;}
Public ReadOnly Property AssetType As VoxelAssetEventArgs.VoxelAssetType
ArcGIS.Desktop.Mapping.Events.MapMemberPropertiesChangedEvent.Subscribe((args) => { var voxel = args.MapMembers.OfType<VoxelLayer>().FirstOrDefault(); if (voxel == null) return; //Anything changed on a voxel layer? //At 2.x - if (args.EventHints.Any(hint => hint == MapMemberEventHint.VoxelSelectedVariableProfileIndex)) 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 } }); ArcGIS.Desktop.Mapping.Voxel.Events.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(); });
Target Platforms: Windows 11, Windows 10