ゲームグラフィックス特論
読み取り中…
検索中…
一致する文字列を見つけられません
gg::GgTrackball クラス

#include <gg.h>

gg::GgTrackball の継承関係図
gg::GgTrackball 連携図

公開メンバ関数

 GgTrackball (const GgQuaternion &q=ggIdentityQuaternion())
 ~GgTrackball ()=default
GgTrackball & operator= (const GgQuaternion &q)
void region (GLfloat w, GLfloat h)
void region (int w, int h)
void begin (GLfloat x, GLfloat y)
void motion (GLfloat x, GLfloat y)
void rotate (const GgQuaternion &q)
void end (GLfloat x, GLfloat y)
void reset (const GgQuaternion &q=ggIdentityQuaternion())
const GLfloat * getStart () const
const GLfloat & getStart (int direction) const
void getStart (GLfloat *position) const
const GLfloat * getScale () const
const GLfloat getScale (int direction) const
void getScale (GLfloat *factor) const
const GgQuaternion & getQuaternion () const
const GgMatrix & getMatrix () const
const GLfloat * get () const
基底クラス gg::GgQuaternion に属する継承公開メンバ関数
 GgQuaternion ()=default
constexpr GgQuaternion (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
constexpr GgQuaternion (GLfloat c)
 GgQuaternion (const GLfloat *a)
 GgQuaternion (const GgVector &v)
 GgQuaternion (const GgQuaternion &q)=default
 GgQuaternion (GgQuaternion &&q)=default
 ~GgQuaternion ()=default
GgQuaternion & operator= (const GgQuaternion &q)=default
GgQuaternion & operator= (GgQuaternion &&q)=default
GLfloat norm () const
GgQuaternion & loadAdd (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternion & loadAdd (const GLfloat *a)
GgQuaternion & loadAdd (const GgVector &v)
GgQuaternion & loadAdd (const GgQuaternion &q)
GgQuaternion & loadSubtract (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternion & loadSubtract (const GLfloat *a)
GgQuaternion & loadSubtract (const GgVector &v)
GgQuaternion & loadSubtract (const GgQuaternion &q)
GgQuaternion & loadMultiply (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternion & loadMultiply (const GLfloat *a)
GgQuaternion & loadMultiply (const GgVector &v)
GgQuaternion & loadMultiply (const GgQuaternion &q)
GgQuaternion & loadDivide (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternion & loadDivide (const GLfloat *a)
GgQuaternion & loadDivide (const GgVector &v)
GgQuaternion & loadDivide (const GgQuaternion &q)
GgQuaternion add (GLfloat x, GLfloat y, GLfloat z, GLfloat w) const
GgQuaternion add (const GLfloat *a) const
GgQuaternion add (const GgVector &v) const
GgQuaternion add (const GgQuaternion &q) const
GgQuaternion subtract (GLfloat x, GLfloat y, GLfloat z, GLfloat w) const
GgQuaternion subtract (const GLfloat *a) const
GgQuaternion subtract (const GgVector &v) const
GgQuaternion subtract (const GgQuaternion &q) const
GgQuaternion multiply (GLfloat x, GLfloat y, GLfloat z, GLfloat w) const
GgQuaternion multiply (const GLfloat *a) const
GgQuaternion multiply (const GgVector &v) const
GgQuaternion multiply (const GgQuaternion &q) const
GgQuaternion divide (GLfloat x, GLfloat y, GLfloat z, GLfloat w) const
GgQuaternion divide (const GLfloat *a) const
GgQuaternion divide (const GgVector &v) const
GgQuaternion divide (const GgQuaternion &q) const
GgQuaternion & operator= (const GLfloat *a)
GgQuaternion & operator= (const GgVector &v)
GgQuaternion & operator+= (const GLfloat *a)
GgQuaternion & operator+= (const GgVector &v)
GgQuaternion & operator+= (const GgQuaternion &q)
GgQuaternion & operator-= (const GLfloat *a)
GgQuaternion & operator-= (const GgVector &v)
GgQuaternion & operator-= (const GgQuaternion &q)
GgQuaternion & operator*= (const GLfloat *a)
GgQuaternion & operator*= (const GgVector &v)
GgQuaternion & operator*= (const GgQuaternion &q)
GgQuaternion & operator/= (const GLfloat *a)
GgQuaternion & operator/= (const GgVector &v)
GgQuaternion & operator/= (const GgQuaternion &q)
GgQuaternion operator+ (const GLfloat *a) const
GgQuaternion operator+ (const GgVector &v) const
GgQuaternion operator+ (const GgQuaternion &q) const
GgQuaternion operator- (const GLfloat *a) const
GgQuaternion operator- (const GgVector &v) const
GgQuaternion operator- (const GgQuaternion &q) const
GgQuaternion operator* (const GLfloat *a) const
GgQuaternion operator* (const GgVector &v) const
GgQuaternion operator* (const GgQuaternion &q) const
GgQuaternion operator/ (const GLfloat *a) const
GgQuaternion operator/ (const GgVector &v) const
GgQuaternion operator/ (const GgQuaternion &q) const
GgQuaternion & loadMatrix (const GLfloat *a)
GgQuaternion & loadMatrix (const GgMatrix &m)
GgQuaternion & loadIdentity ()
GgQuaternion & loadRotate (GLfloat x, GLfloat y, GLfloat z, GLfloat a)
GgQuaternion & loadRotate (const GLfloat *v, GLfloat a)
GgQuaternion & loadRotate (const GLfloat *v)
GgQuaternion & loadRotateX (GLfloat a)
GgQuaternion & loadRotateY (GLfloat a)
GgQuaternion & loadRotateZ (GLfloat a)
GgQuaternion rotate (GLfloat x, GLfloat y, GLfloat z, GLfloat a) const
GgQuaternion rotate (const GLfloat *v, GLfloat a) const
GgQuaternion rotate (const GLfloat *v) const
GgQuaternion rotateX (GLfloat a) const
GgQuaternion rotateY (GLfloat a) const
GgQuaternion rotateZ (GLfloat a) const
GgQuaternion & loadEuler (GLfloat heading, GLfloat pitch, GLfloat roll)
GgQuaternion & loadEuler (const GLfloat *e)
GgQuaternion euler (GLfloat heading, GLfloat pitch, GLfloat roll) const
GgQuaternion euler (const GLfloat *e) const
GgQuaternion euler (const GgVector &e) const
GgQuaternion & loadSlerp (const GLfloat *a, const GLfloat *b, GLfloat t)
GgQuaternion & loadSlerp (const GgQuaternion &q, const GgQuaternion &r, GLfloat t)
GgQuaternion & loadSlerp (const GgQuaternion &q, const GLfloat *a, GLfloat t)
GgQuaternion & loadSlerp (const GLfloat *a, const GgQuaternion &q, GLfloat t)
GgQuaternion & loadNormalize (const GLfloat *a)
GgQuaternion & loadNormalize (const GgQuaternion &q)
GgQuaternion & loadConjugate (const GLfloat *a)
GgQuaternion & loadConjugate (const GgQuaternion &q)
GgQuaternion & loadInvert (const GLfloat *a)
GgQuaternion & loadInvert (const GgQuaternion &q)
GgQuaternion slerp (GLfloat *a, GLfloat t) const
GgQuaternion slerp (const GgQuaternion &q, GLfloat t) const
GgQuaternion normalize () const
GgQuaternion conjugate () const
GgQuaternion invert () const
void get (GLfloat *a) const
void getMatrix (GLfloat *a) const
void getMatrix (GgMatrix &m) const
GgMatrix getMatrix () const
void getConjugateMatrix (GLfloat *a) const
void getConjugateMatrix (GgMatrix &m) const
GgMatrix getConjugateMatrix () const
基底クラス gg::GgVector に属する継承公開メンバ関数
 GgVector ()=default
constexpr GgVector (GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
constexpr GgVector (const GLfloat *a)
constexpr GgVector (GLfloat c)
 GgVector (const GgVector &v)=default
 GgVector (GgVector &&v)=default
 ~GgVector ()=default
GgVector & operator= (const GgVector &v)=default
GgVector & operator= (GgVector &&v)=default
constexpr GgVector operator+ (const GgVector &v) const noexcept
constexpr GgVector operator+ (GLfloat c) const noexcept
constexpr GgVector & operator+= (const GgVector &v) noexcept
constexpr GgVector & operator+= (GLfloat c) noexcept
constexpr GgVector operator- (const GgVector &v) const noexcept
constexpr GgVector operator- (GLfloat c) const noexcept
constexpr GgVector & operator-= (const GgVector &v) noexcept
constexpr GgVector & operator-= (GLfloat c) noexcept
constexpr GgVector operator* (const GgVector &v) const noexcept
constexpr GgVector operator* (GLfloat c) const noexcept
constexpr GgVector & operator*= (const GgVector &v) noexcept
constexpr GgVector & operator*= (GLfloat c) noexcept
constexpr GgVector operator/ (const GgVector &v) const noexcept
constexpr GgVector operator/ (GLfloat c) const noexcept
constexpr GgVector & operator/= (const GgVector &v) noexcept
constexpr GgVector & operator/= (GLfloat c) noexcept
GLfloat dot3 (const GgVector &v) const
GLfloat length3 () const
GLfloat distance3 (const GgVector &v) const
GgVector normalize3 () const
GLfloat dot4 (const GgVector &v) const
GLfloat length4 () const
GLfloat distance4 (const GgVector &v) const
GgVector normalize4 () const

詳解

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

gg.h の 4806 行目に定義があります。

構築子と解体子

◆ GgTrackball()

gg::GgTrackball::GgTrackball ( const GgQuaternion & q = ggIdentityQuaternion())
inline

コンストラクタ.

引数
qトラックボールの回転の初期値の四元数.

gg.h の 4821 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ ~GgTrackball()

gg::GgTrackball::~GgTrackball ( )
default

デストラクタ.

関数詳解

◆ begin()

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

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

引数
x現在のマウスの x 座標.
y現在のマウスの y 座標.
覚え書き
マウスのドラッグ開始時 (マウスボタンを押したとき) に呼び出す.

gg.cpp の 3462 行目に定義があります。

◆ end()

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

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

引数
x現在のマウスの x 座標.
y現在のマウスの y 座標.
覚え書き
マウスのドラッグ終了時 (マウスボタンを離したとき) に呼び出す.

gg.cpp の 3528 行目に定義があります。

呼び出し関係図:

◆ get()

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

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

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

gg.h の 4999 行目に定義があります。

◆ getMatrix()

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

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

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

gg.h の 4989 行目に定義があります。

◆ getQuaternion()

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

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

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

gg.h の 4979 行目に定義があります。

呼び出し関係図:

◆ getScale() [1/3]

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

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

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

gg.h の 4948 行目に定義があります。

◆ getScale() [2/3]

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

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

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

gg.h の 4968 行目に定義があります。

◆ getScale() [3/3]

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

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

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

gg.h の 4958 行目に定義があります。

◆ getStart() [1/3]

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

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

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

gg.h の 4919 行目に定義があります。

◆ getStart() [2/3]

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

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

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

gg.h の 4937 行目に定義があります。

◆ getStart() [3/3]

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

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

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

gg.h の 4927 行目に定義があります。

◆ motion()

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

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

引数
x現在のマウスの x 座標.
y現在のマウスの y 座標.
覚え書き
マウスのドラッグ中に呼び出す.

gg.cpp の 3478 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ operator=()

GgTrackball & gg::GgTrackball::operator= ( const GgQuaternion & q)
inline

代入.

引数
qトラックボールの回転の初期値の四元数.

gg.h の 4836 行目に定義があります。

呼び出し関係図:

◆ region() [1/2]

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

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

引数
w領域の横幅.
h領域の高さ.
覚え書き
ウィンドウのリサイズ時に呼び出す.

gg.cpp の 3449 行目に定義があります。

被呼び出し関係図:

◆ region() [2/2]

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

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

引数
w領域の横幅.
h領域の高さ.
覚え書き
ウィンドウのリサイズ時に呼び出す.

gg.h の 4862 行目に定義があります。

呼び出し関係図:

◆ reset()

void gg::GgTrackball::reset ( const GgQuaternion & q = ggIdentityQuaternion())

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

引数
qトラックボールの回転の初期値の四元数.

gg.cpp の 3431 行目に定義があります。

呼び出し関係図:
被呼び出し関係図:

◆ rotate()

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

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

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

gg.cpp の 3507 行目に定義があります。

呼び出し関係図:

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