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

Method clone

src/model/PlantComponentUserDefined.cpp:65–172  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63 }
64
65 ModelObject PlantComponentUserDefined_Impl::clone(Model model) const {
66
67 auto newPlantComponentUserDefined = ModelObject_Impl::clone(model).cast<PlantComponentUserDefined>();
68 //designVolumeFlowRateActuator
69 if (boost::optional<EnergyManagementSystemActuator> object = designVolumeFlowRateActuator()) {
70 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
71 //DO THIS HERE OR IN THE PlantComponentUserDefined_Impl::setDesignVolumeFlowRateActuator() method??
72 objectClone.setActuatedComponent(newPlantComponentUserDefined);
73 newPlantComponentUserDefined.setDesignVolumeFlowRateActuator(objectClone);
74 }
75 //minimumMassFlowRateActuator
76 if (boost::optional<EnergyManagementSystemActuator> object = minimumMassFlowRateActuator()) {
77 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
78 objectClone.setActuatedComponent(newPlantComponentUserDefined);
79 newPlantComponentUserDefined.setMinimumMassFlowRateActuator(objectClone);
80 }
81 //maximumMassFlowRateActuator
82 if (boost::optional<EnergyManagementSystemActuator> object = maximumMassFlowRateActuator()) {
83 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
84 objectClone.setActuatedComponent(newPlantComponentUserDefined);
85 newPlantComponentUserDefined.setMaximumMassFlowRateActuator(objectClone);
86 }
87 //minimumLoadingCapacityActuator
88 if (boost::optional<EnergyManagementSystemActuator> object = minimumLoadingCapacityActuator()) {
89 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
90 objectClone.setActuatedComponent(newPlantComponentUserDefined);
91 newPlantComponentUserDefined.setMinimumLoadingCapacityActuator(objectClone);
92 }
93 //maximumLoadingCapacityActuator
94 if (boost::optional<EnergyManagementSystemActuator> object = maximumLoadingCapacityActuator()) {
95 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
96 objectClone.setActuatedComponent(newPlantComponentUserDefined);
97 newPlantComponentUserDefined.setMaximumLoadingCapacityActuator(objectClone);
98 }
99 //optimalLoadingCapacityActuator
100 if (boost::optional<EnergyManagementSystemActuator> object = optimalLoadingCapacityActuator()) {
101 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
102 objectClone.setActuatedComponent(newPlantComponentUserDefined);
103 newPlantComponentUserDefined.setOptimalLoadingCapacityActuator(objectClone);
104 }
105 //outletTemperatureActuator
106 if (boost::optional<EnergyManagementSystemActuator> object = outletTemperatureActuator()) {
107 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
108 objectClone.setActuatedComponent(newPlantComponentUserDefined);
109 newPlantComponentUserDefined.setOutletTemperatureActuator(objectClone);
110 }
111 //massFlowRateActuator
112 if (boost::optional<EnergyManagementSystemActuator> object = massFlowRateActuator()) {
113 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemActuator>();
114 objectClone.setActuatedComponent(newPlantComponentUserDefined);
115 newPlantComponentUserDefined.setMassFlowRateActuator(objectClone);
116 }
117 //mainModelProgramCallingManager
118 if (boost::optional<EnergyManagementSystemProgramCallingManager> object = mainModelProgramCallingManager()) {
119 auto objectClone = object.get().clone(model).cast<EnergyManagementSystemProgramCallingManager>();
120 //clone the program referenced in the callingManager
121 if (boost::optional<EnergyManagementSystemProgram> program = mainModelProgram()) {
122 auto cloneProgram = program.get().clone(model).cast<EnergyManagementSystemProgram>();

Callers

nothing calls this directly

Tested by

no test coverage detected