@@ -604,46 +604,53 @@ void GraphicsImpl::addIter(const int iter, const double overflow)
604604 }
605605 stepLength_chart_->addPoint (iter, values);
606606
607- values.clear ();
608- if (!nbVec_.empty () && nbVec_[0 ]) {
609- values.push_back (static_cast <double >(rb_->getRudyAverage ()));
610- values.push_back (
611- block->dbuAreaToMicrons (nbVec_[0 ]->getNesterovInstsArea ()));
612- const double total_tiles = static_cast <double >(rb_->getTotalTilesCount ());
613- values.push_back (total_tiles > 0.0
614- ? (static_cast <double >(rb_->getOverflowedTilesCount ())
615- / total_tiles * 100.0 )
616- : 0.0 );
617- values.push_back ((rb_->getTotalRudyOverflow ()));
618- } else {
619- values.push_back (0.0 );
620- values.push_back (0.0 );
621- values.push_back (0.0 );
622- values.push_back (0.0 );
623- values.push_back (0.0 );
607+ if (routing_chart_) {
608+ values.clear ();
609+ if (!nbVec_.empty () && nbVec_[0 ] && rb_) {
610+ values.push_back (static_cast <double >(rb_->getRudyAverage ()));
611+ values.push_back (
612+ block->dbuAreaToMicrons (nbVec_[0 ]->getNesterovInstsArea ()));
613+ const double total_tiles = static_cast <double >(rb_->getTotalTilesCount ());
614+ values.push_back (total_tiles > 0.0 ? (static_cast <double >(
615+ rb_->getOverflowedTilesCount ())
616+ / total_tiles * 100.0 )
617+ : 0.0 );
618+ values.push_back ((rb_->getTotalRudyOverflow ()));
619+ } else {
620+ values.push_back (0.0 );
621+ values.push_back (0.0 );
622+ values.push_back (0.0 );
623+ values.push_back (0.0 );
624+ }
625+ routing_chart_->addPoint (iter, values);
624626 }
625- routing_chart_->addPoint (iter, values);
626627}
627628
628629void GraphicsImpl::addTimingDrivenIter (const int iter)
629630{
630631 main_chart_->addVerticalMarker (iter, gui::Painter::kTurquoise );
631- routing_chart_->addVerticalMarker (iter, gui::Painter::kTurquoise );
632+ if (routing_chart_) {
633+ routing_chart_->addVerticalMarker (iter, gui::Painter::kTurquoise );
634+ }
632635}
633636
634637void GraphicsImpl::addRoutabilitySnapshot (int iter)
635638{
636639 main_chart_->addVerticalMarker (iter, gui::Painter::kYellow );
637- routing_chart_->addVerticalMarker (iter, gui::Painter::kYellow );
640+ if (routing_chart_) {
641+ routing_chart_->addVerticalMarker (iter, gui::Painter::kYellow );
642+ }
638643}
639644
640645void GraphicsImpl::addRoutabilityIter (const int iter, const bool revert)
641646{
642647 gui::Painter::Color color
643648 = revert ? gui::Painter::kRed : gui::Painter::kGreen ;
644649 main_chart_->addVerticalMarker (iter, color);
645- routing_chart_->addVerticalMarker (
646- iter, rb_->isMinRc () ? gui::Painter::kMagenta : gui::Painter::kBlack );
650+ if (routing_chart_ && rb_) {
651+ routing_chart_->addVerticalMarker (
652+ iter, rb_->isMinRc () ? gui::Painter::kMagenta : gui::Painter::kBlack );
653+ }
647654}
648655
649656void GraphicsImpl::cellPlotImpl (bool pause)
0 commit comments