2using System.Collections.Generic;
 
   15    [IconAttribute(
"Packages/com.cesium.unity/Editor/Resources/Cesium-24x24.png")]
 
   16    [AddComponentMenu(
"")]
 
   27        #region Helper functions 
   31        private static List<int> _indices;
 
   33        private static int GetFirstVertexFromTriangle(MeshFilter meshFilter, 
int triangleIndex)
 
   35            if (meshFilter == 
null || meshFilter.mesh == 
null)
 
   40            if (CesiumPrimitiveFeatures._indices == 
null)
 
   42                CesiumPrimitiveFeatures._indices = 
new List<int>();
 
   45            meshFilter.mesh.GetTriangles(CesiumPrimitiveFeatures._indices, 0);
 
   46            int targetVertex = triangleIndex * 3;
 
   47            return targetVertex < CesiumPrimitiveFeatures._indices.Count ? CesiumPrimitiveFeatures._indices[targetVertex] : -1;
 
   51        #region Public methods 
   60            MeshFilter meshFilter = hitInfo.transform.GetComponent<MeshFilter>();
 
   61            return GetFirstVertexFromTriangle(meshFilter, hitInfo.triangleIndex);
 
 
   90            MeshFilter meshFilter = this.gameObject.GetComponent<MeshFilter>();
 
   91            if (meshFilter == 
null || featureIdSetIndex < 0 || featureIdSetIndex >= this.
featureIdSets.Length)
 
   99                GetFirstVertexFromTriangle(meshFilter, triangleIndex));
 
 
  118                featureIdSetIndex < 0 || featureIdSetIndex >= 
this.
featureIdSets.Length)
 
 
 
Represents a feature ID set from a glTF primitive.
virtual Int64 GetFeatureIdForVertex(Int64 vertexIndex)
Gets the feature ID associated with a given vertex.
virtual Int64 GetFeatureIdFromRaycastHit(RaycastHit hitInfo)
Gets the feature ID from the feature ID set using the given raycast hit.
Represents the EXT_mesh_features of a glTF primitive in a Cesium3DTileset.
CesiumFeatureIdSet[] GetFeatureIdSetsOfType(CesiumFeatureIdSetType type)
Gets all the feature ID sets of the given type.
Int64 GetFeatureIdFromTriangle(int triangleIndex, Int64 featureIdSetIndex=0)
Gets the feature ID associated with the given triangle, specified by index.
static int GetFirstVertexFromHitTriangle(RaycastHit hitInfo)
Given a successful raycast hit, finds the index of the first vertex from the hit triangle.
CesiumFeatureIdSet[] featureIdSets
The CesiumFeatureIdSets available on this primitive.
Int64 GetFeatureIdFromRaycastHit(RaycastHit hitInfo, Int64 featureIdSetIndex=0)
Gets the feature ID from the given raycast hit, assuming it has hit a glTF primitive component contai...
CesiumFeatureIdSetType
The type of a feature ID set.