| 68 | } |
| 69 | |
| 70 | bool ifcopenshell::geometry::kernels::AbstractKernel::convert_impl(const taxonomy::collection::ptr collection, IfcGeom::ConversionResults& r) { |
| 71 | auto s = r.size(); |
| 72 | for (auto& c : collection->children) { |
| 73 | if (!convert(c, r) && !partial_success_is_success) { |
| 74 | return false; |
| 75 | } |
| 76 | } |
| 77 | for (auto i = s; i < r.size(); ++i) { |
| 78 | if (collection->matrix) { |
| 79 | r[i].prepend(collection->matrix); |
| 80 | } |
| 81 | if (!r[i].hasStyle() && collection->surface_style) { |
| 82 | r[i].setStyle(collection->surface_style); |
| 83 | } |
| 84 | } |
| 85 | return r.size() > s; |
| 86 | } |
| 87 | |
| 88 | bool ifcopenshell::geometry::kernels::AbstractKernel::convert_impl(const taxonomy::function_item::ptr item, IfcGeom::ConversionResults& cs) { |
| 89 | function_item_evaluator evaluator(settings(),item); |