ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / TerrainDirtyAreaRendererDefinition Class / TerrainDirtyAreaRendererDefinition Constructor / TerrainDirtyAreaRendererDefinition Constructor()
Example

In This Topic
    TerrainDirtyAreaRendererDefinition Constructor()
    In This Topic
    Creates a simple renderer definition to draw dirty areas in a surface layer.
    Syntax
    public TerrainDirtyAreaRendererDefinition()
    Public Function New()
    Example
    Create a TerrainLayer with renderers
    //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);
    Dirty Area Renderer
    // 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);
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.2 or higher.
    See Also