48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using CadParamPluging.Cad.Drawers; // Add this just in case, though they seem to be in .Cad
|
|
|
|
|
|
namespace CadParamPluging.Cad
|
|
{
|
|
public static class TemplateDrawingRegistry
|
|
{
|
|
private static readonly Dictionary<string, ITemplateDrawingGenerator> Generators =
|
|
new Dictionary<string, ITemplateDrawingGenerator>(StringComparer.OrdinalIgnoreCase);
|
|
|
|
static TemplateDrawingRegistry()
|
|
{
|
|
Register(new RingMachinedRollingGenerator());
|
|
Register(new RingRawRollingGenerator());
|
|
Register(new BlockRawFreeForgeRoundHeadGenerator());
|
|
Register(new RingRawFreeForgeNonCenterPunchGenerator());
|
|
Register(new BlockRawFreeForgeNoRoundHeadGenerator());
|
|
Register(new RingRawFreeForgeCenterPunchGenerator());
|
|
Register(new ShaftRawFreeForgeRoundShaftGenerator());
|
|
Register(new ShaftRawFreeForgeSquareShaftGenerator());
|
|
Register(new DiskRawFreeForgeGenerator());
|
|
}
|
|
|
|
public static bool TryResolve(string templateKey, out ITemplateDrawingGenerator generator)
|
|
{
|
|
generator = null;
|
|
if (string.IsNullOrWhiteSpace(templateKey))
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return Generators.TryGetValue(templateKey, out generator);
|
|
}
|
|
|
|
private static void Register(ITemplateDrawingGenerator generator)
|
|
{
|
|
if (generator == null || string.IsNullOrWhiteSpace(generator.TemplateKey))
|
|
{
|
|
return;
|
|
}
|
|
|
|
Generators[generator.TemplateKey] = generator;
|
|
}
|
|
}
|
|
}
|