더북(TheBook)

3.1.4 RotatedRect 클래스

RotatedRect 클래스는 회전된 사각형을 표현하는 클래스입니다. RotatedRect 클래스는 회전된 사각형의 중심 좌표를 나타내는 center, 사각형의 가로 및 세로 크기를 나타내는 size, 회전 각도 정보를 나타내는 angle을 멤버 변수로 가집니다. 간략화한 RotatedRect 클래스 정의를 코드 3-4에 나타냈습니다.

코드 3-4 간략화한 RotatedRect 클래스 정의

01    class RotatedRect
02    {
03    public:
04        RotatedRect();
05        RotatedRect(const Point2f& _center, const Size2f& _size, float _angle);
06        RotatedRect(const Point2f& point1, const Point2f& point2, const Point2f& point3);
07     
08        void points(Point2f pts[]) const;
09        Rect boundingRect() const;
10        Rect_<float> boundingRect2f() const;
11     
12        Point2f center;
13        Size2f size;
14        float angle;
15    };

 

4행 기본 생성자. 모든 멤버 변수를 0으로 초기화합니다.

5행 (_center, _size, _angle)을 인자로 받는 생성자. center = _center, size = _size, angle = _angle로 초기화합니다.

6행 (point1, point2, point3)을 인자로 받는 생성자. 인자로 전달된 세 점은 회전된 사각형의 세 꼭지점 좌표를 나타냅니다.

8행 RotatedRect::points() 멤버 함수는 회전된 사각형은 네 꼭지점 좌표를 pts 인자에 저장합니다.

9행 RotatedRect::boundingRect() 멤버 함수는 회전된 사각형을 포함하는 최소 크기의 사각형 정보를 반환합니다(정수 단위).

10행 RotatedRect::boundingRect2f() 멤버 함수는 회전된 사각형을 포함하는 최소 크기의 사각형 정보를 반환합니다(실수 단위).

12~14행 멤버 변수. center는 사각형의 중심 좌표, size는 사각형의 크기, angle은 시계 방향 회전 각도를 나타냅니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.