Exemple #1
0
void CModel::SetDirection( const Quaternion& q )
{
	Vector3 dir = q.GetDirection();
	if( m_Dir == dir ) return;

	Vector3 pos( m_matWorld._41, m_matWorld._42, m_matWorld._43 );

	m_matWorld.SetIdentity();
	m_matWorld._11 *= m_fSize;
	m_matWorld._22 *= m_fSize;
	m_matWorld._33 *= m_fSize;
	m_matWorld *= q.GetMatrix();

	m_matWorld._41 = pos.x;
	m_matWorld._42 = pos.y;
	m_matWorld._43 = pos.z;
	m_Dir = dir;

	if( m_pBone ) m_pBone->SetTM( &m_matWorld );
}