OROCHI
 
Loading...
Searching...
No Matches
GxIkChain.h
Go to the documentation of this file.
1//===========================================================================
11//===========================================================================
12#pragma once
13
14GX_MOTION_NAMESPACE_BEGIN()
15
16//===========================================================================
18//===========================================================================
19class GxIkChain : public GxClassBase
20{
21 //-----------------------------------------------------------
23 //-----------------------------------------------------------
25public:
26 // RTTI宣言
27 GX_RTTI_CLASS(GxIkChain, GxClassBase)
28 // NEW,DELETEのオーバーライド
29 GX_OPERATOR_NEW_DELETE_USE_ARRAY(GxAllocatorList::ALLOCATOR_TYPE::UNIT);
30 // GxClassBase継承クラス用禁止宣言
32 // friendクラス宣言
33 friend class GxMotionJoint;
34 friend class GxModUnitMotionBlend;
35 friend class GxMotionPlayer; // IkChainの初期化・getMiddleJoint()->_motionMatrixの設定用
36
38 //-----------------------------------------------------------
40 //-----------------------------------------------------------
42
44 GxIkChain(void);
46 ~GxIkChain(void) override;
47
49 //-----------------------------------------------------------
51 //-----------------------------------------------------------
53public:
55 void setIkTargetPosition(GxVector3 const* pPosition);
57 GX_FORCE_INLINE GxVector3 const* getIkTargetPosition(void) const { return _pIkTargetPosition;}
59 GX_FORCE_INLINE GxMotionJoint const* getStartJoint(void) const { return _pChainStartJoint;}
61 constexpr GxMotionJoint* getStartJoint(void) { return _pChainStartJoint;}
63 GX_FORCE_INLINE GxMotionJoint const* getMiddleJoint(void) const { return _pChainMiddleJoint;}
65 constexpr GxMotionJoint* getMiddleJoint(void) { return _pChainMiddleJoint;}
67 GX_FORCE_INLINE GxMotionJoint const* getEndJoint(void) const { return _pChainEffectorJoint; }
69 constexpr GxMotionJoint* getEndJoint(void) { return _pChainEffectorJoint; }
70
72 //-----------------------------------------------------------
74 //-----------------------------------------------------------
76protected:
78 // - points to effector position stored in GxMotionPlayer::_pDecompressedMotionData
79 // _targetPosition must be relative position from the "rest" root position (between the feet, the "rot_y")
80 // _targetPosition must be relative position expressed in the root position local coordinates system
81
83
84 // GxMotionPlayer::calcIK()は次の3つのポインタを使い_motionMatrixを更新するため、const*にできません:
85 // these 3 pointers cannot be const because GxMotionPlayer::calcIK() use them to change their _motionMatrix :
89
91};
92
93GX_MOTION_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
オブジェクト基底クラス
Definition GxBase.h:88
IKチェイン基礎クラス
Definition GxIkChain.h:20
GxMotionJoint * _pChainEffectorJoint
チェインのエフェクター(最後の関節)
Definition GxIkChain.h:88
b32 _ownTarget
IK目標使用フラグ
Definition GxIkChain.h:82
constexpr GxMotionJoint * getStartJoint(void)
チェインの最初の関節を取得
Definition GxIkChain.h:61
GX_FORCE_INLINE GxMotionJoint const * getStartJoint(void) const
チェインの最初の関節を取得
Definition GxIkChain.h:59
GX_FORCE_INLINE GxVector3 const * getIkTargetPosition(void) const
グローバル座標ポインタを取得
Definition GxIkChain.h:57
GX_FORCE_INLINE GxMotionJoint const * getMiddleJoint(void) const
チェインの中(骨)の関節を取得
Definition GxIkChain.h:63
GxMotionJoint * _pChainStartJoint
チェインの最初の関節
Definition GxIkChain.h:86
GxMotionJoint * _pChainMiddleJoint
チェインの中(骨)の関節
Definition GxIkChain.h:87
constexpr GxMotionJoint * getMiddleJoint(void)
チェインの中(骨)の関節を取得
Definition GxIkChain.h:65
constexpr GxMotionJoint * getEndJoint(void)
チェインのエフェクター(最後の関節)を取得
Definition GxIkChain.h:69
GxVector3 const * _pIkTargetPosition
グローバル座標ポインタ
Definition GxIkChain.h:77
GX_FORCE_INLINE GxMotionJoint const * getEndJoint(void) const
チェインのエフェクター(最後の関節)を取得
Definition GxIkChain.h:67
モーションブレンドシステムの機能を導入するモジュール
Definition GxModUnitMotionBlend.h:18
GxMotionが使う関節クラス
Definition GxMotionJoint.h:150
モーション再生クラス
Definition GxMotionPlayer.h:22
3次元ベクトル
Definition GxVector.h:245
32bitブーリアン
Definition GxDefine.h:173