本文整理汇总了C++中btTransform::setFromOpenGLMatrix方法的典型用法代码示例。如果您正苦于以下问题:C++ btTransform::setFromOpenGLMatrix方法的具体用法?C++ btTransform::setFromOpenGLMatrix怎么用?C++ btTransform::setFromOpenGLMatrix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类btTransform
的用法示例。
在下文中一共展示了btTransform::setFromOpenGLMatrix方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getWorldTransform
void motion_state::getWorldTransform(btTransform &worldTrans) const
{
if (node == NULL) {
worldTrans = btTransform();
return;
}
worldTrans.setFromOpenGLMatrix(glm::value_ptr(node->transformation_matrix));
}
示例2: Matrix4_to_btTransform
void Matrix4_to_btTransform(JNIEnv * const &jenv, btTransform &target, jobject &source)
{
matrix4_ensurefields(jenv, source);
jfloatArray valArray = (jfloatArray) jenv->GetObjectField(source, matrix4_val);
jfloat * elements = jenv->GetFloatArrayElements(valArray, NULL);
target.setFromOpenGLMatrix(elements);
jenv->ReleaseFloatArrayElements(valArray, elements, JNI_ABORT);
jenv->DeleteLocalRef(valArray);
}
示例3: getWorldTransform
void TransformMotionState::getWorldTransform(btTransform& worldTrans) const {
Matrix4x4 xformMatrix = toMatrix();
float xformMatrixVals[16] = {
xformMatrix[0], xformMatrix[1], xformMatrix[2], xformMatrix[3],
xformMatrix[4], xformMatrix[5], xformMatrix[6], xformMatrix[7],
xformMatrix[8], xformMatrix[9], xformMatrix[10], xformMatrix[11],
xformMatrix[12], xformMatrix[13], xformMatrix[14], xformMatrix[15],
};
worldTrans.setFromOpenGLMatrix(xformMatrixVals);
}
示例4:
void CGmObjPhysMan::CMotionState::getWorldTransform( btTransform &roWorldTrans ) const
{
if( m_poShape && m_poShape->m_poBody && m_poShape->m_poBody->IsKinematic() ) // toopt
//if( m_poShape && m_poShape->m_bIsKinematic )
{
//roWorldTrans.setOrigin( TVEC2BT3( m_poShape->GetPos() ) );
roWorldTrans.setFromOpenGLMatrix( m_poShape->m_oMatrix );
}
else
{
btDefaultMotionState::getWorldTransform( roWorldTrans );
}
}
示例5: btTransformFromIrrlichtMatrix
void btTransformFromIrrlichtMatrix(const irr::core::matrix4& irrmat, btTransform &transform)
{
transform.setIdentity();
/*btScalar mat[16];
for(irr::u32 i=0; i < 16; i++)
{
mat[i] = irrmat.pointer()[i];
}*/
transform.setFromOpenGLMatrix(irrmat.pointer());
//transform.setFromOpenGLMatrix(mat);
}
示例6: getWorldTransform
virtual void getWorldTransform(btTransform &worldTrans) const {
FREObject trans, raw;
FREGetObjectProperty(skin, (uint8_t*)"transform", &trans, NULL);
FREGetObjectProperty(trans, (uint8_t*)"rawData", &raw, NULL);
btScalar data[16];
for (int i=0; i < 16; i++) {
FREObject val;
double dval;
FREGetArrayElementAt(raw, i, &val);
FREGetObjectAsDouble(val, &dval);
data[i] = btScalar(dval);
}
worldTrans.setFromOpenGLMatrix(data);
}
示例7: getWorldTransform
//-----------------------------------------------------------------------
// g e t W o r l d T r a n s f o r m
//-----------------------------------------------------------------------
// getWorldTransform is invoked when any body is initially created. After
// that, it is invoked only for kinematic objects.
void TPhysicsObject::getWorldTransform(btTransform& centerOfMassWorldTrans) const
{
if(!m_sceneNode)
return;
m_sceneNode->updateAbsolutePosition();
/*
TVector3 pos,rot(0,0,0);
pos = m_sceneNode->getAbsolutePosition();
TMatrix4::getRotationDegreesDivScale(m_sceneNode->getAbsoluteTransformation(), rot);
TIBConvert::IrrToBullet(pos, rot, centerOfMassWorldTrans);
*/
centerOfMassWorldTrans.setIdentity();
centerOfMassWorldTrans.setFromOpenGLMatrix(m_sceneNode->getAbsoluteTransformation().pointer());
}
示例8: btTransformFromIrrlichtMatrix
void btTransformFromIrrlichtMatrix(const irr::core::matrix4& irrmat, btTransform &transform)
{
transform.setIdentity();
transform.setFromOpenGLMatrix(irrmat.pointer());
}