41 lines
790 B
C++
Executable File
41 lines
790 B
C++
Executable File
|
|
|
|
#include "vp_rect.h"
|
|
|
|
namespace vp_objects {
|
|
|
|
vp_rect::vp_rect(int x, int y, int width, int height):
|
|
x(x),
|
|
y(y),
|
|
width(width),
|
|
height(height) {
|
|
|
|
}
|
|
|
|
vp_rect::vp_rect(vp_point left_top, vp_size wh):
|
|
x(left_top.x), y(left_top.y), width(wh.width), height(wh.height) {
|
|
|
|
}
|
|
|
|
|
|
vp_rect::~vp_rect() {
|
|
|
|
}
|
|
|
|
vp_point vp_rect::center() {
|
|
return vp_point(x + width / 2, y + height / 2);
|
|
}
|
|
|
|
float vp_rect::iou_with(const vp_rect & rect) {
|
|
return 1.0;
|
|
}
|
|
|
|
bool vp_rect::contains(const vp_point & p) {
|
|
return true;
|
|
}
|
|
|
|
vp_point vp_rect::track_point() {
|
|
// by default the center point of bottom is tracking point.
|
|
return {x + width / 2, y + height};
|
|
}
|
|
} |