本文整理汇总了C++中cg::visualization::drawer_type类的典型用法代码示例。如果您正苦于以下问题:C++ drawer_type类的具体用法?C++ drawer_type怎么用?C++ drawer_type使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了drawer_type类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: draw_node
void draw_node(Node<double> *node, cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::green);
drawer.draw_point(node->point, 3);
if(node->children[0] == NULL)
return;
drawer.set_color(Qt::white);
point_2t<double> c = node->boundary.position;
double d = node->boundary.dimension;
point_2 p1(c.x + d, c.y+d/2);
point_2 p2(c.x + d/2, c.y+d);
point_2 p3(c.x, c.y+d/2);
point_2 p4(c.x+d/2, c.y);
drawer.draw_line(p1, p3);
drawer.draw_line(p2, p4);
draw_node(node->children[0], drawer);
draw_node(node->children[1], drawer);
draw_node(node->children[2], drawer);
draw_node(node->children[3], drawer);
}
开发者ID:sslavian812,项目名称:quadrotree,代码行数:27,代码来源:quad-tree.cpp
示例2: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::white);
if (current_point_ && cg::contains(t_, *current_point_))
drawer.set_color(Qt::red);
drawer.draw_line(t_[0], t_[1]);
}
开发者ID:free0u,项目名称:cg,代码行数:8,代码来源:segment_contains_point.cpp
示例3: draw
void draw(cg::visualization::drawer_type & drawer) const
{
for (triangle_2 tr : trs) {
drawer.set_color(Qt::red);
cg::visualization::draw(drawer, tr);
drawer.set_color(Qt::yellow);
cg::visualization::draw(drawer, tr.circumcenter(), tr.circumradius());
}
}
开发者ID:flevix,项目名称:cg,代码行数:10,代码来源:delaunay.cpp
示例4: draw
void draw(cg::visualization::drawer_type & drawer) const
{
std::for_each(answer.begin(), answer.end(),
[&](cg::triangle_2 tr)
{
drawer.set_color(Qt::white);
cg::visualization::draw(drawer, tr);
drawer.set_color(Qt::green);
cg::visualization::draw(drawer, tr.center(), tr.radius());
});
}
开发者ID:wotopul,项目名称:cg,代码行数:11,代码来源:delaunay.cpp
示例5: draw
void draw(cg::visualization::drawer_type & drawer) const override
{
drawer.set_color(Qt::white);
if (current_point_ && cg::contains(contour, *current_point_))
drawer.set_color(Qt::green);
for (size_t l = 0, lp = contour.size() - 1; l != contour.size(); lp = l++)
drawer.draw_line(contour[lp], contour[l]);
if (idx_)
drawer.draw_point(contour[*idx_], 5);
}
开发者ID:BigBot22,项目名称:cg,代码行数:12,代码来源:contour_contains_point.cpp
示例6: draw
void draw(cg::visualization::drawer_type & drawer) const
{
if (count >= 1)
drawer.draw_point(start, 2);
if (count == 2)
drawer.draw_point(finish, 2);
drawer.set_color(Qt::white);
for (unsigned int i = 0; i < input_points.size(); i++)
draw_vector(input_points[i].begin(), input_points[i].end(), drawer);
draw_vector(contour.begin(), contour.end(), drawer);
drawer.set_color(Qt::yellow);
draw_vector(output_points.begin(), output_points.end(), drawer);
}
开发者ID:Igorjan94,项目名称:cg,代码行数:13,代码来源:shortestPath.cpp
示例7: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::white);
for (point_2 const & p : pts_)
drawer.draw_point(p);
drawer.set_color(Qt::green);
for (size_t lp = ch_size_ - 1, l = 0; l != ch_size_; lp = l++)
{
drawer.draw_point(pts_[l], 3);
drawer.draw_line(pts_[lp], pts_[l]);
}
}
开发者ID:Susak,项目名称:cg,代码行数:13,代码来源:andrew_hull.cpp
示例8: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::white);
if (current_point_ && cg::contains(t_, *current_point_))
drawer.set_color(Qt::green);
for (size_t l = 0, lp = 2; l != 3; lp = l++)
drawer.draw_line(t_[lp], t_[l]);
if (idx_)
{
drawer.set_color((rbutton_pressed_)? Qt::red : Qt::yellow);
drawer.draw_point(t_[*idx_], 5);
}
}
开发者ID:BigBot22,项目名称:cg,代码行数:15,代码来源:triangle_contains_point.cpp
示例9: draw
void draw(cg::visualization::drawer_type & drawer) const
{
if (in_building_)
{
drawer.set_color(Qt::white);
for (size_t i = 1; i < points_.size(); ++i)
{
drawer.draw_line(points_[i - 1], points_[i]);
}
return;
}
}
开发者ID:BigBot22,项目名称:cg,代码行数:15,代码来源:duglas_pecher.cpp
示例10: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::green);
for (segment_2 s : visibility_segments)
drawer.draw_line(s[0], s[1]);
drawer.set_color(Qt::white);
for (contour_2 c : contours)
{
for (auto p = c.begin(); p < c.end(); ++p)
{
drawer.draw_point(*p, 5);
drawer.draw_line(*p, *(++c.circulator(p)));
}
}
}
开发者ID:dmekhanikov,项目名称:cg,代码行数:15,代码来源:visibility.cpp
示例11: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::white);
if (cg::has_intersection(s_[0], s_[1]))
drawer.set_color(Qt::green);
for (size_t l = 0; l != 2; l++)
drawer.draw_line(s_[l][0], s_[l][1]);
if (idx_)
{
drawer.set_color(rbutton_pressed_ ? Qt::red : Qt::yellow);
drawer.draw_point(s_[(*idx_).first][(*idx_).second], 5);
}
}
开发者ID:BigBot22,项目名称:cg,代码行数:15,代码来源:segments_intersect.cpp
示例12: draw_contour
void draw_contour(contour_2f const& p, cg::visualization::drawer_type & drawer)
{
if (p.size() <= 1)
return;
for (auto a = p.begin(), b = a + 1; b != p.end(); a++, b++)
drawer.draw_line(*a, *b);
}
开发者ID:Igorjan94,项目名称:cg,代码行数:7,代码来源:fourTangent.cpp
示例13: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::white);
// drawer.draw_line(s_[0], s_[1]);
for (size_t l = 0, lp = 2; l != 3; lp = l++)
{
drawer.draw_line(t_[lp], t_[l]);
drawer.draw_line(s_[lp], s_[l]);
}
drawer.set_color(Qt::green);
for (size_t l = 0, lp = int_.size() - 1; l != int_.size(); lp = l++)
{
drawer.draw_line(int_[lp], int_[l]);
}
}
开发者ID:dvbobrov,项目名称:cg,代码行数:17,代码来源:exam_2401_2.cpp
示例14: draw_vector
void draw_vector(Iter a, Iter c, cg::visualization::drawer_type & drawer)
{
if (a == c)
return;
Iter b = a + 1;
for (; b != c; a++, b++)
drawer.draw_line(*a, *b);
}
开发者ID:Igorjan94,项目名称:cg,代码行数:8,代码来源:shortestPath.cpp
示例15: draw
void draw(cg::visualization::drawer_type &drawer) const
{
drawer.set_color(Qt::red);
if(have_first_point) {
drawer.draw_point(first_point, 5);
}
if(have_second_point) {
drawer.draw_point(second_point, 5);
}
if(have_first_point && have_second_point) {
dcel_by_lines->add_line(first_point, second_point);
}
drawer.set_color(Qt::blue);
drow_all_lines(drawer);
}
开发者ID:markina,项目名称:cg,代码行数:20,代码来源:localization_point_viewer.cpp
示例16: draw
void draw(cg::visualization::drawer_type & drawer) const
{
if (in_building)
{
drawer.set_color(Qt::white);
for (size_t i = 1; i < points_.size(); ++i)
{
drawer.draw_line(points_[i - 1], points_[i]);
}
return;
}
cg::contour_2 cont(points_);
if (!cg::counterclockwise(cont) || !cg::convex(cont))
{
drawer.set_color(Qt::yellow);
} else
{
drawer.set_color(cg::convex_contains(cont, *current_point_) ? Qt::green : Qt::red);
}
for (size_t i = 1; i < points_.size(); ++i)
{
drawer.draw_line(points_[i - 1], points_[i]);
}
drawer.draw_line(points_.front(), points_.back());
}
开发者ID:BigBot22,项目名称:cg,代码行数:33,代码来源:ccw_convex_contains_point.cpp
示例17: draw
void draw(cg::visualization::drawer_type & drawer) const
{
drawer.set_color(Qt::red);
for (point_2 p : points)
drawer.draw_point(p, 5);
drawer.set_color(Qt::white);
for (contour_2 c : contours)
for (auto j = c.begin(); j < c.end(); ++j)
{
auto p = *j;
drawer.draw_point(p, 5);
drawer.draw_line(p, *(++c.circulator(j)));
}
drawer.set_color(Qt::green);
for (int i = 0; i < (int) route.size() - 1; i++)
drawer.draw_line(route[i], route[i + 1]);
}
开发者ID:dmekhanikov,项目名称:cg,代码行数:17,代码来源:navigation.cpp
示例18: draw
void draw(cg::visualization::drawer_type & drawer) const override
{
drawer.set_color(Qt::white);
drawer.draw_point(*chain.begin(), 5);
for(auto i = chain.begin() + 1; i != chain.end(); ++i)
{
drawer.draw_point(*i, 5);
drawer.draw_line(*i, *(i-1));
}
std::vector<point_2> simple;
douglas_peucker(chain.begin(), chain.end(), eps, back_inserter(simple));
drawer.set_color(Qt::green);
drawer.draw_point(*simple.begin(), 5);
for(auto i = simple.begin() + 1; i != simple.end(); ++i)
{
drawer.draw_point(*i, 5);
drawer.draw_line(*i, *(i-1));
}
}
开发者ID:BorysMinaiev,项目名称:cg,代码行数:21,代码来源:douglas.cpp
示例19: draw
void draw(cg::visualization::drawer_type & drawer) const
{
for (size_t idx = 0; idx < cur_contour; idx++)
{
contour const & cont = conts[idx];
drawer.set_color(Qt::red);
if (cg::counterclockwise(cont))
drawer.set_color(Qt::green);
for (size_t i = 0; i < cont.size(); i++)
{
size_t j = (i + 1) % cont.size();
cg::point_2 p1 = cont[i], p2 = cont[j];
drawer.draw_line(p1, p2);
}
}
if (in_building_)
{
drawer.set_color(Qt::white);
for (size_t i = 1; i < conts[cur_contour].size(); ++i)
{
drawer.draw_line(conts[cur_contour][i - 1], conts[cur_contour][i]);
}
} else
{
drawer.set_color(Qt::blue);
drawer.draw_point(center, 3);
contour_2 result = minkowski_convex_sum(contour_2(conts[0]), contour_2(reversed));
for (size_t i = 0; i < result.size(); ++i)
{
size_t j = (i + 1) % result.size();
drawer.draw_line(result[i], result[j]);
}
}
}
开发者ID:dmekhanikov,项目名称:cg,代码行数:37,代码来源:minkowski_sum.cpp
示例20: draw
void draw(cg::visualization::drawer_type & drawer) const
{
for (point_2 p : points)
{
if (cur_vertex && p == *cur_vertex)
drawer.set_color(Qt::red);
else
drawer.set_color(Qt::white);
drawer.draw_point(p, 5);
}
for (triangle_2 t : triangles)
{
drawer.set_color(Qt::green);
for (int j = 0; j < 3; ++j)
drawer.draw_line(t[j], t[(j + 1) % 3]);
drawer.set_color(Qt::gray);
if (auto st = find_triangle(cur_point))
drawer.draw_circle(get_circumcircle(*st));
}
}
开发者ID:dmekhanikov,项目名称:cg,代码行数:20,代码来源:delaunay_triangulation.cpp
注:本文中的cg::visualization::drawer_type类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论