本文整理汇总了C++中eigen::Vector2f::allFinite方法的典型用法代码示例。如果您正苦于以下问题:C++ Vector2f::allFinite方法的具体用法?C++ Vector2f::allFinite怎么用?C++ Vector2f::allFinite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eigen::Vector2f
的用法示例。
在下文中一共展示了Vector2f::allFinite方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: line_segm_intersect
/** Check if the edge intersects with another line segment.
* @param x1 X coordinate of first point of line segment to test
* @param y1 Y coordinate of first point of line segment to test
* @param x2 X coordinate of first point of line segment to test
* @param y2 Y coordinate of first point of line segment to test
* @param ip upon returning true contains intersection point,
* not modified is return value is false
* @return true if the edge intersects with the line segment, false otherwise
*/
bool
NavGraphEdge::intersection(float x1, float y1, float x2, float y2,
fawkes::cart_coord_2d_t &ip) const
{
const Eigen::Vector2f e_from(from_node_.x(), from_node_.y());
const Eigen::Vector2f e_to(to_node_.x(), to_node_.y());
const Eigen::Vector2f p1(x1, y1);
const Eigen::Vector2f p2(x2, y2);
const Eigen::Vector2f lip = line_segm_intersection(e_from, e_to, p1, p2);
#if EIGEN_VERSION_AT_LEAST(3,2,0)
if (lip.allFinite()) {
#else
if (workaround::allFinite(lip)) {
#endif
ip.x = lip[0];
ip.y = lip[1];
return true;
} else {
return false;
}
}
/** Check if the edge intersects with another line segment.
* @param x1 X coordinate of first point of line segment to test
* @param y1 Y coordinate of first point of line segment to test
* @param x2 X coordinate of first point of line segment to test
* @param y2 Y coordinate of first point of line segment to test
* @return true if the edge intersects with the line segment, false otherwise
*/
bool
NavGraphEdge::intersects(float x1, float y1, float x2, float y2) const
{
const Eigen::Vector2f e_from(from_node_.x(), from_node_.y());
const Eigen::Vector2f e_to(to_node_.x(), to_node_.y());
const Eigen::Vector2f p1(x1, y1);
const Eigen::Vector2f p2(x2, y2);
return line_segm_intersect(e_from, e_to, p1, p2);
}
} // end of namespace fawkes