FeatureSceneLayerType Enumeration
Search Rows on the FeatureSceneLayer
//var featSceneLayer = ...;
if (!featSceneLayer.HasAssociatedFeatureService)
return;//Search and Select not supported
//Multipatch (Object3D) or point?
//var is3dObject = ((ISceneLayerInfo)featSceneLayer).SceneServiceLayerType
// == esriSceneServiceLayerType.Object3D;
var is3dObject = featSceneLayer.FeatureSceneLayerType == FeatureSceneLayerType.Object3D;
await QueuedTask.Run(() =>
{
var queryFilter = new QueryFilter
{
WhereClause = "Name = 'Ponderosa Pine'",
SubFields = "*"
};
int rowCount = 0;
//or select... var select = featSceneLayer.Select(queryFilter)
using (RowCursor rowCursor = featSceneLayer.Search(queryFilter))
{
while (rowCursor.MoveNext())
{
using (var feature = rowCursor.Current as Feature)
{
var oid = feature.GetObjectID();
var shape = feature.GetShape();
var attrib = feature["Name"];
if (is3dObject)
{
//shape is a multipatch
}
else
{
//shape is a point
}
rowCount += 1;
}
}
}
});
Hide Selected features and Show Hidden features
//var featSceneLayer = ...;
if (featSceneLayer.HasAssociatedFeatureService)
return;//Search and Select not supported
await QueuedTask.Run(() =>
{
QueryFilter qf = new QueryFilter()
{
ObjectIDs = new List<long>() { 6069, 6070, 6071 },
SubFields = "*"
};
featSceneLayer.Select(qf, SelectionCombinationMethod.New);
featSceneLayer.HideSelectedFeatures();
var selectionCount = featSceneLayer.SelectionCount;
featSceneLayer.ShowHiddenFeatures();
selectionCount = featSceneLayer.SelectionCount;
});
System.Object
System.ValueType
System.Enum
ArcGIS.Desktop.Mapping.FeatureSceneLayerType
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.