47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using Domain.Interfaces;
|
|
//using Make3.CommonTypes.BinaryMask;
|
|
using Make3.CommonTypes.Interfaces.Matrices;
|
|
|
|
namespace Domain.RenderPart;
|
|
|
|
public abstract class RenderPartBase : IFrameRender
|
|
{
|
|
protected readonly IEnumerable<ILayer> _layers;
|
|
|
|
protected uint _row;
|
|
protected uint _col;
|
|
protected IMatrixAbstractFactory _matrixAbstractFactory;
|
|
|
|
public Guid RenderId { get; private set; }
|
|
|
|
protected RenderPartBase(IMatrixAbstractFactory matrixAbstractFactory, IEnumerable<ILayer> layers, uint row, uint col, Guid renderId)
|
|
{
|
|
_matrixAbstractFactory = matrixAbstractFactory;
|
|
_layers = layers;
|
|
_row = row;
|
|
_col = col;
|
|
RenderId = renderId;
|
|
}
|
|
|
|
public abstract Task<IEnumerable<ExpIniFileGenerator.FrameExpInfo>> Execute(CancellationToken cancellationToken);
|
|
|
|
public abstract long EstimateMemoryUsage();
|
|
|
|
protected abstract Task RenderImage();
|
|
|
|
protected virtual Task<ExpIniFileGenerator.FrameExpInfo> CreateFrameInfo()
|
|
{
|
|
throw new NotImplementedException();
|
|
return Task.FromResult(new ExpIniFileGenerator.FrameExpInfo());
|
|
}
|
|
|
|
protected virtual uint SetFrameNumber(uint row, uint column, uint columnsInRow)
|
|
{
|
|
return column + (row * columnsInRow);
|
|
}
|
|
|
|
protected Task SaveFrame()
|
|
{
|
|
return Task.CompletedTask;
|
|
}
|
|
} |