OpenStudio:model
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
openstudio::model::ScheduleRuleset Class Reference

#include <ScheduleRuleset.hpp>

+ Inheritance diagram for openstudio::model::ScheduleRuleset:

Public Member Functions

Constructors and Destructors
 ScheduleRuleset (const Model &model)
 Constructs a new ScheduleRuleset, and also constructs a new ScheduleDay and assigns it to be the defaultDaySchedule(). More...
 
 ScheduleRuleset (const Model &model, double value)
 Constructs a new ScheduleRuleset, constructs a new ScheduleDay with value at all times and assigns it to be the defaultDaySchedule(). More...
 
virtual ~ScheduleRuleset ()=default
 
 ScheduleRuleset (const ScheduleRuleset &other)=default
 
 ScheduleRuleset (ScheduleRuleset &&other)=default
 
ScheduleRulesetoperator= (const ScheduleRuleset &)=default
 
ScheduleRulesetoperator= (ScheduleRuleset &&)=default
 
Getters
ScheduleDay defaultDaySchedule () const
 Returns the default day schedule. More...
 
ScheduleDay summerDesignDaySchedule () const
 Returns the summer design day schedule, which may be the same ScheduleDay as defaultDaySchedule(). More...
 
bool isSummerDesignDayScheduleDefaulted () const
 Returns true if the summer design day is defaulted; false if it is explicitly set. More...
 
ScheduleDay winterDesignDaySchedule () const
 Returns the winter design day schedule, which may be the same ScheduleDay as defaultDaySchedule(). More...
 
bool isWinterDesignDayScheduleDefaulted () const
 Returns true if the winter design day is defaulted; false if it is explicitly set. More...
 
ScheduleDay holidaySchedule () const
 Returns the holiday schedule, which may be the same ScheduleDay as defaultDaySchedule(). More...
 
bool isHolidayScheduleDefaulted () const
 Returns true if the holiday schedule is defaulted; false if it is explicitly set. More...
 
ScheduleDay customDay1Schedule () const
 Returns the custom day 1 schedule, which may be the same ScheduleDay as defaultDaySchedule(). More...
 
bool isCustomDay1ScheduleDefaulted () const
 Returns true if the custom day 1 schedule is defaulted; false if it is explicitly set. More...
 
ScheduleDay customDay2Schedule () const
 Returns the custom day 2 schedule, which may be the same ScheduleDay as defaultDaySchedule(). More...
 
bool isCustomDay2ScheduleDefaulted () const
 Returns true if the custom day 2 schedule is defaulted; false if it is explicitly set. More...
 
Setters
bool setSummerDesignDaySchedule (const ScheduleDay &schedule)
 Sets the summer design day schedule if ScheduleTypeLimits are compatible. More...
 
void resetSummerDesignDaySchedule ()
 Resets the summer design day schedule. More...
 
bool setWinterDesignDaySchedule (const ScheduleDay &schedule)
 Sets the winter design day schedule if ScheduleTypeLimits are compatible. More...
 
void resetWinterDesignDaySchedule ()
 Resets the winter design day schedule. More...
 
bool setHolidaySchedule (const ScheduleDay &schedule)
 Sets the holiday schedule if ScheduleTypeLimits are compatible. More...
 
void resetHolidaySchedule ()
 Resets the holiday schedule. Calls remove on any existing non-default holiday schedule. More...
 
bool setCustomDay1Schedule (const ScheduleDay &schedule)
 Sets the custom day 1 schedule if ScheduleTypeLimits are compatible. More...
 
void resetCustomDay1Schedule ()
 Resets the custom day 1 schedule. Calls remove on any existing non-default custom day 1 schedule. More...
 
bool setCustomDay2Schedule (const ScheduleDay &schedule)
 Sets the custom day 2 schedule if ScheduleTypeLimits are compatible. More...
 
void resetCustomDay2Schedule ()
 Resets the custom day 2 schedule. Calls remove on any existing non-default custom day 2 schedule. More...
 
Other
std::vector< ScheduleRulescheduleRules () const
 Returns a vector of the rules associated with this schedule, this may be empty. More...
 
bool setScheduleRuleIndex (ScheduleRule &scheduleRule, unsigned index)
 Sets the index of the given rule; 0 is the highest priority. More...
 
std::vector< int > getActiveRuleIndices (const openstudio::Date &startDate, const openstudio::Date &endDate) const
 Returns a vector of indices into the result of scheduleRules() between start date (inclusive) and end date (inclusive). More...
 
std::vector< ScheduleDaygetDaySchedules (const openstudio::Date &startDate, const openstudio::Date &endDate) const
 Returns a vector of day schedules between start date (inclusive) and end date (inclusive). More...
 
