Files
VideoPipe/objects/shapes/vp_rect.h
2026-06-03 12:43:14 +08:00

38 lines
834 B
C++
Executable File

#pragma once
#include <tuple>
#include "vp_point.h"
#include "vp_size.h"
namespace vp_objects {
// rect in 2-dims coordinate system
class vp_rect {
private:
/* data */
public:
vp_rect() = default;
vp_rect(int x, int y, int width, int height);
vp_rect(vp_point left_top, vp_size wh);
~vp_rect();
int x;
int y;
int width;
int height;
// get center point of the rect
vp_point center();
// get track point of the rect
// track point is used to locate the target(represented by the rect)
vp_point track_point();
// calculate the iou with another rect
float iou_with(const vp_rect & rect);
// check if the rect contains a point
bool contains(const vp_point & p);
};
}