OpenStudio:model
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends 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 ()
 
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...
 
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...
 
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< intgetActiveRuleIndices (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 ()
 
- Public Member Functions inherited from openstudio::model::ScheduleBase
virtual ~ScheduleBase ()
 
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...
 
virtual ~ResourceObject ()
 
- Public Member Functions inherited from openstudio::model::ParentObject
std::vector< IddObjectTypeallowableChildTypes () 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< IdfObjectremoveLifeCycleCosts ()
 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...
 
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< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 
- Public Member Functions inherited from openstudio::WorkspaceObject
bool canBeSource () const
 
bool canBeSource (unsigned index, const std::vector< std::string > &refLists=std::vector< std::string >()) const
 
std::vector< std::string > canBeTarget () const
 
std::vector< unsigned > getSourceIndices (const Handle &targetHandle) const
 
std::vector< WorkspaceObjectgetSources (IddObjectType type) const
 
boost::optional< WorkspaceObjectgetTarget (unsigned index) const
 
IdfObject idfObject ()
 
IdfObject idfObject () const
 
bool initialized () const
 
bool isSource () const
 
bool isTarget () const
 
unsigned numSources () const
 
bool objectListFieldsEqual (const WorkspaceObject &other) const
 
bool objectListFieldsNonConflicting (const WorkspaceObject &other) const
 
bool operator< (const WorkspaceObject &right) const
 
std::ostream & operator<< (std::ostream &os, const WorkspaceObject &workspaceObject)
 
std::vector
< openstudio::IdfObject
remove ()
 
bool setPointer (unsigned index, const Handle &targetHandle)
 
std::vector< WorkspaceObjectsources () const
 
std::vector< WorkspaceObjecttargets () const
 
Workspace workspace () const
 
virtual ~WorkspaceObject ()
 
- Public Member Functions inherited from openstudio::IdfObject
std::string briefDescription () const
 
cast () const
 
std::vector< T > castVector (const std::vector< U > &objects)
 
std::vector< std::vector
< std::string > > 
clearExtensibleGroups ()
 
IdfObject clone (bool keepHandle=false) const
 
std::string comment () const
 
boost::optional< std::string > createName (bool overwrite=true)
 
std::vector< unsigned > dataFields () const
 
bool dataFieldsEqual (const IdfObject &other) const
 
std::vector< std::string > eraseExtensibleGroup (unsigned groupIndex)
 
std::vector< IdfExtensibleGroupextensibleGroups () const
 
boost::optional< std::string > fieldComment (unsigned index, bool returnDefault=false) const
 
boost::optional< double > getDouble (unsigned index, bool returnDefault=false) const
 
IdfExtensibleGroup getExtensibleGroup (unsigned groupIndex) const
 
std::vector< Handle > getHandles (const std::vector< T > &objects)
 
boost::optional< intgetInt (unsigned index, bool returnDefault=false) const
 
OSOptionalQuantity getQuantity (unsigned index, bool returnDefault=false, bool returnIP=false) const
 
boost::optional< std::string > getString (unsigned index, bool returnDefault=false, bool returnUninitializedEmpty=false) const
 
boost::optional< unsigned > getUnsigned (unsigned index, bool returnDefault=false) const
 
boost::optional< QUrl > getURL (unsigned index, bool returnDefault=false) const
 
Handle handle () const
 
IddObject iddObject () const
 
 IdfObject (IddObjectType type, bool fastName=false)
 
 IdfObject (const IddObject &, bool fastName=false)
 
 IdfObject (const IdfObject &other)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex, const std::vector< std::string > &values)
 
bool isDataField (unsigned index) const
 
bool isEmpty (unsigned index) const
 
bool isObjectListField (unsigned index) const
 
bool isValid (StrictnessLevel level) const
 
boost::optional< unsigned > maxExtensibleGroups () const
 
boost::optional< unsigned > maxFields () const
 
unsigned minExtensibleGroups () const
 
unsigned minFields () const
 
boost::optional< std::string > name (bool returnDefault=false) const
 
std::string nameString (bool returnDefault=false) const
 
unsigned numExtensibleGroups () const
 
unsigned numFields () const
 
unsigned numNonextensibleFields () const
 
std::vector< unsigned > objectListFields () const
 
bool objectListFieldsEqual (const IdfObject &other) const
 
bool objectListFieldsNonConflicting (const IdfObject &other) const
 
bool operator!= (const IdfObject &other) const
 
std::ostream & operator<< (std::ostream &os, const IdfObject &IdfObject)
 
bool operator== (const IdfObject &other) const
 
boost::optional< T > optionalCast () const
 
std::vector< std::string > popExtensibleGroup ()
 
std::ostream & print (std::ostream &os) const
 
std::ostream & printField (std::ostream &os, unsigned index, bool isLastField=false) const
 
std::ostream & printName (std::ostream &os, bool hasFields=true) const
 
IdfExtensibleGroup pushExtensibleGroup ()
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
std::vector< unsigned > requiredFields () const
 
void setComment (const std::string &msg)
 
bool setDouble (unsigned index, double value)
 
bool setFieldComment (unsigned index, const std::string &cmnt)
 
bool setInt (unsigned index, int value)
 
boost::optional< std::string > setName (const std::string &newName)
 
bool setQuantity (unsigned index, const Quantity &q)
 
bool setString (unsigned index, const std::string &value)
 
bool setUnsigned (unsigned index, unsigned value)
 
std::vector< T > subsetCastVector (const std::vector< U > &original)
 
ValidityReport validityReport (StrictnessLevel level, bool checkNames=true) const
 
virtual ~IdfObject ()
 

Static Public Member Functions

static IddObjectType iddObjectType ()
 
- Static Public Member Functions inherited from openstudio::IdfObject
static boost::optional< IdfObjectload (const std::string &text)
 
static boost::optional< IdfObjectload (const std::string &text, const IddObject &iddObject)
 
static int printedFieldSpace ()
 

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)
 
- Protected Member Functions inherited from openstudio::WorkspaceObject
 WorkspaceObject (std::shared_ptr< detail::WorkspaceObject_Impl > impl)
 
- Protected Member Functions inherited from openstudio::IdfObject
 IdfObject (std::shared_ptr< detail::IdfObject_Impl > impl)
 

Related Functions

(Note that these are not member functions.)

typedef boost::optional
< ScheduleRuleset
OptionalScheduleRuleset
 
typedef std::vector
< ScheduleRuleset
ScheduleRulesetVector
 

Additional Inherited Members

- Public Types inherited from openstudio::WorkspaceObject
typedef boost::optional
< WorkspaceObject
OptionalWorkspaceObject
 
typedef std::vector
< WorkspaceObject
WorkspaceObjectVector
 
- Public Types inherited from openstudio::IdfObject
typedef std::pair< IdfObject,
IdfObject
IdfObjectPair
 
typedef std::vector< IdfObjectIdfObjectVector
 
typedef boost::optional
< IdfObject
OptionalIdfObject
 
- Protected Types inherited from openstudio::model::ModelObject
typedef detail::ModelObject_Impl ImplType
 
- Protected Types inherited from openstudio::WorkspaceObject
typedef
detail::WorkspaceObject_Impl 
ImplType
 
- Protected Types inherited from openstudio::IdfObject
typedef detail::IdfObject_Impl ImplType
 

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 ( )
inlinevirtual

Member Function Documentation

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).

static IddObjectType openstudio::model::ScheduleRuleset::iddObjectType ( )
static
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
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::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

typedef boost::optional<ScheduleRuleset> OptionalScheduleRuleset
related
typedef std::vector<ScheduleRuleset> ScheduleRulesetVector
related