public void UpdateIsosurface( IsosurfaceDefinition isosurfaceDef )
Public Sub UpdateIsosurface( _ ByVal isosurfaceDef As IsosurfaceDefinition _ )
Parameters
- isosurfaceDef
- The definition of the isosurface to update
public void UpdateIsosurface( IsosurfaceDefinition isosurfaceDef )
Public Sub UpdateIsosurface( _ ByVal isosurfaceDef As IsosurfaceDefinition _ )
Exception | Description |
---|---|
ArcGIS.Core.CalledOnWrongThreadException | This method or property must be called within the lambda passed to QueuedTask.Run. |
System.ArgumentException | Invalid isosurface definition specified. |
System.ArgumentException | Isosurface not found in the collection of surfaces |
//var voxelLayer = ... ; //Must be on the QueuedTask.Run() var variable = voxelLayer.SelectedVariableProfile; //Change the color of the first surface for the given profile var surface = variable.GetIsosurfaces().FirstOrDefault(); if (surface != null) { if (voxelLayer.Visualization != VoxelVisualization.Surface) voxelLayer.SetVisualization(VoxelVisualization.Surface); //Change the iso surface voxel value surface.Value = surface.Value * 0.9; //get a random color var count = new Random().Next(0, 100); var colors = ColorFactory.Instance.GenerateColorsFromColorRamp( ((CIMVoxelStretchRenderer)variable.Renderer).ColorRamp, count); var idx = new Random().Next(0, count - 1); surface.Color = colors[idx]; //set the custom color flag true to lock the color //locking the color prevents it from being changed if the //renderer color range or color theme is updated surface.IsCustomColor = true; //update the surface variable.UpdateIsosurface(surface); }
//var voxelLayer = ... ; //Must be on the QueuedTask.Run() //var variable = ...; //var surface = ...; if (surface.IsCustomColor) { surface.Color = variable.GetIsosurfaceColor((double)surface.Value); surface.IsCustomColor = false; //update the surface variable.UpdateIsosurface(surface); }
Target Platforms: Windows 11, Windows 10