boost::optional<IdfObject> ForwardTranslator::translateThermostatSetpointDualSetpoint( ThermostatSetpointDualSetpoint& modelObject ) { IdfObject tsds(openstudio::IddObjectType::ThermostatSetpoint_DualSetpoint); m_idfObjects.push_back(tsds); OptionalString s = modelObject.name(); if( s ) { tsds.setName(*s); } OptionalSchedule sched = modelObject.getHeatingSchedule(); if(sched) { translateAndMapModelObject(*sched); tsds.setString(ThermostatSetpoint_DualSetpointFields::HeatingSetpointTemperatureScheduleName,sched->name().get()); } sched = modelObject.getCoolingSchedule(); if(sched) { translateAndMapModelObject(*sched); tsds.setString(ThermostatSetpoint_DualSetpointFields::CoolingSetpointTemperatureScheduleName,sched->name().get()); } return boost::optional<IdfObject>(tsds); }
OptionalModelObject ReverseTranslator::translateThermostatSetpointDualSetpoint( const WorkspaceObject & workspaceObject ) { OptionalModelObject result,temp; OptionalSchedule schedule; ThermostatSetpointDualSetpoint tsds(m_model); OptionalWorkspaceObject owo = workspaceObject.getTarget(ThermostatSetpoint_DualSetpointFields::HeatingSetpointTemperatureScheduleName); if(!owo) { LOG(Error, "Error importing object: " << workspaceObject.briefDescription() << " Can't find Schedule: "); return result; } temp = translateAndMapWorkspaceObject( *owo); if(temp) { schedule=temp->optionalCast<Schedule>(); if(schedule){ tsds.setHeatingSchedule( *schedule ); } } owo = workspaceObject.getTarget(ThermostatSetpoint_DualSetpointFields::CoolingSetpointTemperatureScheduleName); if(!owo) { LOG(Error, "Error importing object: " << workspaceObject.briefDescription() << " Can't find Schedule: "); return result; } temp = translateAndMapWorkspaceObject( *owo); if(temp) { schedule=temp->optionalCast<Schedule>(); if(schedule){ tsds.setCoolingSchedule( *schedule ); } } result = tsds; return result; }