вставить ребра в грани - ошибка CGAL: нарушение утверждения - PullRequest
0 голосов
/ 10 января 2019

Я создаю приложение, используя qt creator, который читает файлы .off как CGAL :: Linear_cell_complex_for_combinatorial_map и просматривает его. Я хочу выполнить операции над сеткой чтения, такие как удаление ребра и восстановление его.

показывает следующую ошибку: прерывание вызывается после создания экземпляра CGAL :: Assertion_exception what (): ОШИБКА CGAL: нарушение утверждения! Пример: is_insertable_cell_1_in_cell_2 (adart1, adart2)

Я искал об этом, но не могу найти полезное решение

 QWidget* viewer ;
   std::string filename;
   Dart_handle dh3;
 LCC_3 lcc;
   QMainWindow qWin;
  CGAL::DefaultColorFunctorLCC fcolor;

void MainWindow ::insertCell()
{
      dh3=lcc.insert_cell_1_in_cell_2(lcc.darts().begin(), lcc.darts().end());
    CGAL_assertion( lcc.is_valid() );

    lcc.display_characteristics(std::cout) << ", valid=" <<
      lcc.is_valid() << std::endl;

    setCentralWidget( new CGAL::SimpleLCCViewerQt<LCC_3, CGAL::DefaultColorFunctorLCC>(&qWin ,
                      lcc,
                      "Basic LCC Viewer",
                      false,
                       fcolor ) );
    show();
}

 void MainWindow ::removeCell()
 {
    CGAL_assertion( (lcc.is_removable<2>(dh3)) );
    lcc.remove_cell<1>(dh3);
    CGAL_assertion( lcc.is_valid() );
     lcc.display_characteristics(std::cout) << ", valid="
                      << lcc.is_valid() << std::endl;
}

любая помощь? или использовать полезные ссылки для упрощения сетки или удаления вершин, ребер или граней? Я ценю любую помощь

1 Ответ

0 голосов
/ 11 января 2019

Чтобы вставить ребро в грань, см. Документ здесь . Для лица в объеме документ там . Вы также можете посмотреть пример здесь .

Важно понимать, что когда вы добавляете грань в грань, вам нужно сказать, куда вставить грань. Вот почему вы даете два точных дротика. Это аналогично, когда вы хотите вставить грань в том: вам нужно задать последовательность дротиков, представляющих собой цикл ребер в томе.

...