| 241 | } |
| 242 | |
| 243 | void USDSerializer::finalize() { |
| 244 | // we write the parents at the end, because some parents might actually be |
| 245 | // geometrical entities such as the IfcSite. |
| 246 | std::set<int> written; |
| 247 | for (auto& [p, q] : parents_) { |
| 248 | if (written.find(p->id()) == written.end() && written_.find(p->id()) == written_.end()) { |
| 249 | written.insert(p->id()); |
| 250 | writeNode<pxr::UsdGeomXform>(p, q); |
| 251 | } |
| 252 | } |
| 253 | |
| 254 | stage_->Save(); |
| 255 | } |
| 256 | |
| 257 | template pxr::UsdGeomMesh USDSerializer::writeNode<pxr::UsdGeomMesh>(const IfcGeom::Element*, const IfcGeom::Element*); |
| 258 | template pxr::UsdGeomXform USDSerializer::writeNode<pxr::UsdGeomXform>(const IfcGeom::Element*, const IfcGeom::Element*); |