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; } }
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); }
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); }
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); }