ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.CIM Namespace / PointCloudReturnType Enumeration
Example Example Version

PointCloudReturnType Enumeration
Point cloud return types.
Syntax
Members
MemberDescription
All No return filtering.
FirstOfMany Show first return of multi-return only.
Last Show last return only.
LastOfMany Show last return of multi-return only.
Single Show single return only.
Example
Set a Filter for PointCloudSceneLayer
//Must be called on the MCT
//var pcsl = ...;
//Retrieve the available classification codes
//At 2.x - var dict = pcsl.QueryAvailableClassCodesAndLabels();
var dict = pcsl.GetAvailableClassCodesAndLabels();

//Filter out low noise and unclassified (7 and 1 respectively)
//consult https://pro.arcgis.com/en/pro-app/help/data/las-dataset/storing-lidar-data.htm
var filterDef = new PointCloudFilterDefinition()
{
  ClassCodes = dict.Keys.Where(c => c != 7 && c != 1).ToList(),
  ReturnValues = new List<PointCloudReturnType> { 
                         PointCloudReturnType.FirstOfMany }
};
//apply the filter
pcsl.SetFilters(filterDef.ToCIM());
Get the filters for PointCloudSceneLayer
//Must be called on the MCT
//var pcsl = ...;
IReadOnlyList<CIMPointCloudFilter> updatedFilter = pcsl.GetFilters();
foreach (var filter in updatedFilter)
{
  //There is either 0 or 1 of each
  if (filter is CIMPointCloudReturnFilter returnFilter)
  {
    PointCloudFilterDefinition pcfl = PointCloudFilterDefinition.FromCIM(updatedFilter);
    List<PointCloudReturnType> updatedReturnValues = pcfl.ReturnValues;

  }
  if (filter is CIMPointCloudValueFilter classCodesFilter)
  {
    // do something
  }

  if (filter is CIMPointCloudBitFieldFilter classFlagsFilter)
  {
    // do something
  }
}
Inheritance Hierarchy

System.Object
   System.ValueType
      System.Enum
         ArcGIS.Core.CIM.PointCloudReturnType

Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also