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

#include <ResourceObject.hpp>

+ Inheritance diagram for openstudio::model::ResourceObject:

Public Member Functions

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

Protected Member Functions

Constructors and Destructors
 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.)

typedef boost::optional
< ResourceObject
OptionalResourceObject
 
typedef std::vector
< ResourceObject
ResourceObjectVector
 

Additional Inherited Members

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

Detailed Description

ResourceObject is an abstract class derived from ParentObject.

ResourceObject is a pure virtual class for ModelObjects that are shared, globally across a Model. Examples include Constructions (referenced by many Surfaces), Materials (referenced by many Constructions), and Schedules (referenced by almost everything). Methods such as ModelObject::clone and Model::purgeUnusedResourceObjects handle special cases related to ResourceObjects.

Constructor & Destructor Documentation

virtual openstudio::model::ResourceObject::~ResourceObject ( )
inlinevirtual
openstudio::model::ResourceObject::ResourceObject ( IddObjectType  type,
const Model model 
)
protected

Constructs a new PlanarSurface object in the model.

Member Function Documentation

unsigned openstudio::model::ResourceObject::directUseCount ( bool  excludeChildren = false) const

Returns the number of objects that use this resource directly.

All usages count equally. For instance, the use of a Material in a LayeredConstruction counts as one use of the Material object, and usages of that LayeredConstruction do not add to the Material's use count. If excludeChildren is true then children of this object do not contribute to the use count.

unsigned openstudio::model::ResourceObject::nonResourceObjectUseCount ( bool  excludeChildren = false) const

Returns the number of non-ResourceObjects that use this resource either directly or indirectly.

Non-ResourceObjects include Building, Zone, Surface, Lights, and AirLoopHVAC, for instance. An example of indirect use is the use of a Material object through inclusion in a Construction. If a particular Material is used in exactly one LayeredConstruction, which is in turn used by three PlanarSurface objects, then the nonResourceObjectUseCount of both the Material and the LayeredConstruction is three. If excludeChildren is true then children of this object do not contribute to the use count.

Friends And Related Function Documentation

typedef boost::optional<ResourceObject> OptionalResourceObject
related
typedef std::vector<ResourceObject> ResourceObjectVector
related