本文整理汇总了C++中Matrix3f::set_row方法的典型用法代码示例。如果您正苦于以下问题:C++ Matrix3f::set_row方法的具体用法?C++ Matrix3f::set_row怎么用?C++ Matrix3f::set_row使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Matrix3f
的用法示例。
在下文中一共展示了Matrix3f::set_row方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseTransform
bool VRPNTrackerAxis::parseTransform(const std::string& axis,
Matrix3f& transformOut )
{
static const boost::regex k_axis_re("^([xyzXYZ])([xyzXYZ])([xyzXYZ])$");
static std::map<char,Vector3f> k_axisMap =
boost::assign::map_list_of ('X', Vector3f::UNIT_X)
('Y', Vector3f::UNIT_Y)
('Z', Vector3f::UNIT_Z);
boost::smatch optResult;
if (boost::regex_search(axis, optResult, k_axis_re))
{
for (size_t r = 0; r < transformOut.ROWS; ++r)
{
std::string optionValue(optResult.str(r+1));
LBASSERT(optionValue.size() == 1);
const char ax = optionValue[0];
const float scale = std::isupper(ax) ? 1.f : -1.f;
const Vector3f v = scale * k_axisMap[std::toupper(ax)];
transformOut.set_row(r, v);
}
}
else
return false;
return true;
}
示例2: computePlaneIntersection
Vector3f computePlaneIntersection( const Plane& plane0, const Plane& plane1, const Plane& plane2 )
{
// TODO: Paralllel planes, whew !
Matrix3f linSolve;
linSolve.set_row( 0, plane0.getNormal() );
linSolve.set_row( 1, plane1.getNormal() );
linSolve.set_row( 2, plane2.getNormal() );
Matrix3f ilinSolve;
linSolve.inverse( ilinSolve );
Vector3f bSolve( -plane0.getd(),
-plane1.getd(),
-plane2.getd() );
return ilinSolve * bSolve;
}