diff options
Diffstat (limited to 'UVtools.Core/FileFormats/IFileFormat.cs')
-rw-r--r-- | UVtools.Core/FileFormats/IFileFormat.cs | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/UVtools.Core/FileFormats/IFileFormat.cs b/UVtools.Core/FileFormats/IFileFormat.cs index f2ff326..6329e9b 100644 --- a/UVtools.Core/FileFormats/IFileFormat.cs +++ b/UVtools.Core/FileFormats/IFileFormat.cs @@ -41,6 +41,11 @@ namespace UVtools.Core.FileFormats FileFormat.PrintParameterModifier[] PrintParameterModifiers { get; } /// <summary> + /// Gets the available <see cref="FileFormat.PrintParameterModifier"/> per layer + /// </summary> + FileFormat.PrintParameterModifier[] PrintParameterPerLayerModifiers { get; } + + /// <summary> /// Gets the file filter for open and save dialogs /// </summary> string FileFilter { get; } @@ -76,8 +81,6 @@ namespace UVtools.Core.FileFormats /// </summary> Mat[] Thumbnails { get; set; } - - /// <summary> /// Gets the cached layers into compressed bytes /// </summary> @@ -127,13 +130,18 @@ namespace UVtools.Core.FileFormats /// </summary> float TotalHeight { get; } - #region Universal Properties - /// <summary> /// Gets the last layer index /// </summary> uint LastLayerIndex { get; } + #region Universal Properties + + /// <summary> + /// Gets if this format support per layer override settings + /// </summary> + bool SupportPerLayerSettings { get; } + /// <summary> /// Gets the number of layers present in this file /// </summary> @@ -145,6 +153,11 @@ namespace UVtools.Core.FileFormats ushort BottomLayerCount { get; set; } /// <summary> + /// Gets the number of normal layer count + /// </summary> + uint NormalLayerCount { get; } + + /// <summary> /// Gets or sets the initial exposure time for <see cref="BottomLayerCount"/> in seconds /// </summary> float BottomExposureTime { get; set; } @@ -206,6 +219,11 @@ namespace UVtools.Core.FileFormats float PrintTime { get; } /// <summary> + /// Gets the estimate print time in seconds, if print doesn't support it it will be calculated + /// </summary> + float PrintTimeOrComputed { get; } + + /// <summary> /// Gets the estimate print time in hours /// </summary> float PrintTimeHours { get; } @@ -375,6 +393,7 @@ namespace UVtools.Core.FileFormats T GetInitialLayerValueOrNormal<T>(uint layerIndex, T initialLayerValue, T normalLayerValue); void RefreshPrintParametersModifiersValues(); + void RefreshPrintParametersPerLayerModifiersValues(uint layerIndex); /// <summary> /// Gets the value attributed to <see cref="FileFormat.PrintParameterModifier"/> @@ -393,6 +412,8 @@ namespace UVtools.Core.FileFormats byte SetValuesFromPrintParametersModifiers(); + void EditPrintParameters(OperationEditParameters operation); + /// <summary> /// Rebuilds GCode based on current settings /// </summary> |