void CSketch::ReLinkSketch() { CSketchRelinker relinker(m_objects); relinker.Do(); Clear(); for(std::list< std::list<HeeksObj*> >::iterator It = relinker.m_new_lists.begin(); It != relinker.m_new_lists.end(); It++) { for(std::list<HeeksObj*>::iterator It2 = It->begin(); It2 != It->end(); It2++) { Add(*It2, NULL); } } if(relinker.m_new_lists.size() > 1) { m_order = SketchOrderTypeMultipleCurves; } else { CalculateSketchOrder(); } }
void CSketch::ReLinkSketch() { CSketchRelinker relinker(m_objects); relinker.Do(); std::list<HeeksObj*> new_list; for(std::list< std::list<HeeksObj*> >::iterator It = relinker.m_new_lists.begin(); It != relinker.m_new_lists.end(); It++) { for(std::list<HeeksObj*>::iterator It2 = It->begin(); It2 != It->end(); It2++) { new_list.push_back(*It2); } } wxGetApp().DoUndoable(new ReorderTool(this, new_list)); if(relinker.m_new_lists.size() > 1) { m_order = SketchOrderTypeMultipleCurves; } else { CalculateSketchOrder(); } }
SketchOrderType CSketch::GetSketchOrder() { if(m_order == SketchOrderTypeUnknown)CalculateSketchOrder(); return m_order; }