MCPcopy Create free account
hub / github.com/Smorodov/Multitarget-tracker / CalcDistRect

Method CalcDistRect

src/Tracker/track.cpp:134–152  ·  view source on GitHub ↗

\brief CTrack::CalcDistRect \param reg \return

Source from the content-addressed store, hash-verified

132/// \return
133///
134track_t CTrack::CalcDistRect(const CRegion& reg) const
135{
136 std::array<track_t, 5> diff;
137 diff[0] = reg.m_rrect.center.x - m_lastRegion.m_rrect.center.x;
138 diff[1] = reg.m_rrect.center.y - m_lastRegion.m_rrect.center.y;
139 diff[2] = static_cast<track_t>(m_lastRegion.m_rrect.size.width - reg.m_rrect.size.width);
140 diff[3] = static_cast<track_t>(m_lastRegion.m_rrect.size.height - reg.m_rrect.size.height);
141 diff[4] = static_cast<track_t>(m_lastRegion.m_rrect.angle - reg.m_rrect.angle);
142
143 track_t dist = 0;
144 for (size_t i = 0; i < diff.size(); ++i)
145 {
146 dist += sqr(diff[i]);
147 }
148 if constexpr (sizeof(track_t) == sizeof(float))
149 return sqrtf(dist);
150 else
151 return sqrt(dist);
152}
153
154///
155/// \brief CTrack::CalcDistJaccard

Callers 1

CreateDistaceMatrixMethod · 0.80

Calls 3

sqrFunction · 0.85
sqrtFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected