クラス SCGL::C3DTrans

3次元変換行列クラス [詳細]

#include <ScoutCGLib.h>

すべてのメンバ一覧

Public メソッド

 C3DTrans ()
 初期化
virtual ~C3DTrans ()
void Init ()
 初期化
void Translate (const VECTOR3 &TransVec)
 平行移動
void Translate (double x, double y, double z)
 平行移動
void Rotate (const VECTOR3 &Axis, double theta)
 任意軸回転
void RotateX (double theta)
 x軸回転
void RotateY (double theta)
 y軸回転
void RotateZ (double theta)
 z軸回転
const VECTOR3 TransVec (const VECTOR3 &vec) const
 ベクトルの変換を行う
void PushState ()
 変換行列をスタックに積む
void PopState ()
 変換行列をスタックから取り出す
void TransByOGL ()
 現在の状態をOpenGLの回転+平行移動に適用する。

Public 変数

CQuaternion m_Quaternion
 回転用クォータニオン
VECTOR3 m_Trans
 平行移動成分

Private 変数

const VECTOR3 m_AxisX
 X軸
const VECTOR3 m_AxisY
 y軸
const VECTOR3 m_AxisZ
 z軸
std::vector< CQuaternionm_QuatStack
 変換保存用スタック
std::vector< VECTOR3m_TransStack


説明

3次元変換行列クラス

VECTOR3に対して回転、平行移動を行うクラスです。 回転はクォータニオンで行います。

作者:
Scout
日付:
2006-03-05

ScoutCGLib.h960 行で定義されています。


コンストラクタとデストラクタ

SCGL::C3DTrans::C3DTrans  )  [inline]
 

初期化

ScoutCGLib.h964 行で定義されています。

virtual SCGL::C3DTrans::~C3DTrans  )  [inline, virtual]
 

ScoutCGLib.h967 行で定義されています。


関数

void SCGL::C3DTrans::Init  )  [inline]
 

初期化

ScoutCGLib.h973 行で定義されています。

void SCGL::C3DTrans::PopState  )  [inline]
 

変換行列をスタックから取り出す

ScoutCGLib.h1060 行で定義されています。

void SCGL::C3DTrans::PushState  )  [inline]
 

変換行列をスタックに積む

ScoutCGLib.h1053 行で定義されています。

void SCGL::C3DTrans::Rotate const VECTOR3 Axis,
double  theta
[inline]
 

任意軸回転

任意軸回転

引数:
Axis 回転軸
theta 回転角度(degree)

ScoutCGLib.h1002 行で定義されています。

void SCGL::C3DTrans::RotateX double  theta  )  [inline]
 

x軸回転

x軸回転

引数:
theta 回転角度(degree)

ScoutCGLib.h1013 行で定義されています。

void SCGL::C3DTrans::RotateY double  theta  )  [inline]
 

y軸回転

y軸回転

引数:
theta 回転角度(degree)

ScoutCGLib.h1024 行で定義されています。

void SCGL::C3DTrans::RotateZ double  theta  )  [inline]
 

z軸回転

z軸回転

引数:
theta 回転角度(degree)

ScoutCGLib.h1035 行で定義されています。

void SCGL::C3DTrans::TransByOGL  )  [inline]
 

現在の状態をOpenGLの回転+平行移動に適用する。

ScoutCGLib.h1072 行で定義されています。

void SCGL::C3DTrans::Translate double  x,
double  y,
double  z
[inline]
 

平行移動

平行移動

引数:
x x方向の平行移動量
y x方向の平行移動量
z z方向の平行移動量

ScoutCGLib.h992 行で定義されています。

void SCGL::C3DTrans::Translate const VECTOR3 TransVec  )  [inline]
 

平行移動

平行移動

引数:
TransVec 平行移動量を表すベクトル

ScoutCGLib.h981 行で定義されています。

const VECTOR3 SCGL::C3DTrans::TransVec const VECTOR3 vec  )  const [inline]
 

ベクトルの変換を行う

ベクトルの変換を行う

引数:
vec 変換するベクトル
戻り値:
変換後のベクトル

ScoutCGLib.h1047 行で定義されています。


変数

const VECTOR3 SCGL::C3DTrans::m_AxisX [private]
 

X軸

ScoutCGLib.h1085 行で定義されています。

const VECTOR3 SCGL::C3DTrans::m_AxisY [private]
 

y軸

ScoutCGLib.h1086 行で定義されています。

const VECTOR3 SCGL::C3DTrans::m_AxisZ [private]
 

z軸

ScoutCGLib.h1087 行で定義されています。

CQuaternion SCGL::C3DTrans::m_Quaternion
 

回転用クォータニオン

ScoutCGLib.h969 行で定義されています。

std::vector<CQuaternion> SCGL::C3DTrans::m_QuatStack [private]
 

変換保存用スタック

ScoutCGLib.h1090 行で定義されています。

VECTOR3 SCGL::C3DTrans::m_Trans
 

平行移動成分

ScoutCGLib.h970 行で定義されています。

std::vector<VECTOR3> SCGL::C3DTrans::m_TransStack [private]
 

ScoutCGLib.h1091 行で定義されています。


このクラスの説明は次のファイルから生成されました:
ScoutCGLibに対してSat Jun 17 15:19:37 2006に生成されました。  doxygen 1.4.6-NO