| 229 | } |
| 230 | |
| 231 | std::vector<IdfObject> AirLoopHVACSupplyPlenum_Impl::remove() { |
| 232 | Model t_model = model(); |
| 233 | |
| 234 | if (boost::optional<AirLoopHVAC> t_airLoopHVAC = airLoopHVAC()) { |
| 235 | AirLoopHVACZoneSplitter zoneSplitter = t_airLoopHVAC->zoneSplitter(); |
| 236 | std::vector<ModelObject> t_outletModelObjects = outletModelObjects(); |
| 237 | |
| 238 | for (auto it = t_outletModelObjects.rbegin(); it != t_outletModelObjects.rend(); ++it) { |
| 239 | unsigned branchIndex = branchIndexForOutletModelObject(*it); |
| 240 | unsigned t_outletPort = outletPort(branchIndex); |
| 241 | unsigned connectedObjectInletPort = connectedObjectPort(t_outletPort).get(); |
| 242 | |
| 243 | t_model.connect(zoneSplitter, zoneSplitter.nextOutletPort(), *it, connectedObjectInletPort); |
| 244 | } |
| 245 | |
| 246 | boost::optional<ModelObject> mo = inletModelObject(); |
| 247 | OS_ASSERT(mo); |
| 248 | boost::optional<Node> node = mo->optionalCast<Node>(); |
| 249 | OS_ASSERT(node); |
| 250 | zoneSplitter.removePortForBranch(zoneSplitter.branchIndexForOutletModelObject(node.get())); |
| 251 | node->remove(); |
| 252 | } |
| 253 | |
| 254 | return Splitter_Impl::remove(); |
| 255 | } |
| 256 | |
| 257 | ComponentType AirLoopHVACSupplyPlenum_Impl::componentType() const { |
| 258 | return ComponentType::None; |
nothing calls this directly
no test coverage detected