- Public Member Functions inherited from openstudio::model::Schedule
virtual ~Schedule ()=default
 
 Schedule (const Schedule &other)=default
 
 Schedule (Schedule &&other)=default
 
Scheduleoperator= (const Schedule &)=default
 
Scheduleoperator= (Schedule &&)=default
 
- Public Member Functions inherited from openstudio::model::ScheduleBase
virtual ~ScheduleBase ()=default
 
 ScheduleBase (const ScheduleBase &other)=default
 
 ScheduleBase (ScheduleBase &&other)=default
 
ScheduleBaseoperator= (const ScheduleBase &)=default
 
ScheduleBaseoperator= (ScheduleBase &&)=default
 
boost::optional
< ScheduleTypeLimits
scheduleTypeLimits () const
 Returns the ScheduleTypeLimits of this object, if set. More...
 
bool setScheduleTypeLimits (const ScheduleTypeLimits &scheduleTypeLimits)
 Returns true if scheduleTypeLimits is compatible with this object and is actually set. More...
 
bool resetScheduleTypeLimits ()
 Returns true if the scheduleTypeLimits() of this object is successfully cleared. More...
 
void ensureNoLeapDays ()
 
- Public Member Functions inherited from openstudio::model::ResourceObject
unsigned directUseCount (bool excludeChildren=false) const
 Returns the number of objects that use this resource directly. More...
 
unsigned nonResourceObjectUseCount (bool excludeChildren=false) const
 Returns the number of non-ResourceObjects that use this resource either directly or indirectly. More...
 
ResourceObjectoperator= (const ResourceObject &)=default
 
ResourceObjectoperator= (ResourceObject &&)=default
 
 ResourceObject (const ResourceObject &other)=default
 
 ResourceObject (ResourceObject &&other)=default
 
virtual ~ResourceObject ()=default
 
- Public Member Functions inherited from openstudio::model::ParentObject
std::vector< IddObjectType > allowableChildTypes () const
 Returns a vector of allowable children types. More...
 
std::vector< ModelObjectchildren () const
 Return direct child objects in the Model. More...
 
ParentObjectoperator= (const ParentObject &)=default
 
ParentObjectoperator= (ParentObject &&)=default
 
 ParentObject (const ParentObject &other)=default
 
 ParentObject (ParentObject &&other)=default
 
virtual ~ParentObject ()=default
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject ()=default
 
 ModelObject (const ModelObject &other)=default
 
 ModelObject (ModelObject &&other)=default
 
ModelObjectoperator= (const ModelObject &)=default
 
ModelObjectoperator= (ModelObject &&)=default
 
ModelObject clone () const
 Creates a deep copy of this object, placing it in this object's model(). More...
 
ModelObject clone (Model model) const
 Creates a deep copy of this object, placing it in model. More...
 
Component createComponent () const
 Method for creating sharable Model snippets. More...
 
Model model () const
 Returns the Model that contains this object. More...
 
boost::optional< ParentObjectparent () const
 Return this object's parent in the hierarchy, if it has one. More...
 
std::vector< ResourceObjectresources () const
 Get the resources directly used by this ModelObject. More...
 
template<typename T >
std::vector< T > getModelObjectSources () const
 Get all objects of type T that point to this object. More...
 
template<typename T >
std::vector< T > getModelObjectSources (IddObjectType iddObjectType) const
 Get all objects of type T that point to this object. More...
 
template<typename T >
boost::optional< T > getModelObjectTarget (unsigned index) const
 Get the object of type T pointed to by this object from field index. More...
 
template<typename T >
std::vector< T > getModelObjectTargets () const
 Get all objects of type T to which this object points. More...
 
const std::vector< std::string > & outputVariableNames () const
 Get all output variables names that could be associated with this object. More...
 
std::vector< OutputVariableoutputVariables () const
 Get all output variables associated with this object, must run simulation to generate data. More...
 
boost::optional
< openstudio::TimeSeries > 
getData (const OutputVariable &variable, const std::string &envPeriod) const
 Get data associated with this output variable and this object. More...
 
std::vector< LifeCycleCostlifeCycleCosts () const
 Returns the list of all LifeCycleCosts that refer to this object. More...
 
std::vector< IdfObject > removeLifeCycleCosts ()
 Removes all LifeCycleCosts that refer to this object. More...
 
IddObjectType iddObjectType () const
 This is a virtual function that will tell you the type of iddObject you are dealing with. More...
 
AdditionalProperties additionalProperties () const
 Returns this object's additional properties, constructing a new object if necessary. More...
 
bool hasAdditionalProperties () const
 Returns true if this object has additional properties. More...
 
std::vector< IdfObject > removeAdditionalProperties ()
 Removes all additional properties that refer to this object. More...
 
