public Pin(int width, int height, int row, int col, string name, ValuesFunction valuesFunction, bool isOutputPin, bool isSignificant) { Width = width; Height = height; Row = row; Col = col; Name = name; ValuesFunction = valuesFunction; IsOutputPin = isOutputPin; IsSignificant = isSignificant; }
public ValuesFunctionTemplate(ValuesFunction func) { Type = func.Type; switch (func) { case StaticValuesFunction svf: StaticValue = svf.Value; break; case PeriodicValuesFunction pvf: PeriodicOn = pvf.On; PeriodicOff = pvf.Off; PeriodicSkip = pvf.Skip; break; case RepeatingSequenceValuesFunction rsvf: foreach (var part in rsvf.Sequence) { Sequence.Add(new SequencePartTemplate { Value = part.Value, Length = part.Length }); } break; case AggregateValuesFunction avf: AggregateOperation = avf.Operation; foreach (var fn in avf.Functions) { AggregateParts.Add(new ValuesFunctionTemplate(fn)); } break; case ReferenceValuesFunction rvf: Reference = rvf.Reference; break; } }