示例#1
0
vecn<3, COMP_T>::vecn(vecn<3, OTHER_COMP_T> const& rhs)
{
  set(
    static_cast<COMP_T>(rhs.x()),
    static_cast<COMP_T>(rhs.y()),
    static_cast<COMP_T>(rhs.z()) );
}
示例#2
0
      void			        rot(const vecn<T,3>& n,const T& t)	
                            { if( t != T(0) && ( n.x() != T(0) || n.y() != T(0) || n.z() != T(0) ) )
						      { //assert(n.length());
	          				    m_quat *= Quaternion<T>(n,t);
	          				    m_cache.invalidate();
	          				    m_inv_cache.invalidate();
						      }  
          					}
示例#3
0
      veca<T,3>			    inv_rot_vec(const vecn<T,3>& v)	const
                            { veca<T,3> qres( m_quat * Quaternion<T>(v.x(),v.y(),v.z(),T(0)) * m_quat.conjugated() );
						      return qres;
						    }