/** * Calculate for activity object * * This method does not lookup trackdata of the activity! * If you want an exact intensity value, use `calculateByTrackdata(...)` * * @param \Runalyze\Model\Activity\Entity $activity * @return int */ public function calculateByActivity(Activity\Entity $activity) { if ($activity->hrAvg() > 0) { return $this->calculateByHeartrateAverage($activity->hrAvg(), $activity->duration()); } return $this->calculateByPace($activity->distance(), $activity->duration()); }
/** * @return string */ public function hrIcon() { if ($this->Activity->hrAvg() > 0) { $Icon = new Icon(Icon::HEART); $Icon->setTooltip(__('Heartrate data available')); return $Icon->code(); } return ''; }
/** * Calculate trimp * @return int */ public function calculateTrimp() { if ($this->knowsTrackdata() && $this->Trackdata->has(Model\Trackdata\Entity::HEARTRATE)) { $Collector = new Trimp\DataCollector($this->Trackdata->heartRate(), $this->Trackdata->time()); $data = $Collector->result(); } elseif ($this->Activity->hrAvg() > 0) { $data = array($this->Activity->hrAvg() => $this->Activity->duration()); } else { $Factory = Context::Factory(); if ($this->Activity->typeid() > 0) { $data = array($Factory->type($this->Activity->typeid())->hrAvg() => $this->Activity->duration()); } else { $data = array($Factory->sport($this->Activity->sportid())->avgHR() => $this->Activity->duration()); } } $Athlete = Context::Athlete(); $Calculator = new Trimp\Calculator($Athlete, $data); return round($Calculator->value()); }
/** * Display table-row for a competition * @param array $data */ private function displayWKTr(array $data) { $Activity = new Activity\Entity($data); $Linker = new Linker($Activity); $Dataview = new Dataview($Activity); echo '<tr class="r"> <td>' . $this->getIconForCompetition($data['id']) . '</td> <td class="c small">' . $Linker->weekLink() . '</a></td> <td class="l"><strong>' . $Linker->linkWithComment() . '</strong></td> <td>' . $Dataview->distance(1) . '</td> <td>' . $Dataview->duration()->string(Duration::FORMAT_COMPETITION) . '</td> <td class="small">' . $Dataview->pace()->value() . '</td> <td class="small">' . Helper::Unknown($Activity->hrAvg()) . ' / ' . Helper::Unknown($Activity->hrMax()) . ' bpm</td> <td class="small">' . ($Activity->weather()->isEmpty() ? '' : $Activity->weather()->fullString($Activity->isNight())) . '</td> </tr>'; }
/** * Heart rate in bpm * @return int */ public function bpm() { return $this->Activity->hrAvg(); }