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; }
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); }