public class TerrainDirtyAreaRendererDefinition : TinSimpleRendererDefinition
Public Class TerrainDirtyAreaRendererDefinition Inherits TinSimpleRendererDefinition
public class TerrainDirtyAreaRendererDefinition : TinSimpleRendererDefinition
Public Class TerrainDirtyAreaRendererDefinition Inherits TinSimpleRendererDefinition
The dirty area renderer is only valid for TerrainLayer.
Once you define a simple renderer, you can call a surface layer's CanCreateRenderer, CreateRenderer, CanSetRenderer and SetRenderer methods to create and assign a renderer to a surface layer.
//Must be on the QueuedTask.Run() var terrainCP_renderers = new TerrainLayerCreationParams(terrain); terrainCP_renderers.Name = "My LAS Layer"; terrainCP_renderers.IsVisible = true; // define the edge type renderer - use defaults var edgeRD = new TinBreaklineRendererDefinition(); // define the face/surface renderer var faceRD = new TinFaceClassBreaksRendererDefinition(); faceRD.ClassificationMethod = ClassificationMethod.NaturalBreaks; // accept default color ramp, breakCount // define the dirty area renderer - use defaults var dirtyAreaRD = new TerrainDirtyAreaRendererDefinition(); // add renderers to dictionary var t_dict = new Dictionary<SurfaceRendererTarget, TinRendererDefinition>(); t_dict.Add(SurfaceRendererTarget.Edges, edgeRD); t_dict.Add(SurfaceRendererTarget.Surface, faceRD); t_dict.Add(SurfaceRendererTarget.DirtyArea, dirtyAreaRD); // assign dictionary to creation params terrainCP_renderers.RendererDefinitions = t_dict; //Create the layer to the terrain var terrainLayer_rd = LayerFactory.Instance.CreateLayer<TerrainLayer>(terrainCP_renderers, map);
// applies to Terrain layers only var dirtyAreaRendererDef = new TerrainDirtyAreaRendererDefinition(); // accept default labels, symbolTemplate var terrainLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TerrainLayer>().FirstOrDefault(); if (terrainLayer == null) return; if (terrainLayer.CanCreateRenderer(dirtyAreaRendererDef)) { CIMTinRenderer renderer = terrainLayer.CreateRenderer(dirtyAreaRendererDef); if (terrainLayer.CanSetRenderer(renderer, SurfaceRendererTarget.DirtyArea)) terrainLayer.SetRenderer(renderer, SurfaceRendererTarget.DirtyArea); }
System.Object
ArcGIS.Desktop.Mapping.LayerDrawingDefinition
ArcGIS.Desktop.Mapping.TinRendererDefinition
ArcGIS.Desktop.Mapping.TinSimpleRendererDefinition
ArcGIS.Desktop.Mapping.TerrainDirtyAreaRendererDefinition
Target Platforms: Windows 11, Windows 10