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

Method removeFromInletSideMixer

src/model/ZoneHVACComponent.cpp:366–392  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

364 }
365
366 void ZoneHVACComponent_Impl::removeFromInletSideMixer() {
367 if (boost::optional<AirLoopHVAC> t_airLoopHVAC = airLoopHVAC()) {
368 boost::optional<Node> t_inletNode = inletNode();
369 OS_ASSERT(t_inletNode);
370 boost::optional<Node> t_outletNode = outletNode();
371 OS_ASSERT(t_outletNode);
372
373 if (t_airLoopHVAC->demandComponent(t_inletNode->handle())) {
374 unsigned targetPort = t_outletNode->connectedObjectPort(t_outletNode->outletPort()).get();
375 ModelObject targetModelObject = t_outletNode->connectedObject(t_outletNode->outletPort()).get();
376 t_outletNode->disconnect();
377 t_outletNode->remove();
378
379 Model t_model = model();
380 t_model.connect(t_inletNode.get(), t_inletNode->outletPort(), targetModelObject, targetPort);
381
382 std::vector<AirTerminalSingleDuctInletSideMixer> terminalMixers = subsetCastVector<AirTerminalSingleDuctInletSideMixer>(
383 t_airLoopHVAC->demandComponents(t_airLoopHVAC->demandInletNode(), t_inletNode.get()));
384 if (!terminalMixers.empty()) {
385 if (boost::optional<Node> secondaryNode = terminalMixers.front().secondaryAirInletNode()) {
386 secondaryNode->disconnect();
387 secondaryNode->remove();
388 }
389 }
390 }
391 }
392 }
393
394 boost::optional<AirLoopHVAC> ZoneHVACComponent_Impl::airLoopHVAC() const {
395 if (boost::optional<Node> node = inletNode()) {

Callers

nothing calls this directly

Calls 15

inletNodeFunction · 0.85
outletNodeFunction · 0.85
demandComponentMethod · 0.80
connectedObjectPortMethod · 0.80
connectedObjectMethod · 0.80
demandComponentsMethod · 0.80
handleMethod · 0.45
getMethod · 0.45
outletPortMethod · 0.45
disconnectMethod · 0.45
removeMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected