Beispiel #1
0
            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);
 }