Esempio n. 1
0
        public MyMicroOctreeLeaf(MyStorageDataTypeEnum dataType, int height, Vector3I voxelRangeMin)
        {
            Debug.Assert(dataType == MyStorageDataTypeEnum.Content ||
                         dataType == MyStorageDataTypeEnum.Material);

            m_octree = new MySparseOctree(height, dataType == MyStorageDataTypeEnum.Content
                ? MyOctreeNode.ContentFilter
                : MyOctreeNode.MaterialFilter);
            m_dataType = dataType;
            m_voxelRangeMin = voxelRangeMin;
        }
Esempio n. 2
0
 internal void ReadFrom(MyOctreeStorage.ChunkHeader header, Stream stream)
 {
     if (m_octree == null)
     {
         Debug.Assert(header.ChunkType == MyOctreeStorage.ChunkTypeEnum.ContentLeafOctree ||
                      header.ChunkType == MyOctreeStorage.ChunkTypeEnum.MaterialLeafOctree);
         m_octree = new MySparseOctree(0, header.ChunkType == MyOctreeStorage.ChunkTypeEnum.ContentLeafOctree
             ? MyOctreeNode.ContentFilter
             : MyOctreeNode.MaterialFilter);
     }
     m_octree.ReadFrom(header, stream);
 }