public MortonEnumerator(MyStorageDataCache source, MyStorageDataTypeEnum type) { Debug.Assert(source.Size3D.X == source.Size3D.Y && source.Size3D.Y == source.Size3D.Z); Debug.Assert(source.Size3D.IsPowerOfTwo); m_type = type; m_source = source; m_maxMortonCode = source.Size3D.Size(); m_mortonCode = -1; m_pos = default(Vector3I); m_current = 0; }
public abstract void ReadRange(MyStorageDataCache target, bool readContent, bool readMaterials, int lodIndex, ref Vector3I lodVoxelRangeMin, ref Vector3I lodVoxelRangeMax);
protected abstract void WriteRangeInternal(MyStorageDataCache source, bool writeContent, bool writeMaterials, ref Vector3I voxelRangeMin, ref Vector3I voxelRangeMax);
public void WriteRange(MyStorageDataCache source, bool writeContent, bool writeMaterials, ref Vector3I voxelRangeMin, ref Vector3I voxelRangeMax) { m_compressedData = null; WriteRangeInternal(source, writeContent, writeMaterials, ref voxelRangeMin, ref voxelRangeMax); }
void IMyStorage.WriteRange(MyStorageDataCache source, bool writeContent, bool writeMaterials, ref Vector3I voxelRangeMin, ref Vector3I voxelRangeMax) { EnsureMutable(); m_trueStorage.WriteRange(source, writeContent, writeMaterials, ref voxelRangeMin, ref voxelRangeMax); }
void IMyStorage.ReadRange(MyStorageDataCache target, bool readContent, bool readMaterials, int lodIndex, ref Vector3I lodVoxelRangeMin, ref Vector3I lodVoxelRangeMax) { m_trueStorage.ReadRange(target, readContent, readMaterials, lodIndex, ref lodVoxelRangeMin, ref lodVoxelRangeMax); }