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

#include <ParentObject.hpp>

+ Inheritance diagram for openstudio::model::ParentObject:

Public Member Functions

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
 

Protected Member Functions

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

std::vector< ModelObjectgetRecursiveChildren (const ParentObject &object, bool includeLifeCycleCostsAndAdditionalProperties=false, bool includeUsedResources=true)
 Returns object and all other objects accessible by calling children() on encountered ParentObjects . More...
 
std::vector< ModelObjectgetRecursiveChildrenAndResources (const ModelObject &object)
 Returns object and all other objects accessible by calling children() and resources() on encountered ModelObjects . More...
 

Additional Inherited Members

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

Detailed Description

ParentObject is an abstract class derived from ModelObject.

Todo:
It is an open question if the functionality of ParentObject should be merged with ModelObject and ParentObject deprecated.

Constructor & Destructor Documentation

virtual openstudio::model::ParentObject::~ParentObject ( )
virtualdefault
openstudio::model::ParentObject::ParentObject ( const ParentObject other)
default
openstudio::model::ParentObject::ParentObject ( ParentObject &&  other)
default
openstudio::model::ParentObject::ParentObject ( IddObjectType  type,
const Model model 
)
protected

Constructs a new ParentObject object in the model.

Member Function Documentation

std::vector<IddObjectType> openstudio::model::ParentObject::allowableChildTypes ( ) const

Returns a vector of allowable children types.

std::vector<ModelObject> openstudio::model::ParentObject::children ( ) const

Return direct child objects in the Model.

ParentObject& openstudio::model::ParentObject::operator= ( const ParentObject )
default
ParentObject& openstudio::model::ParentObject::operator= ( ParentObject &&  )
default

Friends And Related Function Documentation

std::vector< ModelObject > getRecursiveChildren ( const ParentObject object,
bool  includeLifeCycleCostsAndAdditionalProperties = false,
bool  includeUsedResources = true 
)
related

Returns object and all other objects accessible by calling children() on encountered ParentObjects .

LifeCycleCost and AdditionalProperties objects are not technically children but may be included by setting the optional second argument to true. An additional switch can exclude ResourceObject which have a directUseCount > 1, which is especially useful for remove() so you don't remove ResourceObjects (such as Curve) if they are actually used by another object than the one you're deleting

std::vector< ModelObject > getRecursiveChildrenAndResources ( const ModelObject object)
related

Returns object and all other objects accessible by calling children() and resources() on encountered ModelObjects .