Exemplo n.º 1
0
        public bool Stitch()
        {
            if (spans.Count == 1)
            {
                throw new Exception("MeshStitchLoops.Stitch: blind stitching not supported yet...");
            }

            int gid = Group.GetGroupID(Mesh);

            bool all_ok = true;

            int NS = spans.Count;

            for (int si = 0; si < NS; si++)
            {
                span s = spans[si];

                if (stitch_span_simple(s, gid) == false)
                {
                    all_ok = false;
                }
            }

            return(all_ok);
        }
Exemplo n.º 2
0
        public override string GetHTML(int deep = 0)
        {
            Childs.Clear();
            AddCSS("alert alert-" + StyleAlert.ToString("g"), true);
            if (isDismissible)
            {
                AddCSS("alert-dismissible fade show", true);
            }

            css_style = "min-height: 50px;";
            SetAttribute("role", "alert");

            if (isDismissible)
            {
                button button_close = new button(null);
                button_close.AddCSS("close");

                button_close.SetAttribute("data-dismiss", "alert");
                button_close.SetAttribute("aria-label", "Close");
                span my_span = new span()
                {
                    InnerText = "&times;"
                };
                my_span.SetAttribute("aria-hidden", "true");
                button_close.AddDomNode(my_span);
                Childs.Add(button_close);
            }

            Childs.Add(new text(Message));

            return(base.GetHTML(deep));
        }