boost::optional< std::string > cadObjectId () const
 
bool setCADObjectId (const std::string &cadObjectId)
 
boost::optional< std::string > gbXMLId () const
 
bool setGBXMLId (const std::string &gbXMLId)
 
boost::optional< std::string > displayName () const
 
bool setDisplayName (const std::string &displayName)
 
bool setParent (ParentObject &newParent)
 set the parent, child may have to call non-const methods on the parent More...
 
bool operator< (const ModelObject &right) const
 
bool operator== (const ModelObject &other) const
 equality test More...
 
bool operator!= (const ModelObject &other) const
 inequality test More...
 
std::vector< ScheduleTypeKeygetScheduleTypeKeys (const Schedule &schedule) const
 Return the ScheduleTypeKeys indicating how schedule is used in this object. More...
 
boost::optional< double > getAutosizedValue (const std::string &valueName, const std::string &units) const
 Gets the autosized component value from the sql file. More...
 
virtual std::vector
< EMSActuatorNames
emsActuatorNames () const
 Return the names of the available ems actuators. More...
 
virtual std::vector< std::string > emsInternalVariableNames () const
 Return the names of the available ems internal variables. More...
 
boost::optional< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 

Static Public Member Functions

static IddObjectType iddObjectType ()
 

Protected Member Functions

bool moveToEnd (ScheduleRule &scheduleRule)
 
- Protected Member Functions inherited from openstudio::model::ResourceObject
 ResourceObject (IddObjectType type, const Model &model)
 Constructs a new PlanarSurface object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ParentObject
 ParentObject (IddObjectType type, const Model &model)
 Constructs a new ParentObject object in the model. More...
 
- Protected Member Functions inherited from openstudio::model::ModelObject
 ModelObject (IddObjectType type, const Model &model, bool fastName=false)
 
 ModelObject (std::shared_ptr< detail::ModelObject_Impl > impl)
 

Related Functions

(Note that these are not member functions.)

using OptionalScheduleRuleset = boost::optional< ScheduleRuleset >
 
using ScheduleRulesetVector = std::vector< ScheduleRuleset >
 

Additional Inherited Members

- Protected Types inherited from openstudio::model::ModelObject
using ImplType = detail::ModelObject_Impl
 

Detailed Description

ScheduleRuleset is a Schedule that wraps the OpenStudio IDD object 'OS_Schedule_Ruleset'.

ScheduleRuleset is the parent of its default day schedule, any non-default summer or winter design day schedules, and its ScheduleRules.

Constructor & Destructor Documentation

openstudio::model::ScheduleRuleset::ScheduleRuleset ( const Model model)
explicit

Constructs a new ScheduleRuleset, and also constructs a new ScheduleDay and assigns it to be the defaultDaySchedule().

openstudio::model::ScheduleRuleset::ScheduleRuleset ( const Model model,
double  value 
)

Constructs a new ScheduleRuleset, constructs a new ScheduleDay with value at all times and assigns it to be the defaultDaySchedule().

virtual openstudio::model::ScheduleRuleset::~ScheduleRuleset ( )
virtualdefault
openstudio::model::ScheduleRuleset::ScheduleRuleset ( const ScheduleRuleset other)
default
openstudio::model::ScheduleRuleset::ScheduleRuleset ( ScheduleRuleset &&  other)
default

Member Function Documentation

ScheduleDay openstudio::model::ScheduleRuleset::customDay1Schedule ( ) const

Returns the custom day 1 schedule, which may be the same ScheduleDay as defaultDaySchedule().

ScheduleDay openstudio::model::ScheduleRuleset::customDay2Schedule ( ) const

Returns the custom day 2 schedule, which may be the same ScheduleDay as defaultDaySchedule().

ScheduleDay openstudio::model::ScheduleRuleset::defaultDaySchedule ( ) const

Returns the default day schedule.

std::vector<int> openstudio::model::ScheduleRuleset::getActiveRuleIndices ( const openstudio::Date &  startDate,
const openstudio::Date &  endDate 
) const

Returns a vector of indices into the result of scheduleRules() between start date (inclusive) and end date (inclusive).

If no rule is in place on a given day then -1 is returned.

std::vector<ScheduleDay> openstudio::model::ScheduleRuleset::getDaySchedules ( const openstudio::Date &  startDate,
const openstudio::Date &  endDate 
) const

Returns a vector of day schedules between start date (inclusive) and end date (inclusive).

ScheduleDay openstudio::model::ScheduleRuleset::holidaySchedule ( ) const

Returns the holiday schedule, which may be the same ScheduleDay as defaultDaySchedule().

static IddObjectType openstudio::model::ScheduleRuleset::iddObjectType ( )
static
bool openstudio::model::ScheduleRuleset::isCustomDay1ScheduleDefaulted ( ) const

