private static void GenerateItems(List <ColumnItem> list, ColumnGenerationSettings settings) { var totalHeight = Utils.CalculateHeightSum(list); var heightscale = settings.height / totalHeight; var elementDraft = CreateElementDraft(settings); foreach (var item in list) { elementDraft.height = item.builder.height * heightscale; item.builder.Build(elementDraft); elementDraft.pivot += elementDraft.up * elementDraft.height; } }
private static ElementDraft CreateElementDraft(ColumnGenerationSettings settings) { var result = ElementDraft.Create(); result.length = settings.length; result.height = settings.height; result.isHorizontalMrror = settings.isHorizontalMrror; result.isVerticalMirror = 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 ColumnGenerationSettings CreateSettings(ColumnDraft draft) { var result = ColumnGenerationSettings.Create(); result.length = draft.length; result.height = draft.height; result.isHorizontalMrror = draft.isHorizontalMrror; 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); }