前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFB3DUtil
I3DUtil インターフェースのラッパークラスです。
#include <SFB3DUtil.h.hpp>
class SFB3DUtil : public SFBQuery;
SFMTYPEDEFWRAPPER(SFB3DUtil)

継承図

SFB3DUtil クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API I3DUtil

メンバ

パブリック関数
SInt32 Cos( SInt32 angle )
コサイン( 余弦 )を計算します。
SFCError GetRotateMatrix( SInt32 angle , AEE3DTransformMatrix* matrixOut , AEE3DRotateType axis )
X、Y、または Z 軸を中心とした回転の変換マトリックスを計算します。
SFCError GetRotateVMatrix( AEE3DPoint const * vector , SInt32 angle , AEE3DTransformMatrix* matrixOut )
原点からの与えられたベクトルを中心とした回転の変換マトリックスを計算します。
SFCError GetUnitVector( AEE3DPoint const * src , AEE3DPoint* dst )
ソースベクトルの単位ベクトルを計算します。
SFCError GetViewTransformMatrix( AEE3DPoint const * position , AEE3DPoint const * look , AEE3DPoint const * up , AEE3DTransformMatrix* matrixOut )
与えられた位置、見る方向、および見上げる方向について、 固定小数点の変換マトリックスを計算します。
SFCError MatrixMultiply( AEE3DTransformMatrix* matrixOut , AEE3DTransformMatrix const * matrixIn )
2つの固定小数点マトリックスを掛け合わせます。
static
SFB3DUtilSmp
NewInstance( SFCErrorPtr exception = null )
SFB3DUtil インスタンスを生成します。
static
SFB3DUtilSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFB3DUtil インスタンスを生成します。
SFCError SetIdentityMatrix( AEE3DTransformMatrix* matrixOut )
変換マトリックスの回転部分( 3 x 3 )を Q12 形式の単位マトリックスに設定します。
SFCError SetTranslationMatrix( AEE3DPoint* vector , AEE3DTransformMatrix* matrix )
Q12 固定小数点形式形式の与えられた平行移動ベクトルについて、 変換マトリックスの平行移動部分を設定します。
SInt32 Sin( SInt32 angle )
サイン( 正弦 )を計算します。
UInt32 Sqrt( UInt32 number )
平方根を計算します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFB3DUtil::Cos
コサイン( 余弦 )を計算します。
[ public ]
SInt32 Cos(
    SInt32 angle   // Q12 形式( PI = 2048 )
);

参照

BREW API I3DUtil_cos


SFB3DUtil::GetRotateMatrix
X、Y、または Z 軸を中心とした回転の変換マトリックスを計算します。
[ public ]
SFCError GetRotateMatrix(
    SInt32 angle                      // Q12 形式での回転角度( PI = 2048 )
    AEE3DTransformMatrix* matrixOut   // 結果の変換マトリックスへのポインタ
    AEE3DRotateType axis              // 回転の中心軸
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API I3DUtil_GetRotateMatrix


SFB3DUtil::GetRotateVMatrix
原点からの与えられたベクトルを中心とした回転の変換マトリックスを計算します。
[ public ]
SFCError GetRotateVMatrix(
    AEE3DPoint const * vector         // Q12 形式での回転について、原点からのベクトルへのポインタ
    SInt32 angle                      // Q12 形式での回転角度( PI = 2048 )
    AEE3DTransformMatrix* matrixOut   // 結果の変換マトリックスへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API I3DUtil_GetRotateVMatrix


SFB3DUtil::GetUnitVector
ソースベクトルの単位ベクトルを計算します。
[ public ]
SFCError GetUnitVector(
    AEE3DPoint const * src   // ソースベクトルへのポインタ
    AEE3DPoint* dst          // 結果の単位ベクトルへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

解説

結果のベクトルは Q12 形式です。

参照

BREW API I3DUtil_GetUnitVector


SFB3DUtil::GetViewTransformMatrix
与えられた位置、見る方向、および見上げる方向について、 固定小数点の変換マトリックスを計算します。
[ public ]
SFCError GetViewTransformMatrix(
    AEE3DPoint const * position       // ビューアの位置ベクトルへのポインタ
    AEE3DPoint const * look           // 見る方向の方向ベクトルへのポインタ
    AEE3DPoint const * up             // 見上げる方向の方向ベクトルへのポインタ
    AEE3DTransformMatrix* matrixOut   // 結果の変換マトリックスへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

解説

各方向ベクトルは、3D ポイントまたは Q12 形式でのベクトルとして指定します。

参照

BREW API I3DUtil_GetViewTransformMatrix


SFB3DUtil::MatrixMultiply
2つの固定小数点マトリックスを掛け合わせます。
[ public ]
SFCError MatrixMultiply(
    AEE3DTransformMatrix* matrixOut         // 左の被乗数と結果のマトリックス
    AEE3DTransformMatrix const * matrixIn   // 右の被乗数
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API I3DUtil_MatrixMultiply


SFB3DUtil::NewInstance
SFB3DUtil インスタンスを生成します。
[ public, static ]
SFB3DUtilSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);
[ public, static ]
SFB3DUtilSmp NewInstance(
    AEECLSID id                    // クラスID
    SFCErrorPtr exception = null   // エラー値
);

SFB3DUtil::SetIdentityMatrix
変換マトリックスの回転部分( 3 x 3 )を Q12 形式の単位マトリックスに設定します。
[ public ]
SFCError SetIdentityMatrix(
    AEE3DTransformMatrix* matrixOut   // 結果のマトリックスへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API I3DUtil_SetIdentityMatrix


SFB3DUtil::SetTranslationMatrix
Q12 固定小数点形式形式の与えられた平行移動ベクトルについて、 変換マトリックスの平行移動部分を設定します。
[ public ]
SFCError SetTranslationMatrix(
    AEE3DPoint* vector             // Q12 固定小数点形式形式の平行移動ベクトルのポインタ
    AEE3DTransformMatrix* matrix   // 結果のマトリックスへのポインタ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API I3DUtil_SetTranslationMatrix


SFB3DUtil::Sin
サイン( 正弦 )を計算します。
[ public ]
SInt32 Sin(
    SInt32 angle   // Q12 形式( PI = 2048 )
);

参照

BREW API I3DUtil_sin


SFB3DUtil::Sqrt
平方根を計算します。
[ public ]
UInt32 Sqrt(
    UInt32 number   // 値
);

参照

BREW API I3DUtil_sqrt