ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / TerrainDirtyAreaRendererDefinition Class
Members Example

In This Topic
    TerrainDirtyAreaRendererDefinition Class
    In This Topic
    Represents a simple renderer definition to draw dirty areas in a surface layer with a common symbol.
    Object Model
    TerrainDirtyAreaRendererDefinition ClassCIMSymbolReference Class
    Syntax
    Public Class TerrainDirtyAreaRendererDefinition 
       Inherits TinSimpleRendererDefinition
    public class TerrainDirtyAreaRendererDefinition : TinSimpleRendererDefinition 
    Remarks
    The symbol used to define the TinSimpleRendererDefinition.SymbolTemplate should be a ArcGIS.Core.CIM.CIMPolygonSymbol.

    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.

    Example
    Create a TerrainLayer with renderers
    {
      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;
      // Note: Needs QueuedTask to run
      {
        //Create the layer to the terrain
        var terrainLayer_rd = LayerFactory.Instance.CreateLayer<TerrainLayer>(terrainCP_renderers, map);
      }
    }
    Dirty Area Renderer
    {
      var dirtyAreaRendererDef = new TerrainDirtyAreaRendererDefinition();
      // accept default labels, symbolTemplate
    
      if (terrainLayer == null)
        return;
      // Note: Needs QueuedTask to run
      {
        if (terrainLayer.CanCreateRenderer(dirtyAreaRendererDef))
        {
          CIMTinRenderer renderer = terrainLayer.CreateRenderer(dirtyAreaRendererDef);
          if (terrainLayer.CanSetRenderer(renderer, SurfaceRendererTarget.DirtyArea))
            terrainLayer.SetRenderer(renderer, SurfaceRendererTarget.DirtyArea);
        }
      }
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Mapping.LayerDrawingDefinition
          ArcGIS.Desktop.Mapping.TinRendererDefinition
             ArcGIS.Desktop.Mapping.TinSimpleRendererDefinition
                ArcGIS.Desktop.Mapping.TerrainDirtyAreaRendererDefinition

    Requirements

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

    ArcGIS Pro version: 3.2 or higher.
    See Also