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

Method clone

src/model/RefrigerationSystem.cpp:166–207  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

164 }
165
166 ModelObject RefrigerationSystem_Impl::clone(Model model) const {
167 auto modelObjectClone = ModelObject_Impl::clone(model).cast<RefrigerationSystem>();
168
169 if (boost::optional<ModelObject> condenser = this->optionalRefrigerationCondenser()) {
170 ModelObject condenserClone = condenser->clone(model);
171 modelObjectClone.setRefrigerationCondenser(condenserClone);
172 }
173
174 if (boost::optional<ModelObjectList> caseAndWalkinList = this->refrigeratedCaseAndWalkInList()) {
175 auto caseAndWalkinListClone = caseAndWalkinList->clone(model).cast<ModelObjectList>();
176 modelObjectClone.getImpl<detail::RefrigerationSystem_Impl>()->setRefrigeratedCaseAndWalkInList(caseAndWalkinListClone);
177 }
178
179 if (boost::optional<ModelObjectList> transferLoadList = this->refrigerationTransferLoadList()) {
180 auto transferLoadListClone = transferLoadList->clone(model).cast<ModelObjectList>();
181 modelObjectClone.getImpl<detail::RefrigerationSystem_Impl>()->setRefrigerationTransferLoadList(transferLoadListClone);
182 }
183
184 if (boost::optional<ModelObjectList> compressorList = this->compressorList()) {
185 auto compressorListClone = compressorList->clone(model).cast<ModelObjectList>();
186 modelObjectClone.getImpl<detail::RefrigerationSystem_Impl>()->setCompressorList(compressorListClone);
187 }
188
189 if (boost::optional<RefrigerationSubcoolerMechanical> mechSubcooler = this->mechanicalSubcooler()) {
190 auto mechSubClone = mechSubcooler->clone(model).cast<RefrigerationSubcoolerMechanical>();
191 modelObjectClone.setMechanicalSubcooler(mechSubClone);
192 }
193
194 if (boost::optional<RefrigerationSubcoolerLiquidSuction> liqSuctionSubcooler = this->liquidSuctionHeatExchangerSubcooler()) {
195 auto liqSuctionSubClone = liqSuctionSubcooler->clone(model).cast<RefrigerationSubcoolerLiquidSuction>();
196 modelObjectClone.setLiquidSuctionHeatExchangerSubcooler(liqSuctionSubClone);
197 }
198
199 if (boost::optional<ModelObjectList> highStageCompressorList = this->highStageCompressorList()) {
200 auto highStageCompressorListClone = highStageCompressorList->clone(model).cast<ModelObjectList>();
201 modelObjectClone.getImpl<detail::RefrigerationSystem_Impl>()->setHighStageCompressorList(highStageCompressorListClone);
202 }
203
204 modelObjectClone.resetSuctionPipingZone();
205
206 return std::move(modelObjectClone);
207 }
208
209 template <class T>
210 std::vector<T> RefrigerationSystem_Impl::listTemplate(const boost::optional<ModelObjectList>& modelObjectList) const {

Callers

nothing calls this directly

Tested by

no test coverage detected