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

Method reliefComponents

src/model/AirLoopHVACOutdoorAirSystem.cpp:364–385  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

362 }
363
364 std::vector<ModelObject> AirLoopHVACOutdoorAirSystem_Impl::reliefComponents(openstudio::IddObjectType type) const {
365 std::vector<ModelObject> modelObjects;
366 modelObjects.reserve(10); // Abritrary, but it wouldn't be common to have more objects than that
367
368 OptionalModelObject modelObject = this->reliefAirModelObject();
369
370 while (modelObject) {
371 auto [ok, mo_] = getOutletNodeForComponent(*modelObject);
372 if (!ok) {
373 LOG_AND_THROW("For " << briefDescription() << ", unexpected reliefComponent found: " << modelObject->briefDescription());
374 }
375 modelObjects.emplace_back(std::move(*modelObject));
376 modelObject = mo_;
377 }
378
379 if (type != IddObjectType::Catchall) {
380 modelObjects.erase(
381 std::remove_if(modelObjects.begin(), modelObjects.end(), [&](const auto& mo) -> bool { return mo.iddObjectType() != type; }),
382 modelObjects.end());
383 }
384 return modelObjects;
385 }
386
387 boost::optional<Node> AirLoopHVACOutdoorAirSystem_Impl::outboardOANode() const {
388 auto modelObjects = this->oaComponents();

Callers 15

outboardReliefNodeMethod · 0.95
componentsMethod · 0.95
translateSDDMethod · 0.80
reliefFanMethod · 0.80
addToNodeMethod · 0.80
cloneMethod · 0.80
TEST_FFunction · 0.80
TEST_FFunction · 0.80
TEST_FFunction · 0.80
TEST_FFunction · 0.80
TEST_FFunction · 0.80
TEST_FFunction · 0.80

Calls 7

reliefAirModelObjectMethod · 0.95
briefDescriptionMethod · 0.80
beginMethod · 0.80
eraseMethod · 0.45
endMethod · 0.45
iddObjectTypeMethod · 0.45

Tested by 15

TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64
TEST_FFunction · 0.64