public void Build(ColumnDraft draft)
        {
            if (!Utils.IsValid(this))
            {
                return;
            }

            if (!Utils.IsValid(draft))
            {
                return;
            }

            var settings = CreateSettings(draft);

            if (!Utils.IsValid(settings))
            {
                return;
            }

            var list = CalculateItems(this, settings.height);

            if (!Utils.NotNullAndHasElements(list))
            {
                return;
            }

            GenerateItems(list, settings);
        }
        private void Build()
        {
            if (builder == null)
            {
                return;
            }

            if (draft.parent == null)
            {
                return;
            }

            Utils.DeleteChilds(draft.parent);

            for (int x = 0; x < repeatRight; x++)
            {
                var columnDraft = ColumnDraft.Create(draft);
                columnDraft.Parse(draft.parent);

                columnDraft.pivot = columnDraft.pivot
                                    + columnDraft.right * columnDraft.length * x;

                (builder as IColumnBuilder).Build(columnDraft);

                if (isRunDecorators)
                {
                    Utils.RunDecorators(draft.parent);
                }
            }
        }
        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 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);
        }
 public void Build(ColumnDraft draft)
 {
     return;
 }