Partager via


ID3DXMATRIXStack::RotateAxisLocal, méthode (D3dx9math.h)

Notes

La bibliothèque utilitaire D3DX est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place avec cet en-tête de GitHub.

Fait pivoter (par rapport à l’espace de coordonnées local de l’objet) autour d’un axe arbitraire.

Syntaxe

HRESULT RotateAxisLocal(
  [in] const D3DXVECTOR3 *pV,
  [in]       FLOAT       Angle
);

Paramètres

pV [in]

Type : const D3DXVECTOR3*

Pointeur vers l’axe de rotation arbitraire. Consultez D3DXVECTOR3.

Angle [in]

Type : FLOAT

Angle de rotation autour de l’axe arbitraire, en radians. Les angles sont mesurés dans le sens inverse des aiguilles d’une montre lorsque vous regardez le long de l’axe arbitraire vers l’origine.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Notes

Cette méthode ajoute la rotation à la pile de matrices avec la matrice de rotation calculée semblable à ce qui suit :

D3DXMATRIX tmp;
D3DXMatrixRotationAxis( &tmp, pV, angle );
m_stack[m_currentPos] = tmp * m_stack[m_currentPos];

Étant donné que la rotation est multipliée à gauche par rapport à la pile de matrices, la rotation est relative à l’espace de coordonnées local de l’objet.

Spécifications

Condition requise Valeur
En-tête
D3dx9math.h
Bibliothèque
D3dx9.lib

Voir aussi

ID3DXMATRIXStack

D3DXMatrixRotationAxis

ID3DXMATRIXStack::RotateAxis

ID3DXMATRIXStack::RotateYawPitchRoll

ID3DXMATRIXStack::RotateYawPitchRollLocal