entry point
| 1536 | // entry point |
| 1537 | // |
| 1538 | void dispatch(output_t& output, const input_t& input) |
| 1539 | { |
| 1540 | |
| 1541 | #ifndef LICENSE_NOTICE_ACKNOWLEDGED |
| 1542 | const char* notice_str = R"delimiter( |
| 1543 | *************************************************************************** |
| 1544 | * * |
| 1545 | * The program you are running is dependent on the MCUT library. * |
| 1546 | * * |
| 1547 | * Copyright (C) 2024 CutDigital Enterprise Ltd * |
| 1548 | * * |
| 1549 | * MCUT is dual-licensed software that is available under an Open Source * |
| 1550 | * license as well as a Commercial license. The Open Source license is * |
| 1551 | * the GNU Lesser General Public License v3+ (LGPL). The Commercial * |
| 1552 | * license is for users that wish to use MCUT in their products for * |
| 1553 | * commercial purposes but do not wish to release their software under * |
| 1554 | * LGPL. * |
| 1555 | * * |
| 1556 | * Email <contact@cut-digital.com> for further information. * |
| 1557 | * * |
| 1558 | *************************************************************************** |
| 1559 | )delimiter"; |
| 1560 | |
| 1561 | printf("%s", notice_str); |
| 1562 | #endif // #ifndef LICENSE_NOTICE_ACKNOWLEDGED |
| 1563 | |
| 1564 | TIMESTACK_PUSH(__FUNCTION__); |
| 1565 | |
| 1566 | logger_t& lg = output.logger; |
| 1567 | logger_ptr = &output.logger; |
| 1568 | lg.reset(); |
| 1569 | lg.set_verbose(input.verbose); |
| 1570 | |
| 1571 | #if defined(MCUT_WITH_COMPUTE_HELPER_THREADPOOL) |
| 1572 | output.status.store(status_t::SUCCESS); |
| 1573 | #endif |
| 1574 | |
| 1575 | const hmesh_t& sm = (*input.src_mesh); |
| 1576 | const hmesh_t& cs = (*input.cut_mesh); |
| 1577 | |
| 1578 | if (input.verbose) { |
| 1579 | dump_mesh(sm, "src-mesh"); |
| 1580 | dump_mesh(cs, "cut-mesh"); |
| 1581 | } |
| 1582 | |
| 1583 | const int sm_vtx_cnt = sm.number_of_vertices(); |
| 1584 | const int sm_face_count = sm.number_of_faces(); |
| 1585 | const int cs_face_count = cs.number_of_faces(); |
| 1586 | const int cs_vtx_count = cs.number_of_vertices(); |
| 1587 | |
| 1588 | const bool sm_is_watertight = input.src_mesh_is_watertight; |
| 1589 | const bool cm_is_watertight = input.cut_mesh_is_watertight; |
| 1590 | |
| 1591 | /////////////////////////////////////////////////////////////////////////// |
| 1592 | // create polygon soup |
| 1593 | /////////////////////////////////////////////////////////////////////////// |
| 1594 | |
| 1595 | TIMESTACK_PUSH("Create ps"); |
no test coverage detected