Exemplo n.º 3
0
 public static string CreateEmailConfirmContent(string customername, string customerNumber, string code)
 {
     return
         (@$ "<div>
         <p style='color: #00558f; margin-bottom: 10px;'>Dear <span style = 'font-weight: bold;'>{customername}</span>.</p>
         <p style='color: #00558f; margin-bottom: 10px;'>
           Thank you for signing up for an Ars Airways account.<br>
           Your membership number: <span style='font-weight: bold'>{customerNumber}</span>.
Exemplo n.º 4
0
        private void btnLoadCod_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            openFileDialog1.Filter = "COD files (*.cod)|*.cod";

            if (openFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            XmlDocument loaded_xml = new XmlDocument();

            loaded_xml.Load(openFileDialog1.FileName);

            XmlNode video_node = loaded_xml.SelectSingleNode("/code/file");
            string  video_key  = video_node.InnerText;

            if (video_key != lblVideo.Text)
            {
                MessageBox.Show("Doesn't match loaded video.");
                return;
            }

            txtCoder.Text = loaded_xml.SelectSingleNode("/code/coder").InnerText;
            for (int i = 0; i < track_count; i++)
            {
                XmlNodeList np_spans = loaded_xml.SelectNodes("/code/tracks/track[@name=\"" + track_label(i).Text + "\"]/span");
                foreach (XmlNode xspan in np_spans)
                {
                    int  start = Int32.Parse(xspan.SelectSingleNode("@start").InnerText);
                    int  end   = Int32.Parse(xspan.SelectSingleNode("@end").InnerText);
                    span s     = new span();
                    s.start = start;
                    s.end   = end;
                    s.track = i;
                    track_spans[i].Add(s);
                }
            }

            //XmlNode flags = loaded_xml.SelectSingleNode("/code/flags");
            //if (flags != null)
            //{
            //    chkPaciFreePlay.Checked = flags.SelectSingleNode("@paci_free").InnerText == "1";
            //    chkPaciNatPlay.Checked = flags.SelectSingleNode("@paci_nat").InnerText == "1";
            //    chkStillFaceAbort.Checked = flags.SelectSingleNode("@still_abort").InnerText == "1";
            //    chkSexRevealed.Checked = flags.SelectSingleNode("@sex_revealed").InnerText == "1";
            //    chkPaciReunion.Checked = flags.SelectSingleNode("@paci_reunion").InnerText == "1";
            //    chkPaciStill.Checked = flags.SelectSingleNode("@paci_still").InnerText == "1";
            //}

            pictureBox1.Invalidate();
            pictureBox2.Invalidate();
        }
Exemplo n.º 5
0
        private void pictureBox2_Paint(object sender, PaintEventArgs e)
        {
            // paint the selected track
            e.Graphics.FillRectangle(Brushes.WhiteSmoke, 0, 18 * selected_track, pictureBox2.Width, 18);

            int pb2_start_time_x = (int)hScrollBar2.Value;
            int pb2_end_time_x   = (int)hScrollBar2.Value + 60;

            for (int track = 0; track < track_count; track++)
            {
                for (int i = 0; i < track_spans[track].Count; i++)
                {
                    span s = track_spans[track][i];
                    if (s.end < pb2_start_time_x)
                    {
                        continue;
                    }
                    if (s.start > pb2_end_time_x)
                    {
                        continue;
                    }

                    float start_x = pictureBox2.Width * (s.start - pb2_start_time_x) / 60;
                    float end_x   = pictureBox2.Width * (s.end - pb2_start_time_x) / 60;

                    e.Graphics.FillRectangle(track_brushes[track], start_x, 18 * track + 2, end_x - start_x, 14);

                    if (selected_span == s)
                    {
                        e.Graphics.DrawRectangle(Pens.Black, start_x, 18 * track + 2, end_x - start_x, 14);
                    }
                }
            }

            if (new_span_start != -1 &&
                hScrollBar1.Value > new_span_start)
            {
                if (hScrollBar1.Value > pb2_start_time_x ||
                    new_span_start < pb2_end_time_x)
                {
                    float start_x = pictureBox2.Width * (new_span_start - pb2_start_time_x) / 60;
                    float end_x   = pictureBox2.Width * (hScrollBar1.Value - pb2_start_time_x) / 60;

                    e.Graphics.FillRectangle(track_brushes[selected_track], start_x, 18 * selected_track + 2, end_x - start_x, 14);
                }
            }

            if (hScrollBar1.Value >= pb2_start_time_x &&
                hScrollBar1.Value < pb2_end_time_x)
            {
                int cursor_x = pictureBox2.Width * (hScrollBar1.Value - pb2_start_time_x) / 60;
                e.Graphics.DrawLine(Pens.Black, cursor_x, 0, cursor_x, pictureBox2.Height - 3);
            }
        }
Exemplo n.º 6
0
        public MeshStitchLoops(DMesh3 mesh, EdgeLoop l0, EdgeLoop l1)
        {
            Mesh  = mesh;
            Loop0 = new EdgeLoop(l0);
            Loop1 = new EdgeLoop(l1);

            span s = new span()
            {
                span0 = new Interval1i(0, 0),
                span1 = new Interval1i(0, 0)
            };

            spans.Add(s);
        }
        private static Node[] AggregateExpression(Block block, span span)
        {
            var original = block.Ast.GetRange(span.from, span.to).Cast <OpExpression>().ToList();

            var stack = new Stack <Node>();

            Node last = null;

            foreach (var op in original)
            {
                var popCount = op.GetRealPopCount();
                if (popCount > 0)
                {
                    op.Arguments = stack.Pop(popCount).Reverse().ToList();
                }

                var pushCount = op.PushCount;
                if (pushCount > 0)
                {
                    stack.Push(op);
                }

                last = op;
            }

            Node[] result;
            if (stack.Any() && stack.Peek() == last)
            {
                result = stack.Reverse().ToArray();
            }
            else
            {
                result = stack.Reverse().EndWith(last).ToArray();
            }

            // check result and bail if not correct..
            //var resultNodes = result
            //    .Cast<OpExpression>()
            //    .SelectMany(node => node.PrefixTraversal())
            //    .Cast<OpInstruction>()
            //    .ToList();

            //if (original.Select(o => o.Instruction).Any(originalNode => resultNodes.Contains(originalNode) == false))
            //{
            //    Debug.WriteLine("Bailing expression aggregation");
            //    result = original.Cast<Node>().ToArray();
            //}

            return(result);
        }
Exemplo n.º 8
0
 private void f1_hit()
 {
     if (new_span_start == -1)
     {
         new_span_start    = hScrollBar1.Value;
         lblAdding.Visible = true;
     }
     else
     {
         lblAdding.Visible = false;
         if (hScrollBar1.Value > new_span_start)
         {
             span new_span = new span();
             new_span.start = new_span_start;
             new_span.end   = hScrollBar1.Value;
             new_span.track = selected_track;
             track_spans[selected_track].Add(new_span);
         }
         new_span_start = -1;
     }
 }
Exemplo n.º 9
0
        private void pictureBox2_MouseClick(object sender, MouseEventArgs e)
        {
            int click_time  = hScrollBar2.Value + 60 * e.X / pictureBox2.Width;
            int click_track = e.Y / 18;

            if (e.Y - click_track * 18 < 2 ||
                e.Y - click_track * 18 > 16)
            {
                click_track = -1;
            }

            if (click_track >= track_count)
            {
                return;
            }

            if (click_track != -1)
            {
                for (int k = 0; k < track_spans[click_track].Count; k++)
                {
                    span s = track_spans[click_track][k];
                    if (click_time >= s.start &&
                        click_time < s.end)
                    {
                        selected_span     = s;
                        lblTrack.Text     = track_label(click_track).Text;
                        lblSpanEnd.Text   = selected_span.end.ToString();
                        lblSpanStart.Text = selected_span.start.ToString();
                        btnDelete.Enabled = true;
                        pictureBox2.Invalidate();
                        return;
                    }
                }
            }

            hScrollBar1.Value = hScrollBar2.Value + (int)(60 * e.X / (float)pictureBox2.Width);
            Player.Ctlcontrols.currentPosition = hScrollBar2.Value + (int)(60 * e.X / (float)pictureBox2.Width);
            Player.Ctlcontrols.play();
            Player.Ctlcontrols.pause();
        }
Exemplo n.º 10
0
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            for (int i = 0; i < track_count; i++)
            {
                for (int j = 0; j < track_spans[i].Count; j++)
                {
                    span  s       = track_spans[i][j];
                    float start_x = pictureBox1.Width * s.start / (float)hScrollBar1.Maximum;
                    float end_x   = pictureBox1.Width * s.end / (float)hScrollBar1.Maximum;
                    if (s.end == -1)
                    {
                        end_x = pictureBox1.Width * hScrollBar1.Value / (float)hScrollBar1.Maximum;
                    }
                    if (end_x == start_x)
                    {
                        end_x++;
                    }

                    e.Graphics.FillRectangle(track_brushes[i], start_x, i * 2, end_x - start_x, 2);
                }
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// specify subset of vertices that have known correspondences.
        /// </summary>
        public void AddKnownCorrespondences(int[] verts0, int[] verts1)
        {
            int N = verts0.Length;

            if (N != verts1.Length)
            {
                throw new Exception("MeshStitchLoops.AddKnownCorrespondence: lengths not the same!");
            }

            // construct list of pair correspondences as loop indices
            List <Index2i> pairs = new List <Index2i>();

            for (int k = 0; k < N; ++k)
            {
                int i0 = Loop0.FindVertexIndex(verts0[k]);
                int i1 = Loop1.FindVertexIndex(verts1[k]);
                pairs.Add(new Index2i(i0, i1));
            }

            // sort by increasing index in loop0 (arbitrary)
            pairs.Sort((pair1, pair2) => { return(pair1.a.CompareTo(pair2.a)); });

            // now construct spans
            List <span> new_spans = new List <span>();

            for (int k = 0; k < pairs.Count; ++k)
            {
                Index2i p1 = pairs[k];
                Index2i p2 = pairs[(k + 1) % pairs.Count];
                span    s  = new span()
                {
                    span0 = new Interval1i(p1.a, p2.a),
                    span1 = new Interval1i(p1.b, p2.b)
                };
                new_spans.Add(s);
            }
            spans = new_spans;
        }
Exemplo n.º 12
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (selected_span == null)
            {
                return; // shouldn't happen but eh.
            }
            List <span> spans = track_spans[selected_span.track];

            for (int i = 0; i < spans.Count; i++)
            {
                if (spans[i] == selected_span)
                {
                    spans.RemoveAt(i);
                    selected_span = null;
                    pictureBox2.Invalidate();
                    pictureBox1.Invalidate();
                    lblSpanStart.Text = "";
                    lblSpanEnd.Text   = "";
                    lblTrack.Text     = "";
                }
            }

            btnDelete.Enabled = false;
        }
Exemplo n.º 13
0
        /// <summary>
        /// this just does back-and-forth zippering, of as many quads as possible, and
        /// then a triangle-fan to finish whichever side is longer
        /// </summary>
        bool stitch_span_simple(span s, int gid)
        {
            bool all_ok = true;

            int N0 = Loop0.Vertices.Length;
            int N1 = Loop1.Vertices.Length;

            // stitch as many quads as we can
            int cur0 = s.span0.a, end0 = s.span0.b;
            int cur1 = s.span1.a, end1 = s.span1.b;

            while (cur0 != end0 && cur1 != end1)
            {
                int next0 = (cur0 + 1) % N0;
                int next1 = (cur1 + 1) % N1;

                int a = Loop0.Vertices[cur0], b = Loop0.Vertices[next0];
                int c = Loop1.Vertices[cur1], d = Loop1.Vertices[next1];
                if (add_triangle(b, a, c, gid) == false)
                {
                    all_ok = false;
                }
                if (add_triangle(c, d, b, gid) == false)
                {
                    all_ok = false;
                }

                cur0 = next0;
                cur1 = next1;
            }

            // now finish remaining verts on one side
            int last_c = Loop1.Vertices[cur1];

            while (cur0 != end0)
            {
                int next0 = (cur0 + 1) % N0;
                int a = Loop0.Vertices[cur0], b = Loop0.Vertices[next0];
                if (add_triangle(b, a, last_c, gid) == false)
                {
                    all_ok = false;
                }
                cur0 = next0;
            }

            // or the other (only one of these two loops will happen)
            int last_b = Loop0.Vertices[cur0];

            while (cur1 != end1)
            {
                int next1 = (cur1 + 1) % N1;
                int c = Loop1.Vertices[cur1], d = Loop1.Vertices[next1];
                if (add_triangle(c, d, last_b, gid) == false)
                {
                    all_ok = false;
                }
                cur1 = next1;
            }

            return(all_ok);
        }
Exemplo n.º 14
0
        private bool do_save()
        {
            if (txtCoder.Text.Length == 0)
            {
                MessageBox.Show("Please enter your coder id!");
                return(false);
            }

            StringBuilder SB = new StringBuilder();

            SB.Append("<code>\r\n");
            SB.Append("\t<version>2</version>\r\n");
            SB.AppendFormat("\t<file>{0}</file>\r\n", lblVideo.Text);
            SB.AppendFormat("\t<coder>{0}</coder>\r\n", txtCoder.Text);
            //SB.AppendFormat("\t<flags sex_revealed=\"{0}\" still_abort=\"{1}\" paci_nat=\"{2}\" paci_free=\"{3}\" paci_still=\"{4}\" paci_reunion=\"{5}\"/>\r\n",
            //    chkSexRevealed.Checked ? 1 : 0,
            //    chkStillFaceAbort.Checked ? 1 : 0,
            //    chkPaciNatPlay.Checked ? 1 : 0,
            //    chkPaciFreePlay.Checked ? 1 : 0,
            //    chkPaciStill.Checked ? 1 : 0,
            //    chkPaciReunion.Checked ? 1 : 0
            //    );
            SB.Append("\t<tracks>\r\n");
            for (int track = 0; track < track_count; track++)
            {
                SB.AppendFormat("\t\t<track name=\"{0}\">\r\n", track_label(track).Text);
                for (int sp = 0; sp < track_spans[track].Count; sp++)
                {
                    span s = track_spans[track][sp];
                    SB.AppendFormat("\t\t\t<span start=\"{0}\" end=\"{1}\"/>\r\n", s.start, s.end);
                }
                SB.Append("\t\t</track>\r\n");
            }
            SB.Append("\t</tracks>\r\n");
            SB.Append("</code>\r\n");

            SaveFileDialog sfd = new SaveFileDialog();

            sfd.FileName         = lblVideo.Text + "_infant_" + txtCoder.Text + ".cod";
            sfd.Filter           = "code files (*.cod)|*.cod|All files (*.*)|*.*";
            sfd.FilterIndex      = 1;
            sfd.RestoreDirectory = true;

            if (sfd.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    System.IO.File.WriteAllText(sfd.FileName, SB.ToString());
                    return(true);
                }
                catch
                {
                    MessageBox.Show("Failed to save! Check target file isn't read only or network/disc isn't down.");
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 15
0
 ErrorReported(source, message, span, errorCode, severity);
Exemplo n.º 16
0
 private static SpanAction <char, (string path, int offset)> s_createPascalCaseString = (span, args) => CreatePascalCaseString(span, args);
 => Split(span, separator, 0, span.Length, options);
 => UnderlyingObject = new DebugDataTipInfo(span, text);
Exemplo n.º 19
0
 return(ToHexString(span, withZeroX, false, false));
        /// <summary>
        /// Сформировать модальное окно
        /// </summary>
        /// <param name="title">Заголовок модального окна</param>
        /// <param name="text_ok_button">Текст конопки Ok (если null or empty), то кнопка не выводится вовсе</param>
        /// <param name="id_ok_button">ID атрибут конопки Ok</param>
        /// <param name="text_cansel_button">Текст конопки Cancel (если null or empty), то кнопка не выводится вовсе</param>
        /// <param name="body_html">Тело модального окна</param>
        /// <param name="id_modal_dialog">ID атрибут модального окна</param>
        public static div GetModalDialog(string title, string text_ok_button, string text_cansel_button, base_dom_root body_html, string id_modal_dialog = "exampleModal", string id_ok_button = "button_try_write")
        {
            span span_close_modal_header = new span("&times;");

            span_close_modal_header.SetAttribute("aria-hidden", "true");
            //
            button button_close_modal_header = new button(null);

            button_close_modal_header.AddCSS("close");
            button_close_modal_header.SetAttribute("data-dismiss", "modal");
            button_close_modal_header.SetAttribute("aria-label", "Close");
            button_close_modal_header.AddDomNode(span_close_modal_header);
            //
            h5 h5_modal_header = new h5(title);

            h5_modal_header.AddCSS("modal-title");
            div div_modal_header = new div();

            div_modal_header.AddCSS("modal-header");
            div_modal_header.AddDomNode(h5_modal_header);
            div_modal_header.AddDomNode(button_close_modal_header);
            //
            div modal_footer = new div();

            modal_footer.AddCSS("modal-footer");
            if (!string.IsNullOrEmpty(text_cansel_button))
            {
                button button_close_modal_footer = GetButton(text_cansel_button, null, null, VisualBootstrapStylesEnum.secondary);
                button_close_modal_footer.SetAttribute("data-dismiss", "modal");
                modal_footer.AddDomNode(button_close_modal_footer);
            }

            if (!string.IsNullOrEmpty(text_ok_button))
            {
                button button_send_modal_footer = GetButton(text_ok_button, null, "#", VisualBootstrapStylesEnum.primary);
                button_send_modal_footer.Id_DOM = id_ok_button;
                modal_footer.AddDomNode(button_send_modal_footer);
            }
            //
            div modal_content = new div();

            modal_content.AddCSS("modal-content");
            modal_content.AddDomNode(div_modal_header);
            //
            div modal_body = new div();

            modal_body.AddCSS("modal-body");
            modal_body.AddDomNode(body_html);
            modal_content.AddDomNode(modal_body);
            //
            modal_content.AddDomNode(modal_footer);
            //
            div modal_dialog_document = new div();

            modal_dialog_document.AddCSS("modal-dialog");

            modal_dialog_document.CustomAttributes.Add("role", "document");
            modal_dialog_document.AddDomNode(modal_content);
            //
            div ModalDialog = new div()
            {
                Id_DOM = id_modal_dialog
            };

            ModalDialog.AddCSS("modal fade", true);
            ModalDialog.CustomAttributes.Add("tabindex", "-1");
            ModalDialog.CustomAttributes.Add("role", "dialog");
            ModalDialog.CustomAttributes.Add("aria-labelledby", id_modal_dialog);
            ModalDialog.CustomAttributes.Add("aria-hidden", "true");

            ModalDialog.AddDomNode(modal_dialog_document);
            ModalDialog.before_coment_block = "Modal dialog";
            return(ModalDialog);
        }