Removed weighted tracking, now just min/max
This commit is contained in:
parent
b3c129e356
commit
d085e9f54c
1 changed files with 27 additions and 7 deletions
|
@ -118,19 +118,39 @@ void TrackingView::addTrackable(ITrackable *trackable)
|
||||||
|
|
||||||
sf::Vector2f TrackingView::getCollectiveTrackingPoint() const
|
sf::Vector2f TrackingView::getCollectiveTrackingPoint() const
|
||||||
{
|
{
|
||||||
sf::Vector2f collectiveTrackingPoint = {0, 0};
|
sf::Vector2f minPoint = trackables[0]->getTrackablePosition();
|
||||||
|
sf::Vector2f maxPoint = minPoint;
|
||||||
|
|
||||||
|
// Find min and max point coordinates for x and y axis over all trackables
|
||||||
for (auto trackable : trackables)
|
for (auto trackable : trackables)
|
||||||
{
|
{
|
||||||
if (trackable->getTrackableState() != TrackableState::TRACKING)
|
auto trackableCoordinates = trackable->getTrackablePosition();
|
||||||
|
auto trackableSize = trackable->getTrackableSize();
|
||||||
|
|
||||||
|
auto minPointX = trackableCoordinates.x - trackableSize.x / 2.f;
|
||||||
|
auto maxPointX = trackableCoordinates.x + trackableSize.x / 2.f;
|
||||||
|
auto minPointY = trackableCoordinates.y - trackableSize.y / 2.f;
|
||||||
|
auto maxPointY = trackableCoordinates.y + trackableSize.y / 2.f;
|
||||||
|
|
||||||
|
if (minPointX < minPoint.x)
|
||||||
{
|
{
|
||||||
continue;
|
minPoint.x = minPointX;
|
||||||
|
}
|
||||||
|
if (maxPointX > maxPoint.x)
|
||||||
|
{
|
||||||
|
maxPoint.x = maxPointX;
|
||||||
|
}
|
||||||
|
if (minPointY < minPoint.y)
|
||||||
|
{
|
||||||
|
minPoint.y = minPointY;
|
||||||
|
}
|
||||||
|
if (maxPointY > maxPoint.y)
|
||||||
|
{
|
||||||
|
maxPoint.y = maxPointY;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
collectiveTrackingPoint += trackable->getTrackablePosition();
|
return minPoint + (maxPoint - minPoint) / 2.f;
|
||||||
}
|
|
||||||
|
|
||||||
return collectiveTrackingPoint / (float) trackables.size();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackingView::processTrackableStates()
|
void TrackingView::processTrackableStates()
|
||||||
|
|
Loading…
Reference in a new issue