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

Method setMeasureSteps

src/utilities/filetypes/WorkflowJSON.cpp:727–765  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

725 }
726
727 bool WorkflowJSON_Impl::setMeasureSteps(const MeasureType& measureType, const std::vector<MeasureStep>& steps) {
728
729 // verify steps
730 for (const auto& step : steps) {
731 boost::optional<BCLMeasure> bclMeasure = getBCLMeasure(step);
732 if (!bclMeasure) {
733 return false;
734 }
735 if (bclMeasure->measureType() != measureType) {
736 return false;
737 }
738 }
739
740 // DLM: this implementation may evolve
741 std::vector<WorkflowStep> newSteps;
742
743 if (measureType == MeasureType::ModelMeasure) {
744 newSteps.insert(newSteps.end(), steps.begin(), steps.end());
745 } else {
746 std::vector<MeasureStep> oldSteps = getMeasureSteps(MeasureType::ModelMeasure);
747 newSteps.insert(newSteps.end(), oldSteps.begin(), oldSteps.end());
748 }
749
750 if (measureType == MeasureType::EnergyPlusMeasure) {
751 newSteps.insert(newSteps.end(), steps.begin(), steps.end());
752 } else {
753 std::vector<MeasureStep> oldSteps = getMeasureSteps(MeasureType::EnergyPlusMeasure);
754 newSteps.insert(newSteps.end(), oldSteps.begin(), oldSteps.end());
755 }
756
757 if (measureType == MeasureType::ReportingMeasure) {
758 newSteps.insert(newSteps.end(), steps.begin(), steps.end());
759 } else {
760 std::vector<MeasureStep> oldSteps = getMeasureSteps(MeasureType::ReportingMeasure);
761 newSteps.insert(newSteps.end(), oldSteps.begin(), oldSteps.end());
762 }
763
764 return setWorkflowSteps(newSteps); // onUpdate in setWorkflowSteps
765 }
766
767 boost::optional<BCLMeasure> WorkflowJSON_Impl::getBCLMeasure(const MeasureStep& step) const {
768 boost::optional<openstudio::path> path = findMeasure(step.measureDirName());

Callers 2

test_measureTypeMethod · 0.80
MeasureTypeTestMethod · 0.80

Calls 4

beginMethod · 0.80
measureTypeMethod · 0.45
insertMethod · 0.45
endMethod · 0.45

Tested by 2

test_measureTypeMethod · 0.64
MeasureTypeTestMethod · 0.64