public void Save(UPath savePath)
        {
            // 1. Create file system for archive
            var archiveFileSystem = FileSystemFactory.CreateAfiFileSystem(ArchiveState, UPath.Root, _archiveStateInfo.StreamManager);

            // 2. Save PVB and PBIs
            var distinctPointMappings = _pointMappings.SelectMany(x => x).Batch(6).Select(x => x.OrderBy(y => y.v).ThenBy(y => y.u)).SelectMany(x => x).Distinct().ToArray();

            SavePvb(archiveFileSystem, distinctPointMappings);
            SavePbis(archiveFileSystem, _pointMappings, distinctPointMappings);

            // 3. Save images
            foreach (var stateInfo in _imageStateInfos)
            {
                _pluginManager.SaveFile(stateInfo);
            }

            // 3. Save original archive
            _pluginManager.SaveFile(_archiveStateInfo, savePath);
        }
Ejemplo n.º 2
0
 public Task <SaveResult> SaveFile(IStateInfo stateInfo)
 {
     return(_parentPluginManager.SaveFile(stateInfo));
 }