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 )

状態更新関数

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