การแทรกจุดที่ถ่วงน้ำหนักพร้อมข้อมูลในสมการปกติของ CGAL

ฉันกำลังเผชิญกับปัญหาที่ฉันหวังว่าคนอื่นๆ เคยเจอมาก่อนเพราะฉันหาทางออกไม่ได้ !

ฉันมีรูปสามเหลี่ยมปกติใน CGAL ซึ่งฉันต้องการแทรกจุดที่ถ่วงน้ำหนักด้วยข้อมูล std::pair<myweightpoint, myinfo> ทีละจุด และเพื่อให้จุดจับไปที่จุดยอด (Vertex_handle) เมื่อแทรกแล้ว! ประเด็นก็คือไม่มีฟังก์ชั่นดังกล่าว มีหลายฟังก์ชันให้แทรก:

นั่นส่งคืน Vertex_handle ซึ่งเจ๋งแต่ไม่ได้ใช้คะแนนถ่วงน้ำหนักด้วย INFO ซึ่งสำคัญมากสำหรับฉันและสิ่งที่ฉันทำกับจุดยอดเหล่านั้น

ซึ่งช่วยให้ฉันสามารถแทรกจุดถ่วงน้ำหนักด้วยข้อมูล (ซึ่งดี) แต่ไม่ได้ช่วยให้ฉันจัดการจุดยอดที่แทรกไว้ได้ นอกจากนี้ เนื่องจากฉันกำลังแทรกจุดทีละจุด ตอนนี้ฉันกำลังทำสิ่งนี้:

v_wpoints.resize(1) ;
v_wpoints[0] = std::make_pair(myweightpoint, myinfo) ;
rt.insert(v_wpoints.begin(), v_wpoints.end()) ;

ซึ่งดูสกปรกจริงๆ ดังนั้นคำถามของฉันคือ: ทำไมไม่มีฟังก์ชั่นแบบนั้น:

Vertex_handle Regular_triangulation::insert( const Weighted_point_with_info & p ) ;

และฉันจะทำอย่างไรเพื่อแทรกจุดถ่วงน้ำหนักพร้อมข้อมูลในสมการสามเหลี่ยมปกติและนำจุดจับไปที่จุดยอดที่แทรกไว้

ขอบคุณมาก.


person Fritzip    schedule 20.04.2015    source แหล่งที่มา


คำตอบ (1)


สิ่งที่คุณสามารถทำได้คือ:

Vertex_handle v = rt.insert(wp);
v->info()=the_info;
person sloriot    schedule 20.04.2015
comment
สมบูรณ์แบบ ! สมบูรณ์แบบ! ‹3 - person Fritzip; 20.04.2015