Ejemplo n.º 1
0
        private void PrintVimDasa(VimsottariDasa vd)
        {
            Brush     b       = Brushes.Black;
            ArrayList al_dasa = vd.Dasa(0);
            ToDate    td      = new ToDate(h.baseUT, 360, 0, h);
            string    s       = "";

            g.ResetTransform();
            g.TranslateTransform(left, top);
            s = vd.Description();
            g.DrawString(s, f_u, b, 0, 0);
            top += f.Height + pad_height;

            foreach (DasaEntry de in al_dasa)
            {
                g.ResetTransform();
                g.TranslateTransform(left, top);
                Moment mStart = td.AddYears(de.StartUT);
                g.DrawString(Body.toString(de.graha), f, b, 0, 0);
                //s = string.Format("{0} ", mStart.ToDateString());
                //g.DrawString(s, f_fix, b, width / 6, 0);

                ArrayList   al_antar = vd.AntarDasa(de);
                DasaEntry[] deAntar  = (DasaEntry[])al_antar.ToArray(typeof(DasaEntry));

                int aw  = width / 7;
                int off = -40;
                g.DrawString(this.GetVimAntarString(td, deAntar[0]), f_s, b, off + aw, 0);
                g.DrawString(this.GetVimAntarString(td, deAntar[1]), f_s, b, off + aw * 2, 0);
                g.DrawString(this.GetVimAntarString(td, deAntar[2]), f_s, b, off + aw * 3, 0);

                g.DrawString(this.GetVimAntarString(td, deAntar[3]), f_s, b, off + aw, f.Height);
                g.DrawString(this.GetVimAntarString(td, deAntar[4]), f_s, b, off + aw * 2, f.Height);
                g.DrawString(this.GetVimAntarString(td, deAntar[5]), f_s, b, off + aw * 3, f.Height);

                g.DrawString(this.GetVimAntarString(td, deAntar[6]), f_s, b, off + aw, f.Height * 2);
                g.DrawString(this.GetVimAntarString(td, deAntar[7]), f_s, b, off + aw * 2, f.Height * 2);
                g.DrawString(this.GetVimAntarString(td, deAntar[8]), f_s, b, off + aw * 3, f.Height * 2);

                top += f.Height * 3 + 4;
            }
        }
Ejemplo n.º 2
0
        private void PrintDrigDasa(PrintPageEventArgs e)
        {
            left  = e.MarginBounds.Left;
            top   = e.MarginBounds.Top;
            width = e.MarginBounds.Width;

            IDasa id = new DrigDasa(h);

            g = e.Graphics;
            g.ResetTransform();
            g.TranslateTransform(left, top);
            PrintDasa(id, false);

            VimsottariDasa vd = new VimsottariDasa(h);

            vd.options.SeedBody = VimsottariDasa.UserOptions.StartBodyType.Lagna;
            vd.SetOptions(vd.options);
            id = vd;
            PrintDasa(id, true);
        }
