| 205 | } |
| 206 | |
| 207 | boost::optional<HVACComponent> FanConstantVolume_Impl::containingHVACComponent() const { |
| 208 | // Process all types that might contain a CoilHeatingWater object. |
| 209 | |
| 210 | // AirLoopHVACUnitarySystem |
| 211 | std::vector<AirLoopHVACUnitarySystem> airLoopHVACUnitarySystems = this->model().getConcreteModelObjects<AirLoopHVACUnitarySystem>(); |
| 212 | |
| 213 | for (const auto& airLoopHVACUnitarySystem : airLoopHVACUnitarySystems) { |
| 214 | if (boost::optional<HVACComponent> fan = airLoopHVACUnitarySystem.supplyFan()) { |
| 215 | if (fan->handle() == this->handle()) { |
| 216 | return airLoopHVACUnitarySystem; |
| 217 | } |
| 218 | } |
| 219 | } |
| 220 | |
| 221 | // AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass |
| 222 | std::vector<AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass> bypassSystems = |
| 223 | this->model().getConcreteModelObjects<AirLoopHVACUnitaryHeatCoolVAVChangeoverBypass>(); |
| 224 | |
| 225 | for (const auto& bypassSystem : bypassSystems) { |
| 226 | if (boost::optional<HVACComponent> fan = bypassSystem.supplyAirFan()) { |
| 227 | if (fan->handle() == this->handle()) { |
| 228 | return bypassSystem; |
| 229 | } |
| 230 | } |
| 231 | } |
| 232 | |
| 233 | // AirTerminalSingleDuctParallelPIUReheat |
| 234 | |
| 235 | std::vector<AirTerminalSingleDuctParallelPIUReheat> airTerminalSingleDuctParallelPIUReheatObjects; |
| 236 | |
| 237 | airTerminalSingleDuctParallelPIUReheatObjects = this->model().getConcreteModelObjects<AirTerminalSingleDuctParallelPIUReheat>(); |
| 238 | |
| 239 | for (const auto& airTerminalSingleDuctParallelPIUReheatObject : airTerminalSingleDuctParallelPIUReheatObjects) { |
| 240 | if (boost::optional<HVACComponent> fan = airTerminalSingleDuctParallelPIUReheatObject.fan()) { |
| 241 | if (fan->handle() == this->handle()) { |
| 242 | return airTerminalSingleDuctParallelPIUReheatObject; |
| 243 | } |
| 244 | } |
| 245 | } |
| 246 | |
| 247 | // AirTerminalSingleDuctSeriesPIUReheat |
| 248 | |
| 249 | std::vector<AirTerminalSingleDuctSeriesPIUReheat> airTerminalSingleDuctSeriesPIUReheatObjects; |
| 250 | |
| 251 | airTerminalSingleDuctSeriesPIUReheatObjects = this->model().getConcreteModelObjects<AirTerminalSingleDuctSeriesPIUReheat>(); |
| 252 | |
| 253 | for (const auto& airTerminalSingleDuctSeriesPIUReheatObject : airTerminalSingleDuctSeriesPIUReheatObjects) { |
| 254 | if (boost::optional<HVACComponent> fan = airTerminalSingleDuctSeriesPIUReheatObject.fan()) { |
| 255 | if (fan->handle() == this->handle()) { |
| 256 | return airTerminalSingleDuctSeriesPIUReheatObject; |
| 257 | } |
| 258 | } |
| 259 | } |
| 260 | |
| 261 | // AirLoopHVACUnitaryHeatPumpAirToAir |
| 262 | |
| 263 | std::vector<AirLoopHVACUnitaryHeatPumpAirToAir> airLoopHVACUnitaryHeatPumpAirToAirs; |
| 264 |
nothing calls this directly
no test coverage detected