FineKernelToolKit: FK::fk_TrackBall クラス

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
FK::fk_TrackBall クラス

マウスによる視点操作クラス [詳解]

`#include <FK/TrackBall.h>`

## 公開メンバ関数

| fk_TrackBall (fk_Window *win, fk_Model *camera=nullptr)
| コンストラクタ
void | setCamera (fk_Model *camera)
| カメラモデル設定関数
bool | isSetCamera (void)
| カメラ設定有無参照関数
void | setLookTo (fk_Vector pos)
| カメラ注視点変更関数
void | update (void)
| 状態更新関数

## 詳解

マウスによる視点操作クラス

このクラスは、マウスでの自由な視点操作を提供します。 本クラスの機能は fk_AppWindow 内で用いられており、 fk_AppWindow を利用する場合は本クラスを直接利用する必要はありません。 fk_Window を利用する場合で、 fk_AppWindow と同様のカメラ制御を行いたい場合に利用して下さい。

このクラスによって実現できる機能は以下の通りです。

- 右マウスボタンでドラッグ操作を行うと、オービット操作を行うことができます。 オービット操作とは、カメラが注視点を中心に回転することです。
- 中マウスボタン (近年の大抵のマウスではホイールを押し込むことを意味します) でドラッグ操作を行うと、注視点とカメラ自体が操作に沿って移動します。
- ホイール操作を行うと、カメラのズームイン・アウトが行えます。

上記の操作は全て update() を行うことにより自動的に処理します。 利用者は、シーンの再描画と共に本クラスインスタンスの update() 呼ぶだけでよく、その他の処理は必要ありません。

参照
  fk_Window, fk_AppWindow

## 構築子と解体子

## ◆ fk_TrackBall()

FK::fk_TrackBall::fk_TrackBall | ( | fk_Window * | win,
|  | fk_Model * | camera = nullptr )

コンストラクタ

引数

  [in] | win | カメラ制御を行うウィンドウ
  [in] | camera | カメラ用モデル。後から setCamera() で変更が可能です。

## 関数詳解

## ◆ setCamera()

void FK::fk_TrackBall::setCamera | ( | fk_Model * | camera | ) |

カメラモデル設定関数

制御用のカメラモデルを設定します。

引数

  [in] | camera | カメラ用モデル

## ◆ isSetCamera()

bool FK::fk_TrackBall::isSetCamera | ( | void |  | ) |

カメラ設定有無参照関数

カメラモデル設定の有無を参照します。

戻り値
  カメラが設定されている場合 true を、 設定されていない場合 false を返します。

## ◆ setLookTo()

void FK::fk_TrackBall::setLookTo | ( | fk_Vector | pos | ) |

カメラ注視点変更関数

設定されているカメラモデルの注視点を変更します。

引数

  [in] | pos | 注視点位置ベクトル

## ◆ update()

void FK::fk_TrackBall::update | ( | void |  | ) |

状態更新関数

現在のデバイスの状態を検出し、カメラの位置・方向情報を更新します。 基本的な本クラスの利用方法は、シーン再描画と共に本関数を呼ぶだけであり、 他にすることはほとんどありません。