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

Ellipse

概要

一つの楕円を表現するクラスで、Shapeを継承しています。中心をdatumとして、水平方向軸の径と垂直方向軸の径を持つ楕円を示します。

コード例

void psychlops_main() {
	Canvas canvas(Canvas::window);

	Psychlops::Ellipse ellipse;
	ellipse.set(100,200).centering().shift(100,100);

	while(!Keyboard::esc.pushed()) {
		canvas.clear();
		ellipse.draw(Color::yellow);
		canvas.flip();
	}
}

Ellipse.png

変数

Point datum
楕円の中心。
double radius
水平方向軸での径
double v_radius
垂直方向軸での径

関数

Ellipse& set(const double d_radius, const double d_v_radius, const Point& d_datum = )
水平径、垂直径、中心を指定します。水平方向軸の径は必須で、垂直方向軸の径は省略時は水平方向軸の径と同じになります。
Ellipse& set(const Rectangle& rect)
長方形を指定、その内接楕円となる値をセットします。

継承した関数

Figureより

const Point getDatum()
楕円の中心を得ます
Figure& setDatum(const Point p)
楕円の中心を設定します
Figure& centering(const Point p)
センタリングします
Figure& shift(const Point p)
移動します

Shapeより

virtual Ellipse& draw(Drawable &target = *Drawable::prime)
virtual Ellipse& draw(const Color &col, Drawable &target = *Drawable::prime)
virtual Ellipse& draw(const Stroke &strk, Drawable &target = *Drawable::prime)