int main() { std::vector< std::pair<Wpoint,unsigned> > points; points.push_back( std::make_pair(Wpoint(Point(0,0),2),0) ); points.push_back( std::make_pair(Wpoint(Point(1,0),2),1) ); points.push_back( std::make_pair(Wpoint(Point(0,1),2),2) ); points.push_back( std::make_pair(Wpoint(Point(-4,54),2),3) ); points.push_back( std::make_pair(Wpoint(Point(2,2),2),4) ); points.push_back( std::make_pair(Wpoint(Point(-1,0),2),5) ); Regular rt; rt.insert( points.begin(),points.end() ); CGAL_assertion( rt.number_of_vertices() == 6 ); // check that the info was correctly set. Regular::Finite_vertices_iterator vit; for (vit = rt.finite_vertices_begin(); vit != rt.finite_vertices_end(); ++vit) if( points[ vit->info() ].first != vit->point() ){ std::cerr << "Error different info" << std::endl; exit(EXIT_FAILURE); } std::cout << "OK" << std::endl; return 0; }
int main(int argc, char *argv[]) { QApplication a(argc, argv); Regular w; w.show(); return a.exec(); }
int main() { Directory* directory = new(Directory); directory->setName(&directory->ifile, "directory"); Regular* regular = new(Regular); regular->setName(®ular->ifile, "file1"); regular->setContent(®ular->ifile, "this is file1."); directory->add(&directory->ifile, ®ular->ifile); regular = new(Regular); regular->setName(®ular->ifile, "file2"); regular->setContent(®ular->ifile, "this is file2."); directory->add(&directory->ifile, ®ular->ifile); printf("directory name: %s\n", directory->getName(&directory->ifile)); IFile* file = directory->getChild(&directory->ifile, "file1"); regular = container_of(file, Regular, ifile); printf("file name: %s, file content: %s\n", regular->getName(®ular->ifile), regular->getContent(®ular->ifile)); file = directory->getChild(&directory->ifile, "file2"); regular = container_of(file, Regular, ifile); printf("file name: %s, file content: %s\n", regular->getName(®ular->ifile), regular->getContent(®ular->ifile)); delete(Directory, directory); return 0; }
void UnionOfBallsView::draw(QPainter &painter, const Regular ®ular) { QPen pen; pen.setColor(QColor(255, 0, 0)); pen.setWidth(5); painter.setPen(pen); Regular::Finite_vertices_iterator vit; for (vit = regular.finite_vertices_begin(); vit != regular.finite_vertices_end(); ++vit) { draw(painter, regular, vit); } }
void testRegularClass() { Regular regEmpty; Regular regOriginal("RegOrig1", "regOrig1", 50000.00); Regular regDuplicate(regOriginal); regDuplicate.setFirst("RegDup1"); regDuplicate.setLast("regDup1"); regDuplicate.meritRaise(1000.00); cout << "regEmpty: " << regEmpty.toString() << endl << "regOriginal: " << regOriginal.toString() << endl << "regDuplicate: " << regDuplicate.toString() << ", Merit raise=" << "1000.00" << endl << endl; }
void UnionOfBallsView::draw(QPainter &painter, const Regular ®ular, Regular::Finite_vertices_iterator &vit) { std::list<Segment> segments; generate_circle(vit->point(), segments); if (regular.dimension() > 0) { Weighted_point wp = vit->point(); const Regular::Geom_traits > = regular.geom_traits(); Regular::Vertex_circulator adj_vit = regular.incident_vertices(vit); Regular::Vertex_circulator adj_vit_start = adj_vit; do { if (!regular.is_infinite(adj_vit)) { Line l = gt.construct_radical_axis_2_object()(wp, adj_vit->point()); clip(segments, l); } } while (++adj_vit != adj_vit_start); } painter << segments; }
void diagrammeIpelet::protected_run(int fn) { SDG2 svd; //Voronoi for segments Delaunay dt; //Voronoi of points Regular rt; //power diagram Apollonius apo; //apollonius bool b=false; if (fn==4) { show_help(); return; } std::list<Point_2> pt_list; std::list<Segment_2> sg_list; std::list<Circle_2> cir_list; Iso_rectangle_2 bbox= read_active_objects( CGAL::dispatch_or_drop_output<Point_2,Polygon_2,Circle_2,Segment_2>( std::back_inserter(pt_list), segment_grabber(std::back_inserter(sg_list)), std::back_inserter(cir_list), std::back_inserter(sg_list) ) ); switch(fn){ case 1: case 0: //VORONOI if (pt_list.empty() && sg_list.empty()){ print_error_message(("No mark, no segment and no polygon selected")); return; } b=!( sg_list.empty() ); for (std::list<Segment_2>::iterator it=sg_list.begin();it!=sg_list.end();++it) svd.insert(it->point(0),it->point(1)); if (b) svd.insert(pt_list.begin(),pt_list.end()); else dt.insert(pt_list.begin(),pt_list.end()); break; case 2: //POWER DIAGRAM if (pt_list.empty() && cir_list.empty()){ print_error_message(("No mark nor circle selected")); return; } for (std::list<Circle_2>::iterator it=cir_list.begin();it!=cir_list.end();it++) rt.insert(Weighted_point_2(it->center(),it->squared_radius())); for (std::list<Point_2>::iterator it=pt_list.begin();it!=pt_list.end();it++) rt.insert(Weighted_point_2(*it,0)); break; case 3: //APOLLONIUS if (cir_list.empty()){ print_error_message(("No circle selected")); return; } for (std::list<Circle_2>::iterator it=cir_list.begin();it!=cir_list.end();it++) apo.insert(ASite(it->center(),sqrt(CGAL::to_double(it->squared_radius())))); for (std::list<Point_2>::iterator it=pt_list.begin();it!=pt_list.end();it++) apo.insert(ASite(*it,0)); break; } //end of switch Kernel::FT incr_len=(fn<2)?50:75; //slightly increase the size of the Bbox bbox=Iso_rectangle_2(bbox.min()+Kernel::Vector_2(-incr_len,-incr_len), bbox.max()+Kernel::Vector_2(incr_len,incr_len)); if(fn<2){ //recover dual objects if(b){ if (fn==0) draw_dual_in_ipe(svd,bbox); else draw_skeleton_in_ipe(svd,bbox); } else draw_dual_in_ipe(dt,bbox); } if(fn==2) draw_dual_in_ipe(rt,bbox); if(fn==3) draw_dual_in_ipe(apo,bbox); }