public static bool GetLastVertexIdOfPickedGeometry(this IPickable element,
uint stageVertexId, out uint lastVertexId)
{
lastVertexId = uint.MaxValue;
bool result = false;
if (element != null)
{
if (stageVertexId < element.PickingBaseId) // ID is in some previous element.
{ return false; }
uint vertexCount = element.GetVertexCount();
uint id = stageVertexId - element.PickingBaseId;
if (id < vertexCount)
{
lastVertexId = id;
result = true;
}
else // ID is in some subsequent element.
{
result = false;
}
}
return result;
}