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


C++ Polygon_2::has_on_bounded_side方法代码示例

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


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

示例1: boundaries_intersect

bool boundaries_intersect(const Polygon_2& P, const Polygon_2& Q, bool proper)
{
  std::list<Segment_2> segments0, segments1;
  segments0.insert(segments0.end(), P.edges_begin(), P.edges_end());
  segments1.insert(segments1.end(), Q.edges_begin(), Q.edges_end());
  
  bool intersects = has_intersection(segments0.begin(), segments0.end(), 
			  segments1.begin(), segments1.end(), 
			  true, true);
  if (!intersects || !proper)
    return intersects;

  if (has_intersection(segments0.begin(), segments0.end(), 
		       segments1.begin(), segments1.end(), 
		       false, false))
    return true;

  typedef Polygon_2::Vertex_const_iterator Iter;
  for (Iter it = P.vertices_begin(); it != P.vertices_end(); ++it) {
    if (Q.has_on_bounded_side(*it))
      return true;
  }
  for (Iter it = Q.vertices_begin(); it != Q.vertices_end(); ++it) {
    if (P.has_on_bounded_side(*it))
      return true;
  }
  return false;
}
开发者ID:SoumyajitG,项目名称:VolRoverN,代码行数:28,代码来源:polygon_utils.cpp

示例2: can_cut

bool can_cut(const Polygon_2& polygon, Polygon_2::Vertex_circulator p, Polygon_2::Vertex_circulator c, Polygon_2::Vertex_circulator n, 
	     const boost::unordered_map<Point_3, boost::unordered_set<Segment_3_undirected> >& point2edges)
{
  Segment_2 seg(*p, *n);
  Point_2 mid((p->x()+n->x())/2.0, (p->y()+n->y())/2.0);
  return (CGAL::left_turn(*p, *c, *n) &&
	  is_legal(*p, *c, *n, point2edges) &&
	  !intersects_boundary(polygon, seg, true, false) &&
	  polygon.has_on_bounded_side(mid));
}
开发者ID:SoumyajitG,项目名称:VolRoverN,代码行数:10,代码来源:polygon_utils.cpp

示例3: inside

//-----------------------------------------------------------------------------
bool Polygon::inside(dolfin::Point p) const
{
  typedef CGAL::Cartesian<double> K;
  typedef CGAL::Point_2<K> Point_2;
  typedef CGAL::Polygon_2<K> Polygon_2;

  Polygon_2 polygon;
  for (const dolfin::Point& vertex : _vertices)
    polygon.push_back(Point_2(vertex.x(), vertex.y()));

  return polygon.has_on_bounded_side(Point_2(p.x(), p.y()));
}
开发者ID:FEniCS,项目名称:mshr,代码行数:13,代码来源:CSGPrimitives2D.cpp


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