OROCHI
 
Loading...
Searching...
No Matches
GxMotionCurvesContainerQuaternion Class Reference

モーションの曲線関数を管理するクラス(クォータニオンベース) More...

#include <GxMotionCurvesContainer.h>

Inheritance diagram for GxMotionCurvesContainerQuaternion:
Collaboration diagram for GxMotionCurvesContainerQuaternion:

Public Member Functions

初期化
 GxMotionCurvesContainerQuaternion (void)
 デフォルトコンストラクタ
 
 ~GxMotionCurvesContainerQuaternion (void) override
 デストラクタ
 
b32 initialize (const void *pAddress, const u32 jointCount) override
 初期化(旧型式との互換性のため)
 
b32 initialize (const void *pAddress, const u32 jointCount, const DECODE_TYPE decodeType, b32 enableInterporation=true)
 初期化
 
- Public Member Functions inherited from GxMotionCurvesContainer
 GX_OPERATOR_NEW_DELETE_USE_ARRAY (GxAllocatorList::ALLOCATOR_TYPE::UNIT)
 
 GxMotionCurvesContainer (void)
 デフォルトコンストラクタ
 
 ~GxMotionCurvesContainer (void) override
 デストラクタ
 
constexpr f32 getFrame (void) const
 現在のフレームを取得
 
- Public Member Functions inherited from GxClassBase
constexpr GxClassBase (void)
 コンストラクタ
 
constexpr GxClassBase (const GxClassBase &base)
 コピーコンストラクタ
 
 ~GxClassBase (void) override
 デストラクタ
 
- Public Member Functions inherited from GxClassBaseRoot
constexpr GxClassBaseRoot (void)
 コンストラクタ
 
constexpr GxClassBaseRoot (const GxClassBaseRoot &)
 コピーコンストラクタ
 
virtual ~GxClassBaseRoot (void)
 デストラクタ
 
constexpr GxClassBaseRootoperator= (const GxClassBaseRoot &)
 代入演算子
 
virtual GxRttigetRtti (void) const =0
 Rttiの取得
 
virtual GX_FORCE_INLINE const GxTypedObjectgetDefaultObject (void)
 デフォルトオブジェクトを取得
 
GX_FORCE_INLINE b32 isDefaultObject (void)
 デフォルトオブジェクト判定
 

定義

enum class  DECODE_TYPE {
  INITIALIZE_ALL = 0 , INITIALIZE_ROTATE , INITIALIZE_NONE , INITIALIZE_WITHOUT_DECODE ,
  INITIALIZE_WITHOUT_DECODE_CACHE
}
 モーションデータ展開のタイプ More...
 
static constexpr u32 NUM_CHANNEL = 10
 transXYZ・rotateXYZW・scaleXYZ
 
static constexpr u32 NUM_CHANNEL_ROTATE = 4
 rotateXYZW
 
 GX_OPERATOR_NEW_DELETE_USE_ARRAY (GxAllocatorList::ALLOCATOR_TYPE::UNIT)
 

アクセサ

void setFrame (f32 frame) override
 現在のフレームを設定
 
b32 computeCurvesValues (s32 jointIndex, u32 jointCount, GxVector3 &translate, GxQuaternion &quaternion, GxVector3 &scale)
 各チャンネルの現フレームの値を計算し_pMotionCurvesCurrentValuesArray行列に保存
 
f32 getMotionRotateY (void) override
 rot_y関節の回転値を取得
 
f32 getMotionTranslateY (void) override
 rot_y関節の移動値を取得
 
void setEnableLinearInterpolation (b32 enable)
 フレーム間線形補間の有効設定
 

Additional Inherited Members

- Static Public Member Functions inherited from GxClassBaseRoot
static GX_FORCE_INLINE GxRtti__getStaticRtti (void)
 Rttiの取得
 
- Protected Attributes inherited from GxMotionCurvesContainer
f32 * _pMotionCurvesCurrentValuesArray
 各カーブの現在の値の行列
 
f32 _frame
 現在のフレーム
 

Detailed Description

モーションの曲線関数を管理するクラス(クォータニオンベース)

Member Enumeration Documentation

◆ DECODE_TYPE

モーションデータ展開のタイプ

Enumerator
INITIALIZE_ALL 

メモリ大、計算小。initialize()ですべて展開。

INITIALIZE_ROTATE 

メモリ中、計算中。initialize()でrotateのみ展開。

INITIALIZE_NONE 

メモリ小、計算大。毎フレーム展開。

INITIALIZE_WITHOUT_DECODE 

INIT_NONEでのデコード用の一時バッファーを使わない実装

INITIALIZE_WITHOUT_DECODE_CACHE 

INIT_NONEでのデコード用の一時バッファーを使わない実装

Member Function Documentation

◆ computeCurvesValues()

b32 GxMotionCurvesContainerQuaternion::computeCurvesValues ( s32 jointIndex,
u32 jointCount,
GxVector3 & translate,
GxQuaternion & quaternion,
GxVector3 & scale )

各チャンネルの現フレームの値を計算し_pMotionCurvesCurrentValuesArray行列に保存

Parameters
jointIndex[in] 関節インデックス
jointCount[in] 関節数
translate[out] 移動値
quaternion[out] 回転値
scale[out] 拡縮値
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getMotionRotateY()

f32 GxMotionCurvesContainerQuaternion::getMotionRotateY ( void )
overridevirtual

rot_y関節の回転値を取得

Returns
回転値

Implements GxMotionCurvesContainer.

Here is the call graph for this function:

◆ getMotionTranslateY()

f32 GxMotionCurvesContainerQuaternion::getMotionTranslateY ( void )
overridevirtual

rot_y関節の移動値を取得

Returns
移動値

Implements GxMotionCurvesContainer.

Here is the call graph for this function:

◆ initialize() [1/2]

b32 GxMotionCurvesContainerQuaternion::initialize ( const void * pMotionRawDataStart,
const u32 jointCount )
overridevirtual

初期化(旧型式との互換性のため)

Parameters
pMotionRawDataStart[in] モーションデータ開始位置
jointCount[in] 関節数

Implements GxMotionCurvesContainer.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize() [2/2]

b32 GxMotionCurvesContainerQuaternion::initialize ( const void * pMotionRawDataStart,
const u32 jointCount,
const DECODE_TYPE decodeType,
b32 enableInterpolation = true )

初期化

Parameters
pMotionRawDataStart[in] モーションデータ開始位置
jointCount[in] 関節数
decodeType[in] デコードタイプ
enableInterpolation[in] 補間するならtrue
Returns
成功ならtrue
Here is the call graph for this function:

◆ setEnableLinearInterpolation()

void GxMotionCurvesContainerQuaternion::setEnableLinearInterpolation ( b32 enable)

フレーム間線形補間の有効設定

Parameters
enable[in] 有効ならtrue

◆ setFrame()

void GxMotionCurvesContainerQuaternion::setFrame ( f32 frame)
overridevirtual

現在のフレームを設定

Parameters
frame[in] フレーム

Implements GxMotionCurvesContainer.


The documentation for this class was generated from the following files: