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

Method translateAndMapModelObject

src/energyplus/ForwardTranslator.cpp:701–3399  ·  view source on GitHub ↗

NOLINTBEGIN(readability-function-size, bugprone-branch-clone)

Source from the content-addressed store, hash-verified

699
700 // NOLINTBEGIN(readability-function-size, bugprone-branch-clone)
701 boost::optional<IdfObject> ForwardTranslator::translateAndMapModelObject(ModelObject& modelObject) {
702 boost::optional<IdfObject> retVal;
703
704 // if already translated then exit
705 auto objInMapIt = m_map.find(modelObject.handle());
706 if (objInMapIt != m_map.end()) {
707 return boost::optional<IdfObject>(objInMapIt->second);
708 }
709
710 LOG(Trace, "Translating " << modelObject.briefDescription() << ".");
711
712 switch (modelObject.iddObject().type().value()) {
713 case openstudio::IddObjectType::OS_AdditionalProperties: {
714 // no op
715 break;
716 }
717 case openstudio::IddObjectType::OS_AirConditioner_VariableRefrigerantFlow: {
718 auto vrf = modelObject.cast<AirConditionerVariableRefrigerantFlow>();
719 retVal = translateAirConditionerVariableRefrigerantFlow(vrf);
720 break;
721 }
722 case openstudio::IddObjectType::OS_AirConditioner_VariableRefrigerantFlow_FluidTemperatureControl: {
723 model::AirConditionerVariableRefrigerantFlowFluidTemperatureControl vrf =
724 modelObject.cast<AirConditionerVariableRefrigerantFlowFluidTemperatureControl>();
725 retVal = translateAirConditionerVariableRefrigerantFlowFluidTemperatureControl(vrf);
726 break;
727 }
728 case openstudio::IddObjectType::OS_AirConditioner_VariableRefrigerantFlow_FluidTemperatureControl_HR: {
729 model::AirConditionerVariableRefrigerantFlowFluidTemperatureControlHR vrf =
730 modelObject.cast<AirConditionerVariableRefrigerantFlowFluidTemperatureControlHR>();
731 retVal = translateAirConditionerVariableRefrigerantFlowFluidTemperatureControlHR(vrf);
732 break;
733 }
734 case openstudio::IddObjectType::OS_AirLoopHVAC: {
735 auto airLoopHVAC = modelObject.cast<AirLoopHVAC>();
736 retVal = translateAirLoopHVAC(airLoopHVAC);
737 break;
738 }
739 case openstudio::IddObjectType::OS_AirLoopHVAC_ReturnPlenum: {
740 auto airLoopHVACReturnPlenum = modelObject.cast<AirLoopHVACReturnPlenum>();
741 retVal = translateAirLoopHVACReturnPlenum(airLoopHVACReturnPlenum);
742 break;
743 }
744 case openstudio::IddObjectType::OS_AirLoopHVAC_SupplyPlenum: {
745 auto airLoopHVACSupplyPlenum = modelObject.cast<AirLoopHVACSupplyPlenum>();
746 retVal = translateAirLoopHVACSupplyPlenum(airLoopHVACSupplyPlenum);
747 break;
748 }
749 case openstudio::IddObjectType::OS_AirTerminal_DualDuct_ConstantVolume: {
750 auto mo = modelObject.cast<AirTerminalDualDuctConstantVolume>();
751 retVal = translateAirTerminalDualDuctConstantVolume(mo);
752 break;
753 }
754 case openstudio::IddObjectType::OS_AirTerminal_DualDuct_VAV: {
755 auto mo = modelObject.cast<AirTerminalDualDuctVAV>();
756 retVal = translateAirTerminalDualDuctVAV(mo);
757 break;
758 }

Callers 3

translateAirLoopHVACMethod · 0.95
populateBranchMethod · 0.95
translatePlantLoopMethod · 0.95

Calls 15

ChildSorterClass · 0.85
briefDescriptionMethod · 0.80
iddObjectMethod · 0.80
beginMethod · 0.80
findMethod · 0.45
handleMethod · 0.45
endMethod · 0.45
valueMethod · 0.45
typeMethod · 0.45
getMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected