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

Psychlops Wiki - Ellipse 差分

  • 最後の更新で追加された部分はこのように表示します。
  • 最後の更新で削除された部分はこのように表示します。

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

! コード例

{{syntax_highlight('cpp')}}
<<<
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();
}
}
>>>
[[http://psychlops.sourceforge.jp/images/ReferenceManual/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):