Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sn4k3/UVtools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'UVtools.Core/FileFormats/FileFormat.cs')
-rw-r--r--UVtools.Core/FileFormats/FileFormat.cs36
1 files changed, 25 insertions, 11 deletions
diff --git a/UVtools.Core/FileFormats/FileFormat.cs b/UVtools.Core/FileFormats/FileFormat.cs
index c98eef2..a639fae 100644
--- a/UVtools.Core/FileFormats/FileFormat.cs
+++ b/UVtools.Core/FileFormats/FileFormat.cs
@@ -367,12 +367,12 @@ namespace UVtools.Core.FileFormats
public abstract FileExtension[] FileExtensions { get; }
/// <summary>
- /// Gets the available <see cref="FileFormat.PrintParameterModifier"/>
+ /// Gets the available <see cref="PrintParameterModifier"/>
/// </summary>
public virtual PrintParameterModifier[] PrintParameterModifiers => null;
/// <summary>
- /// Gets the available <see cref="FileFormat.PrintParameterModifier"/> per layer
+ /// Gets the available <see cref="PrintParameterModifier"/> per layer
/// </summary>
public virtual PrintParameterModifier[] PrintParameterPerLayerModifiers => null;
@@ -385,12 +385,12 @@ namespace UVtools.Core.FileFormats
PrintParameterModifiers is not null && PrintParameterModifiers.Contains(modifier);
/// <summary>
- /// Checks if a <see cref="PrintParameterModifier"/> exists on print parameters
+ /// Checks if a <see cref="PrintParameterModifier"/> exists on layer parameters
/// </summary>
/// <param name="modifier"></param>
/// <returns>True if exists, otherwise false</returns>
- public bool HavePrintParameterPerLayerModifier(PrintParameterModifier modifier) =>
- PrintParameterPerLayerModifiers is not null && PrintParameterPerLayerModifiers.Contains(modifier);
+ public bool HaveLayerParameterModifier(PrintParameterModifier modifier) =>
+ SupportPerLayerSettings && PrintParameterPerLayerModifiers.Contains(modifier);
/// <summary>
/// Gets the file filter for open and save dialogs
@@ -917,7 +917,7 @@ namespace UVtools.Core.FileFormats
public bool CanUseAnyLiftHeight => CanUseBottomLiftHeight || CanUseLiftHeight;
public bool CanUseBottomLiftSpeed => HavePrintParameterModifier(PrintParameterModifier.BottomLiftSpeed);
- public bool CanUseLiftSpeed => HavePrintParameterModifier(PrintParameterModifier.LiftHeight);
+ public bool CanUseLiftSpeed => HavePrintParameterModifier(PrintParameterModifier.LiftSpeed);
public bool CanUseAnyLiftSpeed => CanUseBottomLiftSpeed || CanUseLiftSpeed;
public bool CanUseRetractSpeed => HavePrintParameterModifier(PrintParameterModifier.RetractSpeed);
@@ -930,6 +930,13 @@ namespace UVtools.Core.FileFormats
public bool CanUseLightPWM => HavePrintParameterModifier(PrintParameterModifier.LightPWM);
public bool CanUseAnyLightPWM => CanUseBottomLightPWM || CanUseLightPWM;
+ public bool CanUseLayerExposureTime => HaveLayerParameterModifier(PrintParameterModifier.ExposureSeconds);
+ public bool CanUseLayerLiftHeight => HaveLayerParameterModifier(PrintParameterModifier.LiftHeight);
+ public bool CanUseLayerLiftSpeed => HaveLayerParameterModifier(PrintParameterModifier.LiftSpeed);
+ public bool CanUseLayerRetractSpeed => HaveLayerParameterModifier(PrintParameterModifier.RetractSpeed);
+ public bool CanUseLayerLightOffDelay => HaveLayerParameterModifier(PrintParameterModifier.LightOffDelay);
+ public bool CanUseLayerLightPWM => HaveLayerParameterModifier(PrintParameterModifier.LightPWM);
+
public string ExposureRepresentation
{
get
@@ -1368,6 +1375,13 @@ namespace UVtools.Core.FileFormats
return result;
}
+ public bool FileEndsWith(string extension)
+ {
+ if (extension[0] != '.') extension = $".{extension}";
+ return FileFullPath.EndsWith(extension, StringComparison.OrdinalIgnoreCase) ||
+ FileFullPath.EndsWith($"{extension}{TemporaryFileAppend}", StringComparison.OrdinalIgnoreCase);
+ }
+
/// <summary>
/// Gets a thumbnail by it height or lower
/// </summary>
@@ -1617,15 +1631,15 @@ namespace UVtools.Core.FileFormats
tw.WriteLine($"{nameof(layer.PositionZ)}: {layer.PositionZ}");
tw.WriteLine($"{nameof(layer.ExposureTime)}: {layer.ExposureTime}");
- if (HavePrintParameterPerLayerModifier(PrintParameterModifier.LightOffDelay))
+ if (HaveLayerParameterModifier(PrintParameterModifier.LightOffDelay))
tw.WriteLine($"{nameof(layer.LightOffDelay)}: {layer.LightOffDelay}");
- if (HavePrintParameterPerLayerModifier(PrintParameterModifier.LiftHeight))
+ if (HaveLayerParameterModifier(PrintParameterModifier.LiftHeight))
tw.WriteLine($"{nameof(layer.LiftHeight)}: {layer.LiftHeight}");
- if (HavePrintParameterPerLayerModifier(PrintParameterModifier.LiftSpeed))
+ if (HaveLayerParameterModifier(PrintParameterModifier.LiftSpeed))
tw.WriteLine($"{nameof(layer.LiftSpeed)}: {layer.LiftSpeed}");
- if (HavePrintParameterPerLayerModifier(PrintParameterModifier.RetractSpeed))
+ if (HaveLayerParameterModifier(PrintParameterModifier.RetractSpeed))
tw.WriteLine($"{nameof(layer.RetractSpeed)}: {layer.RetractSpeed}");
- if (HavePrintParameterPerLayerModifier(PrintParameterModifier.LightPWM))
+ if (HaveLayerParameterModifier(PrintParameterModifier.LightPWM))
tw.WriteLine($"{nameof(layer.LightPWM)}: {layer.LightPWM}");
var materialMillilitersPercent = layer.MaterialMillilitersPercent;