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

Method clone

src/model/ScheduleRuleset.cpp:45–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43 : Schedule_Impl(other, model, keepHandle) {}
44
45 ModelObject ScheduleRuleset_Impl::clone(Model model) const {
46 ModelObject newScheduleRulesetAsModelObject = ModelObject_Impl::clone(model);
47 auto newScheduleRuleset = newScheduleRulesetAsModelObject.cast<ScheduleRuleset>();
48
49 ModelObject newDefaultDaySchedule = defaultDaySchedule().clone(model);
50 bool test = newScheduleRuleset.setPointer(OS_Schedule_RulesetFields::DefaultDayScheduleName, newDefaultDaySchedule.handle());
51 OS_ASSERT(test);
52
53 if (!isSummerDesignDayScheduleDefaulted()) {
54 ModelObject newSummerDesignDaySchedule = summerDesignDaySchedule().clone(model);
55 test = newScheduleRuleset.setPointer(OS_Schedule_RulesetFields::SummerDesignDayScheduleName, newSummerDesignDaySchedule.handle());
56 OS_ASSERT(test);
57 }
58
59 if (!isWinterDesignDayScheduleDefaulted()) {
60 ModelObject newWinterDesignDaySchedule = winterDesignDaySchedule().clone(model);
61 test = newScheduleRuleset.setPointer(OS_Schedule_RulesetFields::WinterDesignDayScheduleName, newWinterDesignDaySchedule.handle());
62 OS_ASSERT(test);
63 }
64
65 if (!isHolidayScheduleDefaulted()) {
66 ModelObject newHolidaySchedule = holidaySchedule().clone(model);
67 test = newScheduleRuleset.setPointer(OS_Schedule_RulesetFields::HolidayScheduleName, newHolidaySchedule.handle());
68 OS_ASSERT(test);
69 }
70
71 if (!isCustomDay1ScheduleDefaulted()) {
72 ModelObject newCustomDay1Schedule = customDay1Schedule().clone(model);
73 test = newScheduleRuleset.setPointer(OS_Schedule_RulesetFields::CustomDay1ScheduleName, newCustomDay1Schedule.handle());
74 OS_ASSERT(test);
75 }
76
77 if (!isCustomDay2ScheduleDefaulted()) {
78 ModelObject newCustomDay2Schedule = customDay2Schedule().clone(model);
79 test = newScheduleRuleset.setPointer(OS_Schedule_RulesetFields::CustomDay2ScheduleName, newCustomDay2Schedule.handle());
80 OS_ASSERT(test);
81 }
82
83 for (const ScheduleRule& scheduleRule : scheduleRules()) {
84 ModelObject newScheduleRule = scheduleRule.clone(model);
85 test = newScheduleRule.setParent(newScheduleRuleset);
86 OS_ASSERT(test);
87 }
88
89 return newScheduleRulesetAsModelObject;
90 }
91
92 std::vector<ResourceObject> ScheduleRuleset_Impl::resources() const {
93 // remove daySchedule as a resource so it can be a child

Callers 5

setHolidayScheduleMethod · 0.45
setCustomDay1ScheduleMethod · 0.45
setCustomDay2ScheduleMethod · 0.45

Calls 4

cloneFunction · 0.50
setPointerMethod · 0.45
handleMethod · 0.45
setParentMethod · 0.45

Tested by

no test coverage detected