ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / TinLayer Class
Members Example Version

TinLayer Class
Represents a TIN layer.
Object Model
TinLayer ClassCIMTinRenderer ClassCIMDataConnection ClassTimeExtent ClassCIMBaseLayer ClassElevationTypeDefinition ClassLineOfSightResult ClassSpatialReference ClassSurfaceValues ClassTimeParameters ClassTinDataset ClassSurfaceZsResult ClassGeometry ClassGeometry ClassMap ClassILayerContainer InterfaceEnvelope ClassTinEdgeCursor ClassTinNodeCursor ClassTinTriangleCursor Class
Syntax
Example
Retrieve layers
// find the first TIN layer
var tinLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TinLayer>().FirstOrDefault();

// find the first Terrain layer
var terrainLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TerrainLayer>().FirstOrDefault();

// find the first LAS dataset layer
var lasDatasetLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<LasDatasetLayer>().FirstOrDefault();

// find the set of surface layers
var surfacelayers = MapView.Active.Map.GetLayersAsFlattenedList().OfType<SurfaceLayer>();
Create a TinLayer
//Must be on the QueuedTask.Run()

string tinPath = @"d:\Data\Tin\TinDataset";
var tinURI = new Uri(tinPath);

var tinCP = new TinLayerCreationParams(tinURI);
tinCP.Name = "My TIN Layer";
tinCP.IsVisible = false;

//Create the layer to the TIN
var tinLayer = LayerFactory.Instance.CreateLayer<TinLayer>(tinCP, map);
Create a TinLayer from a dataset
//Must be on the QueuedTask.Run()

var tinCP_ds = new TinLayerCreationParams(tinDataset);
tinCP_ds.Name = "My TIN Layer";
tinCP_ds.IsVisible = false;

//Create the layer to the TIN

var tinLayer_ds = LayerFactory.Instance.CreateLayer<TinLayer>(tinCP_ds, map);
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);
Simple Node Renderer
// applies to TIN layers only

var nodeRendererDef = new TinNodeRendererDefinition();
nodeRendererDef.Description = "Nodes";
nodeRendererDef.Label = "Nodes";
nodeRendererDef.SymbolTemplate = nodeSymbol.MakeSymbolReference();

var tinLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<TinLayer>().FirstOrDefault();
if (tinLayer == null)
  return;

if (tinLayer.CanCreateRenderer(nodeRendererDef))
{
  CIMTinRenderer renderer = tinLayer.CreateRenderer(nodeRendererDef);
  if (tinLayer.CanSetRenderer(renderer, SurfaceRendererTarget.Points))
    tinLayer.SetRenderer(renderer, SurfaceRendererTarget.Points);
}
Inheritance Hierarchy

System.Object
   ArcGIS.Desktop.Framework.Contracts.PropertyChangedBase
      ArcGIS.Desktop.Mapping.MapMember
         ArcGIS.Desktop.Mapping.Layer
            ArcGIS.Desktop.Mapping.SurfaceLayer
               ArcGIS.Desktop.Mapping.TinLayer

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3.2 or higher.
See Also