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

In This Topic
    TinRendererDefinition Class
    In This Topic
    Represents an abstract class definition for all types of renderers for SurfaceLayers.
    Syntax
    Public MustInherit Class TinRendererDefinition 
       Inherits LayerDrawingDefinition
    public abstract class TinRendererDefinition : LayerDrawingDefinition 
    Remarks
    TinRendererDefinition classes allow you to define parameters to create renderers to draw faces, edges, nodes, breaklines, and contours.
    Once you define a 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 TinLayer with renderers
    {
      var tinCP_renderers = new TinLayerCreationParams(tinDataset)
      {
        Name = "My TIN layer",
        IsVisible = true
      };
    
      // define the node renderer - use defaults
      var node_rd = new TinNodeRendererDefinition();
    
      // define the face/surface renderer
      var face_rd = new TinFaceClassBreaksRendererDefinition();
      face_rd.ClassificationMethod = ClassificationMethod.NaturalBreaks;
      // accept default color ramp, breakCount
    
      // set up the renderer dictionary
      var rendererDict = new Dictionary<SurfaceRendererTarget, TinRendererDefinition>
    {
      { SurfaceRendererTarget.Points, node_rd },
      { SurfaceRendererTarget.Surface, face_rd }
    };
    
      // assign the dictionary to the creation params
      tinCP_renderers.RendererDefinitions = rendererDict;
      // Note: Needs QueuedTask to run
      {
        // create the layer
        var tinLayer_rd = LayerFactory.Instance.CreateLayer<TinLayer>(tinCP_renderers, MapView.Active.Map);
      }
    }
    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);
      }
    }
    Create a LasDatasetLayer with renderers
    {
      var lasCP_renderers = new LasDatasetLayerCreationParams(lasDataset);
      lasCP_renderers.Name = "My LAS Layer";
      lasCP_renderers.IsVisible = false;
    
      // create a point elevation renderer
      var ptR = new LasStretchRendererDefinition();
      // accept all defaults
    
      // create a simple edge renderer
      var edgeR = new TinEdgeRendererDefintion();
      // accept all defaults
    
      // add renderers to dictionary
      var l_dict = new Dictionary<SurfaceRendererTarget, TinRendererDefinition>();
      l_dict.Add(SurfaceRendererTarget.Points, ptR);
      l_dict.Add(SurfaceRendererTarget.Edges, edgeR);
    
      // assign dictionary to creation params
      lasCP_renderers.RendererDefinitions = l_dict;
      // Note: Needs QueuedTask to run
      {
        //Create the layer to the LAS dataset
        var lasDatasetLayer_rd = LayerFactory.Instance.CreateLayer<LasDatasetLayer>(lasCP_renderers, map);
      }
    }
    Inheritance Hierarchy
    Requirements

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

    ArcGIS Pro version: 3.2 or higher.
    See Also