public HatchStyleDefinition(CgmFile container, int index, HatchStyle style, double firstX, double firstY, double secondX, double secondY, double cycleLength, int[] gapWidths, int[] lineTypes) : this(container) { Index = index; Style = style; FirstDirX = firstX; FirstDirY = firstY; SecondDirX = secondX; SecondDirY = secondY; CycleLength = cycleLength; GapWidths.AddRange(gapWidths); LineTypes.AddRange(lineTypes); if (GapWidths.Count != LineTypes.Count) { throw new InvalidOperationException("Amount of GapWidths does not match with LineTypes!"); } }
public override void ReadFromBinary(IBinaryReader reader) { Index = reader.ReadIndex(); Style = (HatchStyle)reader.ReadEnum(); FirstDirX = reader.ReadSizeSpecification(_container.InteriorStyleSpecificationMode); FirstDirY = reader.ReadSizeSpecification(_container.InteriorStyleSpecificationMode); SecondDirX = reader.ReadSizeSpecification(_container.InteriorStyleSpecificationMode); SecondDirY = reader.ReadSizeSpecification(_container.InteriorStyleSpecificationMode); CycleLength = reader.ReadSizeSpecification(_container.InteriorStyleSpecificationMode); var numberOfLines = reader.ReadInt(); for (var i = 0; i < numberOfLines; i++) { GapWidths.Add(reader.ReadInt()); } for (var i = 0; i < numberOfLines; i++) { LineTypes.Add(reader.ReadInt()); } }