ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / PointCloudFilterDefinition Class / FromCIM Method
The input collection of CIMPointCloudFilters
Example

In This Topic
    FromCIM Method
    In This Topic
    Creates a PointCloudFilterDefinition based on a collection of ArcGIS.Core.CIM.CIMPointCloudFilter.
    Syntax

    Parameters

    filters
    The input collection of CIMPointCloudFilters

    Return Value

    Example
    Update the ClassFlags for PointCloudSceneLayer
    //Must be called on the MCT
    //var pcsl = ...;
    var filters = pcsl.GetFilters();
    PointCloudFilterDefinition fdef = null;
    if (filters.Count() == 0)
    {
      fdef = new PointCloudFilterDefinition()
      {
        //7 is "edge of flight line" - exclude
        ClassFlags = new List<ClassFlag> { 
           new ClassFlag(7, ClassFlagOption.Exclude) }
      };
    }
    else
    {
      fdef = PointCloudFilterDefinition.FromCIM(filters);
      //keep any include or ignore class flags
      var keep = fdef.ClassFlags.Where(
             cf => cf.ClassFlagOption != ClassFlagOption.Exclude).ToList();
      //7 is "edge of flight line" - exclude
      keep.Add(new ClassFlag(7, ClassFlagOption.Exclude));
      fdef.ClassFlags = keep;
    }
    //apply
    pcsl.SetFilters(fdef.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
      }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also