Example #1
0
            public static TextureEntry FromOSD(OSD osd)
            {
                OSDArray array = (OSDArray)osd;
                OSDMap   faceSD;

                if (array.Count > 0)
                {
                    int faceNumber;
                    faceSD = (OSDMap)array[0];
                    TextureEntryFace defaultFace = TextureEntryFace.FromOSD(faceSD, null, out faceNumber);
                    TextureEntry     te          = new TextureEntry(defaultFace);

                    for (int i = 1; i < array.Count; i++)
                    {
                        TextureEntryFace tex = TextureEntryFace.FromOSD(array[i], defaultFace, out faceNumber);
                        if (faceNumber >= 0 && faceNumber < te.FaceTextures.Length)
                        {
                            te.FaceTextures[faceNumber] = tex;
                        }
                    }

                    return(te);
                }
                else
                {
                    throw new ArgumentException("SD contains no elements");
                }
            }