void intersectedFaces(const carve::poly::Polyhedron::edge_t *e, face_set_t &f) const { std::vector<const carve::poly::Polyhedron::face_t *> intersected_faces; std::vector<const carve::poly::Polyhedron::edge_t *> intersected_edges; std::vector<const carve::poly::Polyhedron::vertex_t *> intersected_vertices; collect(e, &intersected_vertices, &intersected_edges, &intersected_faces); for (unsigned i = 0; i < intersected_vertices.size(); ++i) { facesForVertex(intersected_vertices[i], f); } for (unsigned i = 0; i < intersected_edges.size(); ++i) { facesForEdge(intersected_edges[i], f); } f.insert(intersected_faces.begin(), intersected_faces.end()); }
void intersectedFaces(vertex_t *v, face_set_t &f) const { std::vector<face_t *> intersected_faces; std::vector<edge_t *> intersected_edges; std::vector<vertex_t *> intersected_vertices; collect(v, &intersected_vertices, &intersected_edges, &intersected_faces); for (unsigned i = 0; i < intersected_vertices.size(); ++i) { facesForVertex(intersected_vertices[i], f); } for (unsigned i = 0; i < intersected_edges.size(); ++i) { facesForEdge(intersected_edges[i], f); } f.insert(intersected_faces.begin(), intersected_faces.end()); }
void facesForFace(const carve::poly::Polyhedron::face_t *f, face_set_t &faces) const { faces.insert(f); }