Esempio n. 1
0
        //Check if section has drivers on a position based on passed position
        private bool SectionEmpty(SectionPosition position, SectionData section)
        {
            switch (position)
            {
            //Check if driver on left section
            case SectionPosition.Left:
                if (section.Left != null)
                {
                    return(true);
                }
                break;

            //Check if driver on right section
            case SectionPosition.Right:
                if (section.Right != null)
                {
                    return(true);
                }
                break;

            //Check if driver on any of the two sections
            case SectionPosition.Both:
                if (section.Left != null || section.Right != null)
                {
                    return(true);
                }
                break;
            }
            return(false);
        }
Esempio n. 2
0
        public static string GetSectionPath(SectionPosition position, double x, double y, double w, double h, double r)
        {
            switch (position)
            {
            case SectionPosition.Left:           return(GetRoundedRectPath(x, y, w + 1, h, r, 0, 0, r));

            case SectionPosition.Middle:         return(GetRoundedRectPath(x - 1, y, w + 1, h, 0, 0, 0, 0));

            case SectionPosition.Right:          return(GetRoundedRectPath(x - 1, y, w + 1, h, 0, r, r, 0));

            case SectionPosition.OneSectionOnly: return(GetSimpleRoundedRectPath(x, y, w, h, r));

            default:
                throw new ArgumentOutOfRangeException(nameof(position), position, null);
            }
        }
 public Section(SectionPosition startingCurrentSectionPosition) {
   sectionPositions = new List<SectionPosition>();
   children = new List<Section>();
   sectionPositions.Add(startingCurrentSectionPosition);
 }
Esempio n. 4
0
        public static IList <ISectionFace> CreateFaces(this IPanelSection section, SectionPosition position, IRemovalParameters removalParameters)
        {
            var list = new List <ISectionFace>();

            _removalParameters = removalParameters;

            switch (position)
            {
            case SectionPosition.Center:
                list.AddFaceUpDown(section, position);
                break;

            case SectionPosition.SideTop:
                list.AddFaceUpDown(section, position);
                list.AddFaceTop(section, position);
                break;

            case SectionPosition.SideRigth:
                list.AddFaceUpDown(section, position);
                list.AddFaceRight(section, position);
                break;

            case SectionPosition.SideBottom:
                list.AddFaceUpDown(section, position);
                list.AddFaceBottom(section, position);
                break;

            case SectionPosition.SideLeft:
                list.AddFaceUpDown(section, position);
                list.AddFaceLeft(section, position);
                break;

            case SectionPosition.CornerTopRight:
                list.AddFaceUpDown(section, position);
                list.AddFaceTop(section, position);
                list.AddFaceRight(section, position);
                break;

            case SectionPosition.CornerTopLeft:
                list.AddFaceUpDown(section, position);
                list.AddFaceTop(section, position);
                list.AddFaceLeft(section, position);
                break;

            case SectionPosition.CornerBottomLeft:
                list.AddFaceUpDown(section, position);
                list.AddFaceBottom(section, position);
                list.AddFaceLeft(section, position);
                break;

            case SectionPosition.CornerBottomRight:
                list.AddFaceUpDown(section, position);
                list.AddFaceRight(section, position);
                list.AddFaceBottom(section, position);
                break;

            default:
                throw new ArgumentException();
            }

            _removalParameters = null;

            return(list);
        }
Esempio n. 5
0
 private static void AddFaceLeft(this IList <ISectionFace> list, IPanelSection section, SectionPosition position)
 {
     list.Add(CreateFace(section.GetCenterXFaceLeft(), section.CenterY, section.CenterZ, section.SizeY, section.SizeZ, Orientation.XNeg));
 }
Esempio n. 6
0
 private static void AddFaceBottom(this IList <ISectionFace> list, IPanelSection section, SectionPosition position)
 {
     list.Add(CreateFace(section.CenterX, section.GetCenterYFaceBottom(), section.CenterZ, section.SizeX, section.SizeZ, Orientation.YNeg));
 }
Esempio n. 7
0
 private static void AddFaceUpDown(this IList <ISectionFace> list, IPanelSection section, SectionPosition position)
 {
     list.Add(CreateFace(section.CenterX, section.CenterY, section.GetCenterZFaceUp(), section.SizeX, section.SizeY, Orientation.ZPos));
     list.Add(CreateFace(section.CenterX, section.CenterY, section.GetCenterZFaceDown(), section.SizeX, section.SizeY, Orientation.ZNeg));
 }