Ejemplo n.º 3
0
        void Repopulate()
        {
            string[] weekdays = new string[]
            {
                "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"
            };

            mList.Items.Clear();

            ListViewItem li;

            li = new ListViewItem("Date of Birth");
            li.SubItems.Add(h.info.tob.ToString());
            mList.Items.Add(li);

            li = new ListViewItem("Time Zone");
            li.SubItems.Add(h.info.tz.ToString());
            mList.Items.Add(li);

            li = new ListViewItem("Latitude");
            li.SubItems.Add(h.info.lat.ToString());
            mList.Items.Add(li);

            li = new ListViewItem("Longitude");
            li.SubItems.Add(h.info.lon.ToString());
            mList.Items.Add(li);

            li = new ListViewItem("Altitude");
            li.SubItems.Add(h.info.alt.ToString());
            mList.Items.Add(li);

            {
                HMSInfo hms_srise = new HMSInfo(h.sunrise);
                li = new ListViewItem("Sunrise");
                string fmt = String.Format("{0:00}:{1:00}:{2:00}",
                                           hms_srise.degree, hms_srise.minute, hms_srise.second);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                HMSInfo hms_sset = new HMSInfo(h.sunset);
                li = new ListViewItem("Sunset");
                string fmt = String.Format("{0:00}:{1:00}:{2:00}",
                                           hms_sset.degree, hms_sset.minute, hms_sset.second);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("Weekday");
                string fmt = String.Format("{0}", h.wday);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                Longitude ltithi = h.getPosition(Body.Name.Moon).longitude.sub(h.getPosition(Body.Name.Sun).longitude);
                double    offset = (360.0 / 30.0) - ltithi.toTithiOffset();
                Tithi     ti     = ltithi.toTithi();
                Body.Name tiLord = ti.getLord();
                li = new ListViewItem("Tithi");
                string fmt = String.Format("{0} ({1}) {2:N}% left", ti.ToString(), tiLord, offset / 12.0 * 100);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                Longitude lmoon     = h.getPosition(Body.Name.Moon).longitude;
                Nakshatra nmoon     = lmoon.toNakshatra();
                Body.Name nmoonLord = VimsottariDasa.LordOfNakshatra(nmoon);
                double    offset    = (360.0 / 27.0) - lmoon.toNakshatraOffset();
                int       pada      = lmoon.toNakshatraPada();
                string    fmt       = String.Format("{0} {1} ({2}) {3:N}% left",
                                                    nmoon.value, pada, nmoonLord, offset / (360.0 / 27.0) * 100);
                li = new ListViewItem("Nakshatra");
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("Karana");
                Longitude lkarana = h.getPosition(Body.Name.Moon).longitude.sub(h.getPosition(Body.Name.Sun).longitude);
                double    koffset = (360.0 / 60.0) - lkarana.toKaranaOffset();
                Karana    k       = lkarana.toKarana();
                Body.Name kLord   = k.getLord();
                string    fmt     = string.Format("{0} ({1}) {2:N}% left", k.value, kLord, koffset / 6.0 * 100);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("Yoga");
                Longitude   smLon  = h.getPosition(Body.Name.Sun).longitude.add(h.getPosition(Body.Name.Moon).longitude);
                double      offset = (360.0 / 27.0) - smLon.toSunMoonYogaOffset();
                SunMoonYoga smYoga = smLon.toSunMoonYoga();
                Body.Name   smLord = smYoga.getLord();
                string      fmt    = string.Format("{0} ({1}) {2:N}% left", smYoga, smLord, offset / (360.0 / 27.0) * 100);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("Hora");
                Body.Name b   = h.calculateHora();
                string    fmt = String.Format("{0}", b);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("Kala");
                Body.Name b   = h.calculateKala();
                string    fmt = String.Format("{0}", b);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("Muhurta");
                int            mIndex = (int)(Math.Floor((h.hoursAfterSunrise() / h.lengthOfDay()) * 30.0) + 1);
                Basics.Muhurta m      = (Basics.Muhurta)mIndex;
                string         fmt    = String.Format("{0} ({1})", m, Basics.NakLordOfMuhurta(m));
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                double ghatisSr = h.hoursAfterSunrise() * 2.5;
                double ghatisSs = h.hoursAfterSunRiseSet() * 2.5;
                li = new ListViewItem("Ghatis");
                string fmt = String.Format("{0:0.0000} / {1:0.0000}", ghatisSr, ghatisSs);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                int vgOff = (int)Math.Ceiling(h.hoursAfterSunRiseSet() * 150.0);
                vgOff = vgOff % 9;
                if (vgOff == 0)
                {
                    vgOff = 9;
                }
                Body.Name b = (Body.Name)((int)Body.Name.Sun + vgOff - 1);
                li = new ListViewItem("Vighatika Graha");
                string fmt = String.Format("{0}", b);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
            }
            {
                li = new ListViewItem("LMT Offset");
                double e      = h.lmt_offset;
                double orig_e = e;
                e  = e < 0 ? -e : e;
                e *= 24.0;
                int hour = (int)Math.Floor(e);
                e = (e - Math.Floor(e)) * 60.0;
                int min = (int)Math.Floor(e);
                e = (e - Math.Floor(e)) * 60.0;
                string prefix = "";
                if (orig_e < 0)
                {
                    prefix = "-";
                }
                string fmt = String.Format("{0}{1:00}:{2:00}:{3:00.00}",
                                           prefix, hour, min, e);
                string fmt2 = String.Format(" ({0:00.00} minutes)", h.lmt_offset * 24.0 * 60.0);
                li.SubItems.Add(fmt + fmt2);
                mList.Items.Add(li);
            }
            {
                sweph.obtainLock(h);
                li = new ListViewItem("Ayanamsa");
                double aya      = sweph.swe_get_ayanamsa_ut(h.baseUT);
                int    aya_hour = (int)Math.Floor(aya);
                aya = (aya - Math.Floor(aya)) * 60.0;
                int aya_min = (int)Math.Floor(aya);
                aya = (aya - Math.Floor(aya)) * 60.0;
                string fmt = String.Format("{0:00}-{1:00}-{2:00.00}", aya_hour, aya_min, aya);
                li.SubItems.Add(fmt);
                mList.Items.Add(li);
                sweph.releaseLock(h);
            }
            {
                li = new ListViewItem("Universal Time");
                li.SubItems.Add(h.baseUT.ToString());
                mList.Items.Add(li);
            }


            this.ColorAndFontRows(mList);
        }
