mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-15 23:20:10 -05:00
Co-authored-by: Akihiko Odaki <nekomanma@pixiv.co.jp> Co-authored-by: Emiliana <vtemiliana@gmail.com> Co-authored-by: junichi_hirose <junichi_hirose@dwango.co.jp> Co-authored-by: Masataka SUMI <santarh@gmail.com> Co-authored-by: ousttrue <oustrrue@gmail.com> Co-authored-by: ousttrue <ousttrue@gmail.com> Co-authored-by: TORISOUP <tori.birdstrike@gmail.com> Co-authored-by: Yuki Shimada <emadurandal@gmail.com> Co-authored-by: yutopp <yutopp@gmail.com>
52 lines
1.2 KiB
C#
52 lines
1.2 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
|
|
|
|
public static class TriangleUtil
|
|
{
|
|
public static IEnumerable<int> FlipTriangle(IEnumerable<Byte> src)
|
|
{
|
|
return FlipTriangle(src.Select(x => (Int32)x));
|
|
}
|
|
|
|
public static IEnumerable<int> FlipTriangle(IEnumerable<UInt16> src)
|
|
{
|
|
return FlipTriangle(src.Select(x => (Int32)x));
|
|
}
|
|
|
|
public static IEnumerable<int> FlipTriangle(IEnumerable<UInt32> src)
|
|
{
|
|
return FlipTriangle(src.Select(x => (Int32)x));
|
|
}
|
|
|
|
public static IEnumerable<int> FlipTriangle(IEnumerable<Int32> src)
|
|
{
|
|
var it = src.GetEnumerator();
|
|
while (true)
|
|
{
|
|
if (!it.MoveNext())
|
|
{
|
|
yield break;
|
|
}
|
|
var i0 = it.Current;
|
|
|
|
if (!it.MoveNext())
|
|
{
|
|
yield break;
|
|
}
|
|
var i1 = it.Current;
|
|
|
|
if (!it.MoveNext())
|
|
{
|
|
yield break;
|
|
}
|
|
var i2 = it.Current;
|
|
|
|
yield return i2;
|
|
yield return i1;
|
|
yield return i0;
|
|
}
|
|
}
|
|
}
|