public bool HasDataForChannel(MeshBuilderChannel channel) { switch (channel) { case MeshBuilderChannel.COLORS: return(this.color.HasValue); case MeshBuilderChannel.NORMALS: return(this.normal.HasValue); case MeshBuilderChannel.TANGENTS: return(this.tangent.HasValue); case MeshBuilderChannel.UV: return(this.uv.HasValue); case MeshBuilderChannel.UV2: return(this.uv2.HasValue); case MeshBuilderChannel.UV3: return(this.uv3.HasValue); case MeshBuilderChannel.UV4: return(this.uv4.HasValue); case MeshBuilderChannel.UV5: return(this.uv5.HasValue); case MeshBuilderChannel.UV6: return(this.uv6.HasValue); case MeshBuilderChannel.UV7: return(this.uv7.HasValue); case MeshBuilderChannel.UV8: return(this.uv8.HasValue); } return(false); }
public void TestChannelEnumerator() { MeshBuilderChannels channels = MeshBuilderChannels.NORMALS | MeshBuilderChannels.TANGENTS | MeshBuilderChannels.COLORS; MeshBuilderChannel[] channelsArr = new MeshBuilderChannel[] { MeshBuilderChannel.NORMALS, MeshBuilderChannel.TANGENTS, MeshBuilderChannel.COLORS }; CollectionAssert.AreEquivalent(channelsArr, channels.AsEnumerable()); channels = MeshBuilderChannels.NORMALS | MeshBuilderChannels.TANGENTS | MeshBuilderChannels.UV | MeshBuilderChannels.UV8; channelsArr = new MeshBuilderChannel[] { MeshBuilderChannel.NORMALS, MeshBuilderChannel.TANGENTS, MeshBuilderChannel.UV, MeshBuilderChannel.UV8 }; CollectionAssert.AreEquivalent(channelsArr, channels.AsEnumerable()); }
public static bool TryMapToUVIndex(this MeshBuilderChannel channel, out int index) { index = (int)channel - (int)MeshBuilderChannel.UV; return(index >= 0); }