MCPcopy Create free account
hub / github.com/NatLabRockies/OpenStudio / addBranchForZoneImpl

Method addBranchForZoneImpl

src/model/AirLoopHVACSupplyPlenum.cpp:206–229  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 6

demandComponentsMethod · 0.80
zoneMixerMethod · 0.80
iddObjectTypeFunction · 0.70
getMethod · 0.45
demandOutletNodeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected