当前位置: 首页>>代码示例>>C++>>正文


C++ Fmatrix::rotation方法代码示例

本文整理汇总了C++中Fmatrix::rotation方法的典型用法代码示例。如果您正苦于以下问题:C++ Fmatrix::rotation方法的具体用法?C++ Fmatrix::rotation怎么用?C++ Fmatrix::rotation使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Fmatrix的用法示例。


在下文中一共展示了Fmatrix::rotation方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: calc_cam_diff_rot

void calc_cam_diff_rot(Fmatrix item_transform, Fvector diff, Fvector& res)
{
	Fmatrix							cam_m;
	cam_m.i.set						(Device.vCameraRight);
	cam_m.j.set						(Device.vCameraTop);
	cam_m.k.set						(Device.vCameraDirection);
	cam_m.c.set						(Device.vCameraPosition);

	Fmatrix							R;
	R.identity						();
	if(!fis_zero(diff.x))
	{
		R.rotation(cam_m.i,diff.x);
	}else
	if(!fis_zero(diff.y))
	{
		R.rotation(cam_m.j,diff.y);
	}else
	if(!fis_zero(diff.z))
	{
		R.rotation(cam_m.k,diff.z);
	};

	Fmatrix					item_transform_i;
	item_transform_i.invert	(item_transform);
	R.mulB_43(item_transform);
	R.mulA_43(item_transform_i);
	
	R.getHPB	(res);

	res.mul					(180.0f/PI);
}
开发者ID:Charsi82,项目名称:xray-1.5.10-2015-,代码行数:32,代码来源:player_hud_tune.cpp

示例2: q_scalem

IC void q_scalem(Fmatrix &m, float v)
{
	Fquaternion q;
	q.set(m);
	q_scale(q,v);
	m.rotation(q);
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:7,代码来源:SkeletonAnimated.cpp

示例3: q_scale_vs_basem

//sclale base' * q by scale_factor returns result in matrix  m_res
IC void q_scale_vs_basem(Fmatrix &m_res,const Fquaternion &q, const Fquaternion &base,float scale_factor)
{
	Fmatrix mb,imb;
	mb.rotation(base);
	imb.invert(mb);

	Fmatrix m;m.rotation(q);
	m_res.mul(imb,m);
	q_scalem(m_res,scale_factor);
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:11,代码来源:SkeletonAnimated.cpp

示例4: mk_orientation

void CCustomMonster::mk_orientation(Fvector &dir, Fmatrix& mR)
{
	// orient only in XZ plane
	dir.y		= 0;
	float		len = dir.magnitude();
	if			(len>EPS_S)
	{
		// normalize
		dir.x /= len;
		dir.z /= len;
		Fvector up;	up.set(0,1,0);
		mR.rotation	(dir,up);
	}
}
开发者ID:BubbaXXX,项目名称:xray-16,代码行数:14,代码来源:CustomMonster.cpp

示例5: check_scale

IC bool check_scale(const Fquaternion &q)
{
	Fmatrix m;
	m.rotation(q);
	return check_scale(m);
}
开发者ID:OLR-xray,项目名称:OLR-3.0,代码行数:6,代码来源:SkeletonAnimated.cpp

示例6: Fquaternion

void	poses_interpolation::pose				( Fmatrix &p, float factor ) const
{
    p.rotation( Fquaternion().slerp( q0, q1, factor ) );
    p.c.lerp( p0, p1, factor );
}
开发者ID:Frankie-666,项目名称:xray-16,代码行数:5,代码来源:poses_blending.cpp


注:本文中的Fmatrix::rotation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。