| 32 | } |
| 33 | |
| 34 | BooleanPtr get_overlap_setting(MeshPtr mesh) { |
| 35 | BooleanPtr cork_engine = BooleanEngine::create("cork"); |
| 36 | |
| 37 | MatrixFr vertices_1 = extract_vertices(mesh); |
| 38 | MatrixIr faces_1 = extract_faces(mesh); |
| 39 | |
| 40 | VectorF bbox_min = vertices_1.colwise().minCoeff(); |
| 41 | VectorF bbox_max = vertices_1.colwise().maxCoeff(); |
| 42 | VectorF bbox_size = bbox_max - bbox_min; |
| 43 | |
| 44 | MatrixFr vertices_2 = vertices_1; |
| 45 | translate(vertices_2, bbox_size * 0.5); |
| 46 | |
| 47 | cork_engine->set_mesh_1(vertices_1, faces_1); |
| 48 | cork_engine->set_mesh_2(vertices_2, faces_1); |
| 49 | return cork_engine; |
| 50 | } |
| 51 | |
| 52 | BooleanPtr get_epsilon_box_setting( |
| 53 | const MatrixFr& vertices, const MatrixIr& faces, |
nothing calls this directly
no test coverage detected