ArcGIS Pro 3.2 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.
    public abstract class TinRendererDefinition : LayerDrawingDefinition 
    Public MustInherit Class TinRendererDefinition 
       Inherits LayerDrawingDefinition
    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.
    Create a TinLayer with renderers
    //Must be on the QueuedTask.Run()
    var tinCP_renderers = new TinLayerCreationParams(tinDataset);
    tinCP_renderers.Name = "My TIN layer";
    tinCP_renderers.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>();
    rendererDict.Add(SurfaceRendererTarget.Points, node_rd);
    rendererDict.Add(SurfaceRendererTarget.Surface, face_rd);
    // assign the dictionary to the creation params
    tinCP_renderers.RendererDefinitions = rendererDict;
    // create the layer
    var tinLayer_rd = LayerFactory.Instance.CreateLayer<TinLayer>(tinCP_renderers, MapView.Active.Map);
    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);
    Create a LasDatasetLayer with renderers
    //Must be on the QueuedTask.Run()
    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;
    //Create the layer to the LAS dataset
    var lasDatasetLayer_rd = LayerFactory.Instance.CreateLayer<LasDatasetLayer>(lasCP_renderers, map);
    Inheritance Hierarchy

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.2 or higher.
    See Also