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

Method getMeterByFuelType

src/model/Facility.cpp:115–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

113 }
114
115 boost::optional<OutputMeter> Facility_Impl::getMeterByFuelType(const FuelType& fuelType, const std::string& reportingFrequency,
116 const boost::optional<EndUseType>& endUseType,
117 const boost::optional<std::string>& specificEndUse) const {
118 OptionalOutputMeter result;
119 for (const OutputMeter& meter : this->meters()) {
120 if (meter.fuelType() && (meter.fuelType() == fuelType)) {
121 if (istringEqual(meter.reportingFrequency(), reportingFrequency)) {
122 OptionalEndUseType meterEndUseType = meter.endUseType();
123 if ((!endUseType && !meterEndUseType) || (endUseType && meterEndUseType && (*meterEndUseType == *endUseType))) {
124 OptionalString meterSpecificEndUse = meter.specificEndUse();
125 if ((!specificEndUse && !meterSpecificEndUse)
126 || (specificEndUse && meterSpecificEndUse && istringEqual(*meterSpecificEndUse, *specificEndUse))) {
127 if (result) {
128 LOG(Warn, "Found duplicate meters: " << result->name() << " and " << meter.name() << ".");
129 } else {
130 result = meter;
131 }
132 }
133 }
134 }
135 }
136 }
137 return result;
138 }
139
140 std::vector<ExteriorLights> Facility_Impl::exteriorLights() const {
141 return model().getConcreteModelObjects<ExteriorLights>();

Callers 1

TEST_FFunction · 0.80

Calls 7

metersMethod · 0.95
istringEqualFunction · 0.85
endUseTypeMethod · 0.80
specificEndUseMethod · 0.80
fuelTypeMethod · 0.45
reportingFrequencyMethod · 0.45
nameMethod · 0.45

Tested by 1

TEST_FFunction · 0.64