| 204 | } |
| 205 | |
| 206 | bool AirLoopHVACSupplyPlenum_Impl::addBranchForZoneImpl(openstudio::model::ThermalZone& thermalZone, boost::optional<HVACComponent>& terminal) { |
| 207 | boost::optional<Splitter> splitter = getObject<AirLoopHVACSupplyPlenum>(); |
| 208 | boost::optional<Mixer> mixer; |
| 209 | |
| 210 | boost::optional<AirLoopHVAC> t_airLoopHVAC = airLoopHVAC(); |
| 211 | |
| 212 | if (!t_airLoopHVAC) { |
| 213 | return false; |
| 214 | } |
| 215 | |
| 216 | std::vector<ModelObject> returnPlenums; |
| 217 | returnPlenums = t_airLoopHVAC->demandComponents(splitter.get(), t_airLoopHVAC->demandOutletNode(), AirLoopHVACReturnPlenum::iddObjectType()); |
| 218 | |
| 219 | if (returnPlenums.size() == 1u) { |
| 220 | mixer = returnPlenums.front().cast<Mixer>(); |
| 221 | } else { |
| 222 | mixer = t_airLoopHVAC->zoneMixer(); |
| 223 | } |
| 224 | |
| 225 | OS_ASSERT(splitter); |
| 226 | OS_ASSERT(mixer); |
| 227 | |
| 228 | return AirLoopHVAC_Impl::addBranchForZoneImpl(thermalZone, t_airLoopHVAC.get(), splitter.get(), mixer.get(), true, terminal); |
| 229 | } |
| 230 | |
| 231 | std::vector<IdfObject> AirLoopHVACSupplyPlenum_Impl::remove() { |
| 232 | Model t_model = model(); |
nothing calls this directly
no test coverage detected