Ejemplo n.º 4
0
        private void PrintCoverPage(PrintPageEventArgs e)
        {
            g = e.Graphics;

            left  = e.MarginBounds.Left;
            top   = e.MarginBounds.Top;
            width = e.MarginBounds.Width;



            DivisionalChart dc_rasi = new DivisionalChart(h);

            dc_rasi.PrintMode = true;

            DivisionalChart dc_nav = new DivisionalChart(h);

            dc_nav.options.Varga = new Division(Basics.DivisionType.Navamsa);
            dc_nav.PrintMode     = true;
            dc_nav.SetOptions(dc_nav.options);

            // Rasi & Navamsa charts
            g.TranslateTransform(left, top);
            dc_rasi.DrawChart(g, width / 2, width / 2);
            g.ResetTransform();
            g.TranslateTransform(left + (width / 2), top);
            dc_nav.DrawChart(g, width / 2, width / 2);
            top += (width / 2) + pad_height;

            // Birth Details
            this.PrintString(string.Format("{0} {1}. {2}. {3}, {4}.",
                                           h.wday, h.info.tob, h.info.tz, h.info.lat, h.info.lon));

            // Tithi
            Longitude ltithi = h.getPosition(Body.Name.Moon).longitude.sub(h.getPosition(Body.Name.Sun).longitude);
            double    offset = (360.0 / 30.0) - ltithi.toTithiOffset();
            Tithi     ti     = ltithi.toTithi();

            this.PrintString(String.Format("Tithi: {0} {1:N}% left", ti.value, offset / 12.0 * 100));

            // Nakshatra
            Longitude lmoon = h.getPosition(Body.Name.Moon).longitude;
            Nakshatra nmoon = lmoon.toNakshatra();

            offset = (360.0 / 27.0) - lmoon.toNakshatraOffset();
            int pada = lmoon.toNakshatraPada();

            this.PrintString(String.Format("Nakshatra: {0} {1}  {2:N}% left",
                                           nmoon.value, pada, offset / (360.0 / 27.0) * 100));

            // Yoga, Hora
            Longitude   smLon  = h.getPosition(Body.Name.Sun).longitude.add(h.getPosition(Body.Name.Moon).longitude);
            SunMoonYoga smYoga = smLon.toSunMoonYoga();

            Body.Name bHora = h.calculateHora();
            this.PrintString(string.Format("{0} Yoga, {1} Hora", smYoga.value, bHora));



            top += pad_height;

            // Calculation Details
            foreach (BodyPosition bp in h.positionList)
            {
                switch (bp.type)
                {
                case BodyType.Name.Graha:
                case BodyType.Name.Lagna:
                case BodyType.Name.SpecialLagna:
                case BodyType.Name.Upagraha:
                    this.PrintBody(bp);
                    break;
                }
            }

            top  = e.MarginBounds.Top + (width / 2) + pad_height + f.Height;
            left = e.MarginBounds.Left + (width / 2);
            // Vimsottari Dasa
            VimsottariDasa vd = new VimsottariDasa(h);

            vd.options.SeedBody = VimsottariDasa.UserOptions.StartBodyType.Moon;
            this.PrintVimDasa(vd);
        }