/// <summary> /// Поиск количества индексов /// </summary> /// <returns>Количество индексов</returns> protected int GetIndexCount() { MeshComponent mc = this; int count = indexCount; while (count == 0) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } count = mc.indexCount; } return(count); }
/// <summary> /// Поиск буффера текстурных координат /// </summary> /// <returns>Индекс буффера текстурных координат</returns> protected int SearchTexCoordBuffer() { MeshComponent mc = this; int buffer = textureBuffer; while (buffer == 0) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } buffer = mc.textureBuffer; } return(buffer); }
/// <summary> /// Поиск индексного буффера /// </summary> /// <returns>Индексный буффер</returns> protected int SearchIndexBuffer() { MeshComponent mc = this; int buffer = indexBuffer; while (buffer == 0) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } buffer = mc.indexBuffer; } return(buffer); }
/// <summary> /// Поиск индексов треугольников /// </summary> /// <returns></returns> protected ushort[] SearchIndices() { MeshComponent mc = this; ushort[] ia = indices; while (ia == null) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } ia = mc.indices; } return(ia); }
/// <summary> /// Поиск текстурных координат среди прокси-объектов /// </summary> /// <returns>Массив текстурных координат</returns> protected float[] SearchTexCoords() { MeshComponent mc = this; float[] ta = uv; while (ta == null) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } ta = mc.uv; } return(ta); }
/// <summary> /// Поиск нормалей среди прокси-объектов /// </summary> /// <returns>Массив нормалей</returns> protected float[] SearchNormals() { MeshComponent mc = this; float[] na = normals; while (na == null) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } na = mc.normals; } return(na); }
/// <summary> /// Поиск вершин среди прокси-объектов /// </summary> /// <returns>Массив вершин</returns> protected float[] SearchVertices() { MeshComponent mc = this; float[] va = vertices; while (va == null) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } va = mc.vertices; } return(va); }
/// <summary> /// Получение бокса для отсечения /// </summary> /// <returns>Коробка</returns> internal override CullBox GetCullingBox() { if (cull == null) { CullBox cb = null; MeshComponent mc = this; while (cb == null) { if (mc.Proxy != null) { mc = mc.Proxy; } else { break; } cb = mc.GetCullingBox(); } } return(cull); }