/// <inheritdoc/> public IRenderingElement Generate(IAtomContainer container, RendererModel model) { ElementGroup numbers = new ElementGroup(); if (!model.GetWillDrawAtomNumbers()) { return(numbers); } var _offset = model.GetAtomNumberOffset(); Vector2 offset = new Vector2(_offset.X, -_offset.Y); offset *= (1 / model.GetScale()); int number = 1; foreach (var atom in container.Atoms) { Vector2 point = atom.Point2D.Value + offset; numbers.Add( new TextElement(ToPoint(point), number.ToString(), model.GetAtomNumberColorByType() ? model.GetAtomNumberColorer().GetAtomColor(atom) : model.GetAtomNumberTextColor())); number++; } return(numbers); }