private static void GenerateItems(List <LineItem> list, LineGenerationSettings settings) { var totalLength = Utils.CalculateLengthSum(list); var lengthScale = settings.length / totalLength; var columnDraft = CreateColumnDraft(settings); foreach (var item in list) { columnDraft.isHorizontalMrror = item.isHorizontalMirror; columnDraft.length = item.builder.length * lengthScale; item.builder.Build(columnDraft); columnDraft.pivot += columnDraft.right * columnDraft.length; } }
private static ColumnDraft CreateColumnDraft(LineGenerationSettings settings) { var result = ColumnDraft.Create(); result.length = settings.length; result.height = settings.height; result.isHorizontalMrror = false; result.forwardScale = settings.forwardScale; result.parent = settings.parent; result.pivot = settings.pivot; result.up = settings.up; result.right = settings.right; return(result); }
/// ====================================================================== private static LineGenerationSettings CreateSettings(StandardLine builder, LineDraft draft) { var result = LineGenerationSettings.Create(); result.length = draft.length; result.height = draft.height; result.forwardScale = draft.forwardScale; result.parent = draft.parent; result.pivot = draft.pivot; result.up = draft.up; result.right = draft.right; result.forward = draft.forward; return(result); }