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::ScheduleRule Class Reference

#include <ScheduleRule.hpp>

+ Inheritance diagram for openstudio::model::ScheduleRule:

Public Member Functions

Constructors and Destructors
 ScheduleRule (ScheduleRuleset &scheduleRuleset)
 Constructor associates this rule with the given ruleset. More...
 
 ScheduleRule (ScheduleRuleset &scheduleRuleset, const ScheduleDay &daySchedule)
 Constructor associates this rule with the given ruleset. More...
 
virtual ~ScheduleRule ()
 
Getters
ScheduleRuleset scheduleRuleset () const
 
int ruleIndex () const
 
ScheduleDay daySchedule () const
 
bool applySunday () const
 
bool applyMonday () const
 
bool applyTuesday () const
 
bool applyWednesday () const
 
bool applyThursday () const
 
bool applyFriday () const
 
bool applySaturday () const
 
std::string dateSpecificationType () const
 
boost::optional< openstudio::Date > startDate () const
 Returns the start date of the date range if set. More...
 
boost::optional< openstudio::Date > endDate () const
 Returns the end date of the date range if set. More...
 
std::vector< openstudio::Date > specificDates () const
 Returns the specific dates specified if any. More...
 
Setters
bool setApplySunday (bool applySunday)
 
void setApplySundayNoFail (bool applySunday)
 
bool setApplyMonday (bool applyMonday)
 
void setApplyMondayNoFail (bool applyMonday)
 
bool setApplyTuesday (bool applyTuesday)
 
void setApplyTuesdayNoFail (bool applyTuesday)
 
bool setApplyWednesday (bool applyWednesday)
 
void setApplyWednesdayNoFail (bool applyWednesday)
 
bool setApplyThursday (bool applyThursday)
 
void setApplyThursdayNoFail (bool applyThursday)
 
bool setApplyFriday (bool applyFriday)
 
void setApplyFridayNoFail (bool applyFriday)
 
bool setApplySaturday (bool applySaturday)
 
void setApplySaturdayNoFail (bool applySaturday)
 
bool setStartDate (const openstudio::Date &date)
 Sets the start date of the date range, will delete any specific dates specified. More...
 
bool setEndDate (const openstudio::Date &date)
 Sets the end date of the date range, will delete any specific dates specified. More...
 
bool addSpecificDate (const openstudio::Date &date)
 Adds a specific date, will delete start and end dates. More...
 
void ensureNoLeapDays ()
 
Other
bool containsDate (const openstudio::Date &date)
 Returns true if this rule covers the given date. More...
 
std::vector< bool > containsDates (const std::vector< openstudio::Date > &dates)
 Returns whether or not this rule covers each given date. More...
 
bool applyAllDays () const
 Returns true if the rule applies to all days from Monday to Sunday. More...
 
bool applyWeekdays () const
 Returns true if the rule applies to all weekdays Monday to Friday. More...
 
bool applyWeekends () const
 Returns true if the rule applies to Saturday and Sunday. More...
 
bool setApplyAllDays (bool applyAllDays)
 
bool setApplyWeekdays (bool applyWeekdays)
 
bool setApplyWeekends (bool applyWeekends)
 
- 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...
 
virtual ~ParentObject ()
 
- Public Member Functions inherited from openstudio::model::ModelObject
virtual ~ModelObject ()
 
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...
 
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 (std::string valueName, std::string unitString) 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 ()
 
static std::vector< std::string > validDateSpecificationTypeValues ()
 

Protected Member Functions

bool setRuleIndex (int index)
 
- 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.)

typedef boost::optional
< ScheduleRule
OptionalScheduleRule
 
typedef std::vector< ScheduleRuleScheduleRuleVector
 

Additional Inherited Members

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

Detailed Description

ScheduleRule is a ParentObject that wraps the OpenStudio IDD object 'OS:Schedule:Rule'.

Constructor & Destructor Documentation

openstudio::model::ScheduleRule::ScheduleRule ( ScheduleRuleset scheduleRuleset)
explicit

Constructor associates this rule with the given ruleset.

This rule is made to be the highest priority rule. A new ScheduleDay is created which is owned by (a child of) this rule.

openstudio::model::ScheduleRule::ScheduleRule ( ScheduleRuleset scheduleRuleset,
const ScheduleDay daySchedule 
)
explicit

Constructor associates this rule with the given ruleset.

This rule is made to be the highest priority rule. The given daySchedule is cloned and the new object is owned by (a child of) this rule.

virtual openstudio::model::ScheduleRule::~ScheduleRule ( )
inlinevirtual

Member Function Documentation

bool openstudio::model::ScheduleRule::addSpecificDate ( const openstudio::Date &  date)

