ゲームグラフィックス特論
公開メンバ関数 | 全メンバ一覧
gg::GgTrackball クラス

簡易トラックボール処理. [詳解]

#include <gg.h>

公開メンバ関数

 GgTrackball ()
 コンストラクタ. [詳解]
 
virtual ~GgTrackball ()
 デストラクタ. [詳解]
 
void region (float w, float h)
 トラックボール処理するマウスの移動範囲を指定する. [詳解]
 
void region (int w, int h)
 トラックボール処理するマウスの移動範囲を指定する. [詳解]
 
void begin (float x, float y)
 トラックボール処理を開始する. [詳解]
 
void motion (float x, float y)
 回転の変換行列を計算する. [詳解]
 
void rotate (const GgQuaternion &q)
 トラックボールの回転角を修正する. [詳解]
 
void end (float x, float y)
 トラックボール処理を停止する. [詳解]
 
void reset ()
 トラックボールをリセットする [詳解]
 
const GLfloat * getStart () const
 トラックボール処理の開始位置を取り出す. [詳解]
 
GLfloat getStart (int direction) const
 トラックボール処理の開始位置を取り出す. [詳解]
 
void getStart (GLfloat *position) const
 トラックボール処理の開始位置を取り出す. [詳解]
 
const GLfloat * getScale () const
 トラックボール処理の換算係数を取り出す. [詳解]
 
GLfloat getScale (int direction) const
 トラックボール処理の換算係数を取り出す. [詳解]
 
void getScale (GLfloat *factor) const
 トラックボール処理の換算係数を取り出す. [詳解]
 
const GgQuaterniongetQuaternion () const
 現在の回転の四元数を取り出す. [詳解]
 
const GgMatrixgetMatrix () const
 現在の回転の変換行列を取り出す. [詳解]
 
const GLfloat * get () const
 現在の回転の変換行列を取り出す. [詳解]
 

詳解

簡易トラックボール処理.

gg.h3737 行目に定義があります。

構築子と解体子

◆ GgTrackball()

gg::GgTrackball::GgTrackball ( )
inline

コンストラクタ.

gg.h3749 行目に定義があります。

呼び出し関係図:

◆ ~GgTrackball()

virtual gg::GgTrackball::~GgTrackball ( )
inlinevirtual

デストラクタ.

gg.h3755 行目に定義があります。

関数詳解

◆ begin()

void gg::GgTrackball::begin ( float  x,
float  y 
)

トラックボール処理を開始する.

マウスのドラッグ開始時 (マウスボタンを押したとき) に呼び出す.

引数
x現在のマウスの x 座標.
y現在のマウスの y 座標.

gg.cpp4899 行目に定義があります。

◆ end()

void gg::GgTrackball::end ( float  x,
float  y 
)

トラックボール処理を停止する.

マウスのドラッグ終了時 (マウスボタンを離したとき) に呼び出す.

引数
x現在のマウスの x 座標.
y現在のマウスの y 座標.

gg.cpp4963 行目に定義があります。

◆ get()

const GLfloat* gg::GgTrackball::get ( ) const
inline

現在の回転の変換行列を取り出す.

戻り値
回転の変換を表す GLfloat 型の 16 要素の配列.

gg.h3857 行目に定義があります。

呼び出し関係図:

◆ getMatrix()

const GgMatrix& gg::GgTrackball::getMatrix ( ) const
inline

現在の回転の変換行列を取り出す.

戻り値
回転の変換を表す GgMatrix 型の変換行列.

gg.h3850 行目に定義があります。

◆ getQuaternion()

const GgQuaternion& gg::GgTrackball::getQuaternion ( ) const
inline

現在の回転の四元数を取り出す.

戻り値
回転の変換を表す Quaternion 型の四元数.

gg.h3843 行目に定義があります。

◆ getScale() [1/3]

const GLfloat* gg::GgTrackball::getScale ( ) const
inline

トラックボール処理の換算係数を取り出す.

戻り値
トラックボールの換算係数のポインタ.

gg.h3821 行目に定義があります。

◆ getScale() [2/3]

void gg::GgTrackball::getScale ( GLfloat *  factor) const
inline

トラックボール処理の換算係数を取り出す.

引数
factorトラックボールの換算係数を格納する 2 要素の配列.

gg.h3835 行目に定義があります。

◆ getScale() [3/3]

GLfloat gg::GgTrackball::getScale ( int  direction) const
inline

トラックボール処理の換算係数を取り出す.

引数
direction0 なら x 方向, 1 なら y 方向.

gg.h3828 行目に定義があります。

◆ getStart() [1/3]

const GLfloat* gg::GgTrackball::getStart ( ) const
inline

トラックボール処理の開始位置を取り出す.

戻り値
トラックボールの開始位置のポインタ.

gg.h3799 行目に定義があります。

◆ getStart() [2/3]

void gg::GgTrackball::getStart ( GLfloat *  position) const
inline

トラックボール処理の開始位置を取り出す.

引数
positionトラックボールの開始位置を格納する 2 要素の配列.

gg.h3813 行目に定義があります。

◆ getStart() [3/3]

GLfloat gg::GgTrackball::getStart ( int  direction) const
inline

トラックボール処理の開始位置を取り出す.

引数
direction0 なら x 方向, 1 なら y 方向.

gg.h3806 行目に定義があります。

◆ motion()

void gg::GgTrackball::motion ( float  x,
float  y 
)

回転の変換行列を計算する.

マウスのドラッグ中に呼び出す.

引数
x現在のマウスの x 座標.
y現在のマウスの y 座標.

gg.cpp4915 行目に定義があります。

呼び出し関係図:

◆ region() [1/2]

void gg::GgTrackball::region ( float  w,
float  h 
)

トラックボール処理するマウスの移動範囲を指定する.

ウィンドウのリサイズ時に呼び出す.

引数
w領域の横幅.
h領域の高さ.

gg.cpp4886 行目に定義があります。

被呼び出し関係図:

◆ region() [2/2]

void gg::GgTrackball::region ( int  w,
int  h 
)
inline

トラックボール処理するマウスの移動範囲を指定する.

ウィンドウのリサイズ時に呼び出す.

引数
w領域の横幅.
h領域の高さ.

gg.h3767 行目に定義があります。

呼び出し関係図:

◆ reset()

void gg::GgTrackball::reset ( )

トラックボールをリセットする

gg.cpp4868 行目に定義があります。

被呼び出し関係図:

◆ rotate()

void gg::GgTrackball::rotate ( const GgQuaternion q)

トラックボールの回転角を修正する.

引数
q修正分の回転角の四元数.

gg.cpp4942 行目に定義があります。

呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: