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

#include <gg.h>

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

公開メンバ関数

 GgTrackball (const GgQuaternion &q=ggIdentityQuaternion())
 ~GgTrackball ()=default
GgTrackballoperator= (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 GgQuaterniongetQuaternion () const
const GgMatrixgetMatrix () 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
GgQuaternionoperator= (const GgQuaternion &q)=default
GgQuaternionoperator= (GgQuaternion &&q)=default
GLfloat norm () const
GgQuaternionloadAdd (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternionloadAdd (const GLfloat *a)
GgQuaternionloadAdd (const GgVector &v)
GgQuaternionloadAdd (const GgQuaternion &q)
GgQuaternionloadSubtract (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternionloadSubtract (const GLfloat *a)
GgQuaternionloadSubtract (const GgVector &v)
GgQuaternionloadSubtract (const GgQuaternion &q)
GgQuaternionloadMultiply (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternionloadMultiply (const GLfloat *a)
GgQuaternionloadMultiply (const GgVector &v)
GgQuaternionloadMultiply (const GgQuaternion &q)
GgQuaternionloadDivide (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
GgQuaternionloadDivide (const GLfloat *a)
GgQuaternionloadDivide (const GgVector &v)
GgQuaternionloadDivide (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
GgQuaternionoperator= (const GLfloat *a)
GgQuaternionoperator= (const GgVector &v)
GgQuaternionoperator+= (const GLfloat *a)
GgQuaternionoperator+= (const GgVector &v)
GgQuaternionoperator+= (const GgQuaternion &q)
GgQuaternionoperator-= (const GLfloat *a)
GgQuaternionoperator-= (const GgVector &v)
GgQuaternionoperator-= (const GgQuaternion &q)
GgQuaternionoperator*= (const GLfloat *a)
GgQuaternionoperator*= (const GgVector &v)
GgQuaternionoperator*= (const GgQuaternion &q)
GgQuaternionoperator/= (const GLfloat *a)
GgQuaternionoperator/= (const GgVector &v)
GgQuaternionoperator/= (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
GgQuaternionloadMatrix (const GLfloat *a)
GgQuaternionloadMatrix (const GgMatrix &m)
GgQuaternionloadIdentity ()
GgQuaternionloadRotate (GLfloat x, GLfloat y, GLfloat z, GLfloat a)
GgQuaternionloadRotate (const GLfloat *v, GLfloat a)
GgQuaternionloadRotate (const GLfloat *v)
GgQuaternionloadRotateX (GLfloat a)
GgQuaternionloadRotateY (GLfloat a)
GgQuaternionloadRotateZ (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
GgQuaternionloadEuler (GLfloat heading, GLfloat pitch, GLfloat roll)
GgQuaternionloadEuler (const GLfloat *e)
GgQuaternion euler (GLfloat heading, GLfloat pitch, GLfloat roll) const
GgQuaternion euler (const GLfloat *e) const
GgQuaternion euler (const GgVector &e) const
GgQuaternionloadSlerp (const GLfloat *a, const GLfloat *b, GLfloat t)
GgQuaternionloadSlerp (const GgQuaternion &q, const GgQuaternion &r, GLfloat t)
GgQuaternionloadSlerp (const GgQuaternion &q, const GLfloat *a, GLfloat t)
GgQuaternionloadSlerp (const GLfloat *a, const GgQuaternion &q, GLfloat t)
GgQuaternionloadNormalize (const GLfloat *a)
GgQuaternionloadNormalize (const GgQuaternion &q)
GgQuaternionloadConjugate (const GLfloat *a)
GgQuaternionloadConjugate (const GgQuaternion &q)
GgQuaternionloadInvert (const GLfloat *a)
GgQuaternionloadInvert (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
GgVectoroperator= (const GgVector &v)=default
GgVectoroperator= (GgVector &&v)=default
constexpr GgVector operator+ (const GgVector &v) const noexcept
constexpr GgVector operator+ (GLfloat c) const noexcept
constexpr GgVectoroperator+= (const GgVector &v) noexcept
constexpr GgVectoroperator+= (GLfloat c) noexcept
constexpr GgVector operator- (const GgVector &v) const noexcept
constexpr GgVector operator- (GLfloat c) const noexcept
constexpr GgVectoroperator-= (const GgVector &v) noexcept
constexpr GgVectoroperator-= (GLfloat c) noexcept
constexpr GgVector operator* (const GgVector &v) const noexcept
constexpr GgVector operator* (GLfloat c) const noexcept
constexpr GgVectoroperator*= (const GgVector &v) noexcept
constexpr GgVectoroperator*= (GLfloat c) noexcept
constexpr GgVector operator/ (const GgVector &v) const noexcept
constexpr GgVector operator/ (GLfloat c) const noexcept
constexpr GgVectoroperator/= (const GgVector &v) noexcept
constexpr GgVectoroperator/= (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.h4806 行目に定義があります。

構築子と解体子

◆ GgTrackball()

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

コンストラクタ.

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

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

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

◆ ~GgTrackball()

gg::GgTrackball::~GgTrackball ( )
default

デストラクタ.

関数詳解

◆ begin()

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

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

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

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

◆ end()

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

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

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

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

呼び出し関係図:

◆ get()

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

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

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

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

◆ getMatrix()

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

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

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

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

◆ getQuaternion()

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

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

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

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

呼び出し関係図:

◆ getScale() [1/3]

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

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

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

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

◆ getScale() [2/3]

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

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

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

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

◆ getScale() [3/3]

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

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

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

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

◆ getStart() [1/3]

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

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

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

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

◆ getStart() [2/3]

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

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

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

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

◆ getStart() [3/3]

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

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

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

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

◆ motion()

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

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

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

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

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

◆ operator=()

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

代入.

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

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

呼び出し関係図:

◆ region() [1/2]

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

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

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

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

被呼び出し関係図:

◆ region() [2/2]

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

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

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

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

呼び出し関係図:

◆ reset()

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

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

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

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

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

◆ rotate()

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

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

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

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

呼び出し関係図:

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