Adds a specific date, will delete start and end dates.

bool openstudio::model::ScheduleRule::applyAllDays ( ) const

Returns true if the rule applies to all days from Monday to Sunday.

bool openstudio::model::ScheduleRule::applyFriday ( ) const
bool openstudio::model::ScheduleRule::applyMonday ( ) const
bool openstudio::model::ScheduleRule::applySaturday ( ) const
bool openstudio::model::ScheduleRule::applySunday ( ) const
bool openstudio::model::ScheduleRule::applyThursday ( ) const
bool openstudio::model::ScheduleRule::applyTuesday ( ) const
bool openstudio::model::ScheduleRule::applyWednesday ( ) const
bool openstudio::model::ScheduleRule::applyWeekdays ( ) const

Returns true if the rule applies to all weekdays Monday to Friday.

bool openstudio::model::ScheduleRule::applyWeekends ( ) const

Returns true if the rule applies to Saturday and Sunday.

bool openstudio::model::ScheduleRule::containsDate ( const openstudio::Date &  date)

Returns true if this rule covers the given date.

std::vector<bool> openstudio::model::ScheduleRule::containsDates ( const std::vector< openstudio::Date > &  dates)

Returns whether or not this rule covers each given date.

std::string openstudio::model::ScheduleRule::dateSpecificationType ( ) const
ScheduleDay openstudio::model::ScheduleRule::daySchedule ( ) const
boost::optional<openstudio::Date> openstudio::model::ScheduleRule::endDate ( ) const

Returns the end date of the date range if set.

A start date > end date indicates that the range wraps around the year.

void openstudio::model::ScheduleRule::ensureNoLeapDays ( )
static IddObjectType openstudio::model::ScheduleRule::iddObjectType ( )
static
int openstudio::model::ScheduleRule::ruleIndex ( ) const
ScheduleRuleset openstudio::model::ScheduleRule::scheduleRuleset ( ) const
bool openstudio::model::ScheduleRule::setApplyAllDays ( bool  applyAllDays)
bool openstudio::model::ScheduleRule::setApplyFriday ( bool  applyFriday)
void openstudio::model::ScheduleRule::setApplyFridayNoFail ( bool  applyFriday)
bool openstudio::model::ScheduleRule::setApplyMonday ( bool  applyMonday)
void openstudio::model::ScheduleRule::setApplyMondayNoFail ( bool  applyMonday)
bool openstudio::model::ScheduleRule::setApplySaturday ( bool  applySaturday)
void openstudio::model::ScheduleRule::setApplySaturdayNoFail ( bool  applySaturday)
bool openstudio::model::ScheduleRule::setApplySunday ( bool  applySunday)
void openstudio::model::ScheduleRule::setApplySundayNoFail ( bool  applySunday)
bool openstudio::model::ScheduleRule::setApplyThursday ( bool  applyThursday)
void openstudio::model::ScheduleRule::setApplyThursdayNoFail ( bool  applyThursday)
bool openstudio::model::ScheduleRule::setApplyTuesday ( bool  applyTuesday)
void openstudio::model::ScheduleRule::setApplyTuesdayNoFail ( bool  applyTuesday)
bool openstudio::model::ScheduleRule::setApplyWednesday ( bool  applyWednesday)
void openstudio::model::ScheduleRule::setApplyWednesdayNoFail ( bool  applyWednesday)
bool openstudio::model::ScheduleRule::setApplyWeekdays ( bool  applyWeekdays)
bool openstudio::model::ScheduleRule::setApplyWeekends ( bool  applyWeekends)
bool openstudio::model::ScheduleRule::setEndDate ( const openstudio::Date &  date)

Sets the end date of the date range, will delete any specific dates specified.

A start date > end date indicates that the range wraps around the year.

bool openstudio::model::ScheduleRule::setRuleIndex ( int  index)
protected
bool openstudio::model::ScheduleRule::setStartDate ( const openstudio::Date &  date)

Sets the start date of the date range, will delete any specific dates specified.

A start date > end date indicates that the range wraps around the year.

std::vector<openstudio::Date> openstudio::model::ScheduleRule::specificDates ( ) const

Returns the specific dates specified if any.

boost::optional<openstudio::Date> openstudio::model::ScheduleRule::startDate ( ) const

Returns the start date of the date range if set.

A start date > end date indicates that the range wraps around the year.

static std::vector<std::string> openstudio::model::ScheduleRule::validDateSpecificationTypeValues ( )
static

Friends And Related Function Documentation

typedef boost::optional<ScheduleRule> OptionalScheduleRule
related
typedef std::vector<ScheduleRule> ScheduleRuleVector
related