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


C++ btMatrix3x3::getRow方法代码示例

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


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

示例1: Transpose

static btMatrix3x3 Transpose(btMatrix3x3 &in)
{
	btVector3 row0 = in.getRow(0);
	btVector3 row1 = in.getRow(1);
	btVector3 row2 = in.getRow(2);
	btVector3 col0 = btAssign128(row0.x(), row1.x(), row2.x(), 0);
	btVector3 col1 = btAssign128(row0.y(), row1.y(), row2.y(), 0);
	btVector3 col2 = btAssign128(row0.z(), row1.z(), row2.z(), 0);
	return btMatrix3x3(col0, col1, col2);
}
开发者ID:bulletphysics,项目名称:bullet3,代码行数:10,代码来源:Test_3x3transpose.cpp

示例2:

void virtuose::Matrix3ToArray(btMatrix3x3 m, float *to) {
    to[0] = m.getRow(0).getX();
    to[1] = m.getRow(0).getZ();
    to[2] = m.getRow(0).getY();
    to[3] = m.getRow(2).getX();
    to[4] = m.getRow(2).getZ();
    to[5] = m.getRow(2).getY();
    to[6] = m.getRow(1).getZ();
    to[7] = m.getRow(1).getX();
    to[8] = m.getRow(1).getY();
}
开发者ID:Victor-Haefner,项目名称:polyvr,代码行数:11,代码来源:virtuose.cpp

示例3: setRowMajorRotationMatrix

/** Set the orientation (forward and up vectors) to the
 * provided rotation matrix
 * @param matrix matrix to use to set new orientation
 * @note this method is provided to ease performance interactions with 
 * the physics library
 */
void Position::setRowMajorRotationMatrix(const btMatrix3x3& matrix)
{
	btVector3 upV = matrix.getRow(1);
	btVector3 forwardV = matrix.getRow(2);
		
	// fill in y axis, second row
	up.set(upV.getX(), upV.getY(), upV.getZ());
							
	// fill in z axis, thrid row
	forward.set(forwardV.getX(), forwardV.getY(), forwardV.getZ());
	
}
开发者ID:venev,项目名称:3DMagic,代码行数:18,代码来源:Position.cpp

示例4: basisToNode

QDomElement SimDomElement::basisToNode(QDomDocument &doc, const btMatrix3x3 mx)
{
	QDomElement matrix = doc.createElement( "matrix" );
	
	for(int i=0;i<3;i++)
		matrix.appendChild(vectorToNode(doc, mx.getRow(i)));
	return matrix;
}
开发者ID:jsj2008,项目名称:roverSim,代码行数:8,代码来源:SimDomElement.cpp

示例5: fabs

static int operator!= ( const btMatrix3x3 &a, const btMatrix3x3 &b )
{
    int i; 
    btVector3 av3, bv3;

    for(i=0; i<3; i++)
    {
        av3 = a.getRow(i);
        bv3 = b.getRow(i);
        
        if( fabs(av3.m_floats[0] - bv3.m_floats[0]) + 
            fabs(av3.m_floats[1] - bv3.m_floats[1]) +
            fabs(av3.m_floats[2] - bv3.m_floats[2]) > FLT_EPSILON * 4)
            return 1;
    }
    
    return 0;
}
开发者ID:Ochakko,项目名称:MameBake3D,代码行数:18,代码来源:Test_3x3setRot.cpp

示例6:

static int operator!= ( const btMatrix3x3 &a, const btMatrix3x3 &b )
{
    if( a.getRow(0) != b.getRow(0) )
        return 1;
    if( a.getRow(1) != b.getRow(1) )
        return 1;
    if( a.getRow(2) != b.getRow(2) )
        return 1;
    return 0;
}
开发者ID:20-sim,项目名称:bullet3,代码行数:10,代码来源:Test_3x3timesTranspose.cpp

示例7:

static int operator!= ( const btMatrix3x3 &a, const btMatrix3x3 &b )
{
    if( a.getRow(0) != b.getRow(0) )
	{
		if (!fuzzyEqualSlow(a.getRow(0),b.getRow(0)))
		{
			return 1;
		}
	}
    if( a.getRow(1) != b.getRow(1) )
	{
	    if( !fuzzyEqualSlow(a.getRow(1),b.getRow(1)) )
	        return 1;
	}
    if( a.getRow(2) != b.getRow(2) )
	{
		if( !fuzzyEqualSlow(a.getRow(2),b.getRow(2)) )
		{
			return 1;
		}
	}
    return 0;
}
开发者ID:20-sim,项目名称:bullet3,代码行数:23,代码来源:Test_3x3mulM1M2.cpp

示例8:

Geometry::Matrix3x3 toMatrix3x3(const btMatrix3x3& btm){
    Geometry::Matrix3x3 tmp;
    for(int i = 0; i<3; ++i)
        tmp.setRow(i,toVec3(btm.getRow(i)));
    return tmp;
}
开发者ID:PADrend,项目名称:MinSG,代码行数:6,代码来源:Helper.cpp


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