FrontPage  ページ一覧  検索  更新履歴  RSS  ログイン

Rectangle

概要

Rectangleは長方形を扱うクラスです。

使い方

Rectangleで扱う長方形は座標が固定されています。 通常、長方形を移動するときはcentering()などでセンタリングしてから、shift(double h, double v)で動かします。

// サンプル
Psychlops::Rectangle rect;
rect.set(100, 100).centering().shift(-100, 0);
rect.draw(Color::red);
   // rectという名前のRectangleを作る
   // 幅100高100ピクセルの大きさに設定し、センタリングしてx軸で100ピクセル左に移動
   // 赤い色で表示

メソッド

初期化

Rectangle()
(0,0)で初期化します。
Rectangle(double l, double t, double r, double b)
長方形の左上の座標が(l,t)、右下の座標が(r,b)になるように初期化します。
Rectangle(double width, double height)
長方形を幅width、高さheightに初期化します。
Rectangle& set(const Rectangle &r)
長方形をrで指定したRectangleと同一にします。
Rectangle& set(const Point &po1, const Point &po2)
長方形の左上座標をpo1、右下座標をpo2にします。
Rectangle& set(double l, double t, double r, double b)
長方形の左上の座標を(l,t)、右下の座標を(r,b)にします。
Rectangle& set(double width, double height)
長方形の幅をwidth、高さをheightにします。
Rectangle& resize(double width, double height)
長方形の大きさを幅width、高さheightに変更します。

移動

Rectangle& centering()
長方形を画面の中央に移動します。
Rectangle& centering(double x, double y)
長方形の中心を(x,y)に移動します。
Rectangle& centering(const Point &po)
長方形の中心をpoに移動します。
Rectangle& centering(const Rectangle &rect)
長方形の中心をrectで指定したRectangleと同一にします。
Rectangle& centering(const Image &img)
長方形の中心をimgで指定したImageの中央に移動します。
Rectangle& shift(double h, double v)
長方形を現在の座標から(h,v)だけ移動します。

座標取得

それぞれの関数名のとおりの長方形の情報を取得します。 例えば、getWidthなら長方形の幅を返します。

double getWidth() const
double getHeight() const
Point getCenter() const
double getHcenter() const
double getVcenter() const
double getTop() const
double getLeft() const
double getBottom() const
double getRight() const

包含判定

Rectangleが、その座標内に他の点や四角形を含むかどうか判定します。判定時は自身を閉集合として考えます(=境界線上に判定対象がある場合、含むと判定されます)。

bool include(double x, double y)
Rectangleの中に(x,y)点が入っているかどうか判定します
bool include(Point other)
Rectangleの中にPoint点が入っているかどうか判定します
bool include(Rectangle other)
Rectangleの中に別のRectangleが完全に入っているかどうか判定します