feat: add PartSequencerFactory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
23
OpenNest.Engine/Sequencing/PartSequencerFactory.cs
Normal file
23
OpenNest.Engine/Sequencing/PartSequencerFactory.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using OpenNest.CNC.CuttingStrategy;
|
||||
|
||||
namespace OpenNest.Engine.Sequencing
|
||||
{
|
||||
public static class PartSequencerFactory
|
||||
{
|
||||
public static IPartSequencer Create(SequenceParameters parameters)
|
||||
{
|
||||
return parameters.Method switch
|
||||
{
|
||||
SequenceMethod.RightSide => new RightSideSequencer(),
|
||||
SequenceMethod.LeftSide => new LeftSideSequencer(),
|
||||
SequenceMethod.BottomSide => new BottomSideSequencer(),
|
||||
SequenceMethod.EdgeStart => new EdgeStartSequencer(),
|
||||
SequenceMethod.LeastCode => new LeastCodeSequencer(),
|
||||
SequenceMethod.Advanced => new AdvancedSequencer(parameters),
|
||||
_ => throw new NotSupportedException(
|
||||
$"Sequence method '{parameters.Method}' is not supported.")
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user