/** * Generate list of Raja yogas. * * @return \Iterator * @see Maharishi Parashara. Brihat Parashara Hora Shastra. Chapter 41, Verse 28. */ public function generateYoga() { $Analysis = new Analysis($this->Data); $bhavaKendra = Bhava::$bhavaKendra; array_shift($bhavaKendra); $kendraRulers = $Analysis->getBhavaRulers($bhavaKendra); $trikonaRulers = $Analysis->getBhavaRulers(Bhava::$bhavaTrikona); foreach ($kendraRulers as $kendraRuler) { foreach ($trikonaRulers as $trikonaRuler) { $KendraRuler = Graha::getInstance($kendraRuler); $KendraRuler->setEnvironment($this->Data); $TrikonaRuler = Graha::getInstance($trikonaRuler); $TrikonaRuler->setEnvironment($this->Data); // Parivarthana if ($this->hasParivarthana($kendraRuler, $trikonaRuler)) { (yield ['kendra' => $kendraRuler, 'trikona' => $trikonaRuler, 'interplay' => Yoga::INTERPLAY_PARIVARTHANA]); } // Conjunct $kendraRulerIsConjuncted = $KendraRuler->isConjuncted(); if (isset($kendraRulerIsConjuncted[$trikonaRuler])) { (yield ['kendra' => $kendraRuler, 'trikona' => $trikonaRuler, 'interplay' => Yoga::INTERPLAY_CONJUNCT]); } // Aspect $kendraRulerIsAspected = $KendraRuler->isAspectedByGraha(); $trikonaRulerIsAspected = $TrikonaRuler->isAspectedByGraha(); if ($kendraRulerIsAspected[$trikonaRuler] == 1 && $trikonaRulerIsAspected[$kendraRuler] == 1) { (yield ['kendra' => $kendraRuler, 'trikona' => $trikonaRuler, 'interplay' => Yoga::INTERPLAY_ASPECT]); } } } }
/** * Constructor * * @param \Jyotish\Base\Data $Data */ public function __construct(\Jyotish\Base\Data $Data) { parent::__construct($Data); $this->bala['total'] = []; foreach ($this->balaVarga as $varga) { $balaVarga = 'bala' . ucfirst($varga); $this->bala[$varga] = $this->{$balaVarga}(); $this->bala['total'] = Math::arraySum($this->bala[$varga], $this->bala['total']); } }