Exemple #1
0
        public Node <CompressedPhoton> LoadNodeFromStream(BinaryReader br)
        {
            int axis = br.ReadInt32();

            if (axis == -1)
            {
                return(null);
            }

            if ((axis < 0) || (axis > 2))
            {
                throw new IndexOutOfRangeException();
            }
            CompressedPhoton        phot = CompressedPhoton.FromStream(br);
            Node <CompressedPhoton> node = new Node <CompressedPhoton>(phot);

            AddPhoton(phot);
            node.Left  = LoadNodeFromStream(br);
            node.Right = LoadNodeFromStream(br);
            return(node);
        }
Exemple #2
0
        public void LoadStoreFromStream(BinaryReader br)
        {
            string id = new string(br.ReadChars(4));

            if (id != "STOR")
            {
                return;
            }

            int count = br.ReadInt32();

            if (count < 0)
            {
                return;
            }
            store = new CompressedPhoton[count];

            storeIndex = 0;
            for (int x = 0; x < count; x++)
            {
                AddPhoton(CompressedPhoton.FromStream(br));
            }
        }