double OtherEquipmentDefinition_Impl::getDesignLevel(double floorArea, double numPeople) const { std::string method = designLevelCalculationMethod(); if (method == "EquipmentLevel") { return designLevel().get(); } else if (method == "Watts/Area") { return wattsperSpaceFloorArea().get() * floorArea; } else if (method == "Watts/Person") { return wattsperPerson().get() * numPeople; } OS_ASSERT(false); return 0.0; }
double LightsDefinition_Impl::getLightingPower(double floorArea, double numPeople) const { std::string method = designLevelCalculationMethod(); if (method == "LightingLevel") { return lightingLevel().get(); } else if (method == "Watts/Area") { return wattsperSpaceFloorArea().get() * floorArea; } else if (method == "Watts/Person") { return wattsperPerson().get() * numPeople; } OS_ASSERT(false); return 0.0; }
double LightsDefinition_Impl::getPowerPerPerson(double floorArea, double numPeople) const { std::string method = designLevelCalculationMethod(); if (method == "LightingLevel") { if (equal(numPeople,0.0)) { LOG_AND_THROW("Calculation would require division by zero."); } return lightingLevel().get() / numPeople; } else if (method == "Watts/Area") { if (equal(numPeople,0.0)) { LOG_AND_THROW("Calculation would require division by zero."); } return wattsperSpaceFloorArea().get() * floorArea / numPeople; } else if (method == "Watts/Person") { return wattsperPerson().get(); } OS_ASSERT(false); return 0.0; }
double ElectricEquipmentDefinition_Impl::getPowerPerFloorArea(double floorArea, double numPeople) const { std::string method = designLevelCalculationMethod(); if (method == "EquipmentLevel") { if (equal(floorArea,0.0)) { LOG_AND_THROW("Calculation would require division by zero."); } return designLevel().get() / floorArea; } else if (method == "Watts/Area") { return wattsperSpaceFloorArea().get(); } else if (method == "Watts/Person") { if (equal(floorArea,0.0)) { LOG_AND_THROW("Calculation would require division by zero."); } return wattsperPerson().get() * numPeople / floorArea; } OS_ASSERT(false); return 0.0; }