本文整理汇总了C++中mat4::invert方法的典型用法代码示例。如果您正苦于以下问题:C++ mat4::invert方法的具体用法?C++ mat4::invert怎么用?C++ mat4::invert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mat4
的用法示例。
在下文中一共展示了mat4::invert方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: calculateVoreenTrafo
void MutualInformationRegistration::calculateVoreenTrafo(const mat4& itkMatrix) {
const VolumeBase* fixed = fixedVolumeInport_.getData();
mat4 invertedITKTransform;
bool success = itkMatrix.invert(invertedITKTransform);
if(!success) {
LERROR("Failed to invert ITK transformation matrix!");
return;
}
mat4 f_physicalToWorld = fixed->getPhysicalToWorldMatrix();
mat4 voreenMatrix = f_physicalToWorld * invertedITKTransform;
transformationMatrix_.set(voreenMatrix);
LINFO("Setting matrix");
}
示例2: setViewMatrix
void Camera::setViewMatrix(const mat4& mvMat) {
mat4 inv;
if (mvMat.invert(inv)) {
// preserve the focallength
float focallength = length(focus_ - position_);
// calculate world-coordinates
vec4 pos = (inv * vec4(0.f, 0.f, 0.f, 1.f));
vec4 look = (inv * vec4(0.f, 0.f, -1.f, 0.f));
vec4 focus = pos + focallength * look;
vec4 up = (inv * vec4(0.f, 1.f, 0.f, 0.f));
positionCamera(pos.xyz(), focus.xyz(), up.xyz());
viewMatrix_ = mvMat;
}
}