/** * Draw chakra. * * @param \Jyotish\Base\Data $Data * @param int $x * @param int $y * @param null|array $options Options to set (optional) */ public function drawChakra(\Jyotish\Base\Data $Data, $x, $y, array $options = null) { $this->setData($Data); $this->setOptions($options); $chakraStyle = 'Jyotish\\Draw\\Plot\\Chakra\\Style\\' . ucfirst($this->options['chakraStyle']); $this->Chakra = new $chakraStyle($Data); $bhavaPoints = $this->Chakra->getBhavaPoints($this->options['chakraSize'], $x, $y); foreach ($bhavaPoints as $number => $points) { if ($this->options['chakraStyle'] == Chakra::STYLE_NORTH) { $bhava = ' bhava' . $number; $rashi = ' rashi' . $Data->getData()['bhava'][$number]['rashi']; } else { $rashi = ' rashi' . $number; $Rashi = Rashi::getInstance($number); $Rashi->setEnvironment($Data); $bhava = ' bhava' . $Rashi->getBhava(); } $this->options['attributes'] = ['class' => 'bhava' . $bhava . $rashi]; $this->Renderer->drawPolygon($points, $this->options); } $this->drawRashiLabel($x, $y, $this->options); $this->drawBodyLabel($x, $y, $this->options); }
/** * Draw polygon. * * @param array $points An array containing the polygon's vertices. * @param null|array $options Options to set (optional) */ public function drawPolygon(array $points, array $options = null) { $this->Renderer->drawPolygon($points, $options); }