FeatureTable Class
Defines a look-up table for Features within a batched RenderGraphic. Consecutive 32-bit indices are assigned to each unique Feature. Primitives within the RenderGraphic can use per-vertex indices to specify the distribution of Features within the primitive. The appearance of individual features can be customized using FeatureOverrides. Typically a Tile will contain a feature table identifying the elements whose geometry appears within that tile.
@see FeatureOverrides for customizing the appearance of individual features.
Extends
Methods
| Name | Description | |
|---|---|---|
| constructor(maxFeatures: number, modelId: string = Id64.invalid, type: BatchType = BatchType.Primary): FeatureTable | Construct an empty FeatureTable. | |
| findFeature(index: number): undefined | Feature | Returns the Feature corresponding to the specified index, or undefined if the index is not present. | |
| getArray(): ReadonlyArray<IndexedValue<Feature>> | Access the underlying array containing the table's current contents. | |
| insertWithIndex(feature: Feature, index: number): void | Inserts the specified Feature at the specified index. | |
| pack(): RenderFeatureTable | Convert this feature table to a representation that can be supplied to RenderSystem.createBatch. |
Inherited methods
| Name | Inherited from | Description |
|---|---|---|
| clear(): void Inherited | IndexMap | Removes all elements from the map. |
| indexOf(value: Feature): number Inherited | IndexMap | Finds the index of an element equivalent to the supplied value. |
| insert(value: Feature, onInsert?: (value: Feature) => any): number Inherited | IndexMap | Attempt to insert a new value into the map. |
| lowerBound(value: Feature): { equal: boolean, index: number } Protected Inherited | IndexMap | |
| toArray(): Feature[] Inherited | IndexMap | Return an array of the elements in this map in which the array index of each element corresponds to the index assigned to it by the map. |
Properties
| Name | Type | Description | |
|---|---|---|---|
| anyDefined Accessor ReadOnly | boolean | Returns true if this table contains at least one Feature with a valid element and/or subcategory Id. | |
| isPlanarClassifier Accessor ReadOnly | boolean | Returns true if this FeatureTable is associated with PlanarClassifier geometry. | |
| isUniform Accessor ReadOnly | boolean | Returns true if this FeatureTable contains exactly one Feature. | |
| isVolumeClassifier Accessor ReadOnly | boolean | Returns true if this FeatureTable is associated with VolumeClassifier geometry. | |
| maxFeatures Accessor ReadOnly | number | Returns the maximum number of Features this FeatureTable can contain. | |
| modelId Readonly | string | ||
| type Readonly | BatchType | ||
| uniform Accessor ReadOnly | undefined | Feature | If this FeatureTable contains exactly one Feature, returns that Feature; otherwise returns undefined. |
Inherited properties
| Name | Type | Inherited from | Description |
|---|---|---|---|
| _array Protected Inherited | IndexedValue<Feature>[] | IndexMap | |
| _clone Protected Readonly Inherited | CloneFunction<Feature> | IndexMap | |
| _compareValues Protected Readonly Inherited | OrderedComparator<Feature> | IndexMap | |
| _maximumSize Protected Readonly Inherited | number | IndexMap | |
| isEmpty Accessor Inherited ReadOnly | boolean | IndexMap | Returns true if the map contains no elements. |
| isFull Accessor Inherited ReadOnly | boolean | IndexMap | Returns true if the maximum number of elements have been inserted. |
| length Accessor Inherited ReadOnly | number | IndexMap | The number of elements in the map. |
Defined in
- core/common/src/FeatureTable.ts Line 176
Last Updated: 29 October, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.