ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / CIMPointCloudClassBreaksRenderer Class
Members Example

In This Topic
    CIMPointCloudClassBreaksRenderer Class
    In This Topic
    Represents a point cloud class breaks renderer.
    Object Model
    CIMPointCloudClassBreaksRenderer ClassCIMPointCloudClassBreaksRenderer ClassCIMColorModulationInfo ClassCIMPointCloudClassBreaksRenderer ClassCIMPointCloudAlgorithm Class
    Syntax
    Example
    Create and Set a ClassBreaks Renderer
    //Must be called on the MCT
    //var pcsl = ...;
    
    //At 2.x - var fields = pcsl.QueryAvailablePointCloudRendererFields(
    //                          PointCloudRendererType.ClassBreaksRenderer);
    
    var fields = pcsl.GetAvailablePointCloudRendererFields(
                         PointCloudRendererType.ClassBreaksRenderer);
    var classBreakDef = new PointCloudRendererDefinition(
                              PointCloudRendererType.ClassBreaksRenderer)
    {
      //ELEVATION or INTENSITY
      Field = fields[0]
    };
    //create the renderer
    var cbr = pcsl.CreateRenderer(classBreakDef) 
                              as CIMPointCloudClassBreaksRenderer;
    //Set up a color scheme to use
    var style = Project.Current.GetItems<StyleProjectItem>()
                               .First(s => s.Name == "ArcGIS Colors");
    var rampStyle = style.LookupItem(
      StyleItemType.ColorRamp, "Spectrum By Wavelength-Full Bright_Multi-hue_2")
                                                                as ColorRampStyleItem;
    var colorScheme = rampStyle.ColorRamp;
    //Set up 6 manual class breaks
    var breaks = 6;
    var colors = ColorFactory.Instance.GenerateColorsFromColorRamp(
                                                colorScheme, breaks);
    var classBreaks = new List<CIMColorClassBreak>();
    var min = cbr.Breaks[0].UpperBound;
    var max = cbr.Breaks[cbr.Breaks.Count() - 1].UpperBound;
    var step = (max - min) / (double)breaks;
    
    //add in the class breaks
    double upper = min;
    for (int b = 1; b <= breaks; b++)
    {
      double lower = upper;
      upper = b == breaks ? max : min + (b * step);
      var cb = new CIMColorClassBreak()
      {
        UpperBound = upper,
        Label = string.Format("{0:#0.0#} - {1:#0.0#}", lower, upper),
        Color = colors[b - 1]
      };
      classBreaks.Add(cb);
    }
    cbr.Breaks = classBreaks.ToArray();
    pcsl.SetRenderer(cbr);
    
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CIM.CIMObject
          ArcGIS.Core.CIM.CIMPointCloudRenderer
             ArcGIS.Core.CIM.CIMPointCloudClassBreaksRenderer

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also