| 681 | } |
| 682 | |
| 683 | std::vector<AirLoopHVACZoneSplitter> AirLoopHVAC_Impl::zoneSplitters() const { |
| 684 | std::vector<AirLoopHVACZoneSplitter> splitters{zoneSplitter()}; |
| 685 | auto t_demandInletNodes = demandInletNodes(); |
| 686 | if (t_demandInletNodes.size() == 2u) { |
| 687 | auto result = getObject<ModelObject>().getModelObjectTarget<AirLoopHVACZoneSplitter>(OS_AirLoopHVACFields::DemandSplitterBName); |
| 688 | if (result) { |
| 689 | splitters.push_back(result.get()); |
| 690 | return splitters; |
| 691 | } |
| 692 | |
| 693 | auto inletNode = t_demandInletNodes[1]; |
| 694 | auto splitters2 = |
| 695 | subsetCastVector<AirLoopHVACZoneSplitter>(demandComponents(inletNode, demandOutletNode(), IddObjectType::OS_AirLoopHVAC_ZoneSplitter)); |
| 696 | OS_ASSERT(splitters2.size() == 1u); |
| 697 | auto splitter = splitters2.front(); |
| 698 | splitters.push_back(splitter); |
| 699 | } |
| 700 | return splitters; |
| 701 | } |
| 702 | |
| 703 | ModelObject AirLoopHVAC_Impl::clone(Model model) const { |
| 704 | auto airLoopClone = Loop_Impl::clone(model).cast<AirLoopHVAC>(); |