Returns true if the custom day 1 schedule is defaulted; false if it is explicitly set.

bool openstudio::model::ScheduleRuleset::isCustomDay2ScheduleDefaulted ( ) const

Returns true if the custom day 2 schedule is defaulted; false if it is explicitly set.

bool openstudio::model::ScheduleRuleset::isHolidayScheduleDefaulted ( ) const

Returns true if the holiday schedule is defaulted; false if it is explicitly set.

bool openstudio::model::ScheduleRuleset::isSummerDesignDayScheduleDefaulted ( ) const

Returns true if the summer design day is defaulted; false if it is explicitly set.

bool openstudio::model::ScheduleRuleset::isWinterDesignDayScheduleDefaulted ( ) const

Returns true if the winter design day is defaulted; false if it is explicitly set.

bool openstudio::model::ScheduleRuleset::moveToEnd ( ScheduleRule scheduleRule)
protected
ScheduleRuleset& openstudio::model::ScheduleRuleset::operator= ( const ScheduleRuleset )
default
ScheduleRuleset& openstudio::model::ScheduleRuleset::operator= ( ScheduleRuleset &&  )
default
void openstudio::model::ScheduleRuleset::resetCustomDay1Schedule ( )

Resets the custom day 1 schedule. Calls remove on any existing non-default custom day 1 schedule.

void openstudio::model::ScheduleRuleset::resetCustomDay2Schedule ( )

Resets the custom day 2 schedule. Calls remove on any existing non-default custom day 2 schedule.

void openstudio::model::ScheduleRuleset::resetHolidaySchedule ( )

Resets the holiday schedule. Calls remove on any existing non-default holiday schedule.

void openstudio::model::ScheduleRuleset::resetSummerDesignDaySchedule ( )

Resets the summer design day schedule.

Calls remove on any existing non-default summer design day schedule.

void openstudio::model::ScheduleRuleset::resetWinterDesignDaySchedule ( )

Resets the winter design day schedule.

Calls remove on any existing non-default winter design day schedule.

std::vector<ScheduleRule> openstudio::model::ScheduleRuleset::scheduleRules ( ) const

Returns a vector of the rules associated with this schedule, this may be empty.

The rules returned are in order from highest priority to lowest priority.

bool openstudio::model::ScheduleRuleset::setCustomDay1Schedule ( const ScheduleDay schedule)

Sets the custom day 1 schedule if ScheduleTypeLimits are compatible.

Calls remove on any existing non-default custom day 1 schedule. Clones schedule and parents the clone, but does not call remove on the original schedule.

bool openstudio::model::ScheduleRuleset::setCustomDay2Schedule ( const ScheduleDay schedule)

Sets the custom day 2 schedule if ScheduleTypeLimits are compatible.

Calls remove on any existing non-default custom day 2 schedule. Clones schedule and parents the clone, but does not call remove on the original schedule.

bool openstudio::model::ScheduleRuleset::setHolidaySchedule ( const ScheduleDay schedule)

Sets the holiday schedule if ScheduleTypeLimits are compatible.

Calls remove on any existing non-default holiday schedule. Clones schedule and parents the clone, but does not call remove on the original schedule.

bool openstudio::model::ScheduleRuleset::setScheduleRuleIndex ( ScheduleRule scheduleRule,
unsigned  index 
)

Sets the index of the given rule; 0 is the highest priority.

Returns false if this rule is not a child of this rule set or if index > number of rules - 1.

bool openstudio::model::ScheduleRuleset::setSummerDesignDaySchedule ( const ScheduleDay schedule)

Sets the summer design day schedule if ScheduleTypeLimits are compatible.

Calls remove on any existing non-default summer design day schedule. Clones schedule and parents the clone, but does not call remove on the original schedule.

bool openstudio::model::ScheduleRuleset::setWinterDesignDaySchedule ( const ScheduleDay schedule)

Sets the winter design day schedule if ScheduleTypeLimits are compatible.

Calls remove on any existing non-default winter design day schedule. Clones schedule and parents the clone, but does not call remove on the original schedule.

ScheduleDay openstudio::model::ScheduleRuleset::summerDesignDaySchedule ( ) const

Returns the summer design day schedule, which may be the same ScheduleDay as defaultDaySchedule().

ScheduleDay openstudio::model::ScheduleRuleset::winterDesignDaySchedule ( ) const

Returns the winter design day schedule, which may be the same ScheduleDay as defaultDaySchedule().

Friends And Related Function Documentation

using OptionalScheduleRuleset = boost::optional<ScheduleRuleset>
related
using ScheduleRulesetVector = std::vector<ScheduleRuleset>
related