欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取DOF的坐标参数

程序员文章站 2024-02-18 19:52:10
...

1 pDOF->getMatrixAffine()函数取得的是DOF建立场景内部限定的参数,不随缩放比例而变化

 //获取DOF的内部限定坐标
   void GetAffinePositionFromDOF(const vsDOF * pDOF,double &x,double &y, double &z)

	{
		if(pDOF==NULL)
			return ;

		vuMatrixAffine<double> v;
		v=pDOF->getMatrixAffine();
	
		x=v.getTranslateX(),
		y=v.getTranslateY(),
		z=v.getTranslateZ();	
	 }

2 void GetAbsolutePositionFromDOF()遍历后获取DOF的全局坐标

//获取DOF全局坐标
	void GetAbsolutePositionFromDOF(const vsDOF * pDOF,double &x, double &y, double &z,double &h,double &p,double &r)
	{
		if(!pDOF)
		 return ;

		vsTraversalLocate * travLocate=new vsTraversalLocate(); 
		travLocate->setMode(vsTraversalLocate::MODE_MATRIX_STACK|vsTraversalLocate::MODE_NODE_STACK);

		travLocate->visit(pDOF);

		vuMatrix<double> m=travLocate->getTopMatrixStack();

		m.getTranslate(&x,&y,&z);	
		m.getRotate(&h,&p,&r);	
    }

 

相关标签: DOF参数获取