public Index3i[] GetTrianglesInRange(int nObjectID, int nTriangleIDStart, int nCount) { StoredCommands sc = new StoredCommands(); uint[] keys = new uint[nCount]; for (int k = 0; k < nCount; ++k) { keys[k] = sc.AppendSceneCommand_GetTriangleIndices(nObjectID, nTriangleIDStart + k); } ExecuteCommands(sc); Index3i[] vTriangles = new Index3i[nCount]; for (int k = 0; k < nCount; ++k) { vec3i v = new vec3i(); bool bOK = sc.GetSceneCommandResult_GetTriangleIndices(keys[k], v); vTriangles[k] = (bOK) ? g3Extensions.ToIndex3i(v) : Index3i.Max; } return(vTriangles); }