| 681 | } |
| 682 | |
| 683 | boost::optional<face::ptr> ifcopenshell::geometry::taxonomy::loop_to_face_upgrade_impl(ptr item) { |
| 684 | boost::optional<face::ptr> face_; |
| 685 | auto loop_ = dcast<loop>(item); |
| 686 | if (loop_) { |
| 687 | loop_->external = true; |
| 688 | |
| 689 | face_ = make<face>(); |
| 690 | (*face_)->instance = loop_->instance; |
| 691 | (*face_)->matrix = loop_->matrix; |
| 692 | (*face_)->children = { clone(loop_) }; |
| 693 | } |
| 694 | return face_; |
| 695 | } |
| 696 | |
| 697 | boost::optional<edge::ptr> ifcopenshell::geometry::taxonomy::curve_to_edge_upgrade_impl(ptr item) { |
| 698 | boost::optional<edge::ptr> edge_; |