public int[] getSavRao() { int[] sav = new int[12] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; ZodiacHouse zl = h.getPosition(Body.Name.Lagna).toDivisionPosition(this.dtype).zodiac_house; foreach (Body.Name b in getBodies()) { int[] pav = this.getPav(b); Debug.Assert(pav.Length == 12, "Internal error: Pav didn't have 12 entries"); ZodiacHouse zb = h.getPosition(b).toDivisionPosition(this.dtype).zodiac_house; for (int i = 0; i < 12; i++) { ZodiacHouse zi = new ZodiacHouse((ZodiacHouse.Name)i + 1); int rasi = zb.numHousesBetween(zi); rasi = (int)zl.add(rasi).value; sav[rasi - 1] += pav[i]; } } return(sav); }
private bool checkJhd(string fileName) { HoraInfo info = (new Jhd(fileName)).toHoraInfo(); Horoscope h = new Horoscope(info, new HoroscopeOptions()); if (h.getPosition(Body.Name.Ketu).toDivisionPosition(new Division(Basics.DivisionType.Rasi)).zodiac_house.value == h.getPosition(Body.Name.Lagna).toDivisionPosition(new Division(Basics.DivisionType.Rasi)).zodiac_house.value) { return(true); } return(false); }
private void PopulateOptionsInit(Division dtype) { DivisionPosition dp = h.getPosition(mBody).toDivisionPosition(this.dtypeRasi); Longitude foundLon = new Longitude(0); bool bForward = true; ut_lower = cs.TransitSearch(mBody, h.info.tob, false, new Longitude(dp.cusp_lower), foundLon, ref bForward); ut_higher = cs.TransitSearch(mBody, h.info.tob, true, new Longitude(dp.cusp_higher), foundLon, ref bForward); double ut_span = (ut_higher - ut_lower) / (double)Basics.numPartsInDivision(dtype) * 5.0; double ut_curr = h.baseUT; ut_lower = ut_curr - (ut_span / 2.0); ut_higher = ut_curr + (ut_span / 2.0); //double ut_extra = (ut_higher-ut_lower)*(1.0/3.0); //ut_lower -= ut_extra; //ut_higher += ut_extra; //ut_lower = h.baseUT - 1.0/24.0; //ut_higher = h.baseUT + 1.0/24.0; this.opts = new UserOptions(this.utToMoment(ut_lower), this.utToMoment(ut_higher), dtype); }
public double ucchaBala(Body.Name b) { this.verifyGraha(b); Longitude debLon = Body.debilitationDegree(b); Longitude posLon = h.getPosition(b).longitude; double diff = posLon.sub(debLon).value; if (diff > 180) { diff = 360 - diff; } return((diff / 180.0) * 60.0); }
public void OnRecalculate(Object o) { Division dtype = new Division(Basics.DivisionType.Rasi); BodyPosition l1 = h.getPosition(Body.Name.Lagna); BodyPosition l2 = h2.getPosition(Body.Name.Lagna); BodyPosition m1 = h.getPosition(Body.Name.Moon); BodyPosition m2 = h2.getPosition(Body.Name.Moon); ZodiacHouse z1 = m1.toDivisionPosition(dtype).zodiac_house; ZodiacHouse z2 = m2.toDivisionPosition(dtype).zodiac_house; Nakshatra n1 = m1.longitude.toNakshatra(); Nakshatra n2 = m2.longitude.toNakshatra(); this.lView.Items.Clear(); { ListViewItem li = new ListViewItem("Nakshatra Yoni"); li.SubItems.Add(KutaNakshatraYoni.getType(n1).ToString() + " (" + KutaNakshatraYoni.getSex(n1).ToString() + ")"); li.SubItems.Add(KutaNakshatraYoni.getType(n2).ToString() + " (" + KutaNakshatraYoni.getSex(n2).ToString() + ")"); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Rasi Yoni"); li.SubItems.Add(KutaRasiYoni.getType(z1).ToString()); li.SubItems.Add(KutaRasiYoni.getType(z2).ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Varna"); li.SubItems.Add(KutaVarna.getType(n1).ToString()); li.SubItems.Add(KutaVarna.getType(n2).ToString()); li.SubItems.Add(KutaVarna.getScore(n1, n2).ToString() + "/" + KutaVarna.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Gana (Chandra)"); li.SubItems.Add(KutaGana.getType(n1).ToString()); li.SubItems.Add(KutaGana.getType(n2).ToString()); li.SubItems.Add(KutaGana.getScore(n1, n2).ToString() + "/" + KutaGana.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Gana (Lagna)"); li.SubItems.Add(KutaGana.getType(l1.longitude.toNakshatra()).ToString()); li.SubItems.Add(KutaGana.getType(l2.longitude.toNakshatra()).ToString()); li.SubItems.Add(KutaGana.getScore(l1.longitude.toNakshatra(), l2.longitude.toNakshatra()).ToString() + "/" + KutaGana.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Vedha"); li.SubItems.Add(KutaVedha.getType(n1).ToString()); li.SubItems.Add(KutaVedha.getType(n2).ToString()); li.SubItems.Add(KutaVedha.getScore(n1, n2).ToString() + "/" + KutaVedha.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Rajju"); li.SubItems.Add(KutaRajju.getType(n1).ToString()); li.SubItems.Add(KutaRajju.getType(n2).ToString()); li.SubItems.Add(KutaRajju.getScore(n1, n2).ToString() + "/" + KutaRajju.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Nadi"); li.SubItems.Add(KutaNadi.getType(n1).ToString()); li.SubItems.Add(KutaNadi.getType(n2).ToString()); li.SubItems.Add(KutaNadi.getScore(n1, n2).ToString() + "/" + KutaNadi.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Gotra (TD:Abhi)"); li.SubItems.Add(KutaGotra.getType(n1).ToString()); li.SubItems.Add(KutaGotra.getType(n2).ToString()); li.SubItems.Add(KutaGotra.getScore(n1, n2).ToString() + "/" + KutaGotra.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Vihanga"); li.SubItems.Add(KutaVihanga.getType(n1).ToString()); li.SubItems.Add(KutaVihanga.getType(n2).ToString()); li.SubItems.Add(KutaVihanga.getDominator(n1, n2).ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Bhuta (Nakshatra)"); li.SubItems.Add(KutaBhutaNakshatra.getType(n1).ToString()); li.SubItems.Add(KutaBhutaNakshatra.getType(n2).ToString()); li.SubItems.Add(KutaBhutaNakshatra.getScore(n1, n2).ToString() + "/" + KutaBhutaNakshatra.getMaxScore().ToString()); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Ghataka (Moon)"); ZodiacHouse ja = h.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; ZodiacHouse ch = h2.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; bool isGhataka = GhatakaMoon.checkGhataka(ja, ch); li.SubItems.Add(ja.ToString()); li.SubItems.Add(ch.ToString()); li.SubItems.Add(getGhatakaString(isGhataka)); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Ghataka (Tithi)"); ZodiacHouse ja = h.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; Longitude ltithi = h2.getPosition(Body.Name.Moon).longitude.sub(h2.getPosition(Body.Name.Sun).longitude); Tithi t = ltithi.toTithi(); bool isGhataka = GhatakaTithi.checkTithi(ja, t); li.SubItems.Add(ja.ToString()); li.SubItems.Add(t.ToString()); li.SubItems.Add(getGhatakaString(isGhataka)); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Ghataka (Day)"); ZodiacHouse ja = h.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; Basics.Weekday wd = h2.wday; bool isGhataka = GhatakaDay.checkDay(ja, wd); li.SubItems.Add(ja.ToString()); li.SubItems.Add(wd.ToString()); li.SubItems.Add(getGhatakaString(isGhataka)); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Ghataka (Star)"); ZodiacHouse ja = h.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; Nakshatra na = h2.getPosition(Body.Name.Moon).longitude.toNakshatra(); bool isGhataka = GhatakaStar.checkStar(ja, na); li.SubItems.Add(ja.ToString()); li.SubItems.Add(na.ToString()); li.SubItems.Add(getGhatakaString(isGhataka)); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Ghataka Lagna(S)"); ZodiacHouse ja = h.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; ZodiacHouse sa = h2.getPosition(Body.Name.Lagna).toDivisionPosition(dtype).zodiac_house; bool isGhataka = GhatakaLagnaSame.checkLagna(ja, sa); li.SubItems.Add(ja.ToString()); li.SubItems.Add(sa.ToString()); li.SubItems.Add(getGhatakaString(isGhataka)); lView.Items.Add(li); } { ListViewItem li = new ListViewItem("Ghataka Lagna(O)"); ZodiacHouse ja = h.getPosition(Body.Name.Moon).toDivisionPosition(dtype).zodiac_house; ZodiacHouse op = h2.getPosition(Body.Name.Lagna).toDivisionPosition(dtype).zodiac_house; bool isGhataka = GhatakaLagnaOpp.checkLagna(ja, op); li.SubItems.Add(ja.ToString()); li.SubItems.Add(op.ToString()); li.SubItems.Add(getGhatakaString(isGhataka)); lView.Items.Add(li); } this.ColorAndFontRows(this.lView); }
public FindYogas(Horoscope _h, Division __dtype) { h = _h; _dtype = __dtype; zhLagna = h.getPosition(Body.Name.Lagna).toDivisionPosition(_dtype).zodiac_house; }
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); }