#include <Relationship.hpp>
Public Member Functions | |
bool | clearRelatedModelObjects () |
Clears all related ModelObjects, throws if Relationship is singular. More... | |
bool | isSettable () const |
Returns true if there is a write method for this relationship. More... | |
bool | isSingular () const |
Returns true if this Relationship concerns 0-1 other ModelObjects, otherwise this Relationship can access an unlimited number of other ModelObjects. More... | |
ModelObject | modelObject () const |
Returns the primary ModelObject. More... | |
std::string | name () const |
Returns the name of the relationship. More... | |
boost::optional< ModelObject > | relatedModelObject () const |
Return the related ModelObject if available, will throw if Relationship is not singular. More... | |
std::vector< ModelObject > | relatedModelObjects () const |
Return all related ModelObjects, will throw if Relationship is singular. More... | |
bool | resetRelatedModelObject () |
Resets the related ModelObject, throws if Relationship is not singular. More... | |
bool | setRelatedModelObject (boost::optional< ModelObject > relatedModelObject) |
Resets the related ModelObject and forms relationship with the new ModelObject, throws if Relationship is not singular. More... | |
bool | setRelatedModelObject (const Component &component) |
Inserts component into Model and sets related model object on the primary object. More... | |
bool | setRelatedModelObjects (std::vector< ModelObject > relatedModelObjects) |
Clears all related ModelObjects and then forms relationships with the new ModelObjects, throws if Relationship is singular. More... | |
Protected Member Functions | |
Relationship (const ModelObject &object, const std::string &name) | |
Creates a Relationship object to access the named relationships of the given ModelObject. More... | |
Related Functions | |
(Note that these are not member functions.) | |
typedef boost::optional < Relationship > | OptionalRelationship |
typedef std::vector< Relationship > | RelationshipVector |
Relationship describes relationships that a ModelObject may have with other ModelObjects .
Relationships of a ModelObject are similar to Attributes of a ModelObject, they provide named access to object methods through the QObject Q_PROPERTY system. However, while Attributes of a ModelObject return simple data types (e.g. PlanarSurface has an Attribute named 'netArea' that returns a double), Relationships return related ModelObjects. A Relationship is constructed with a primary ModelObject and describes relationships that the primary ModelObject may have with other ModelObjects. A Relationship can be singular (e.g. a Surface object relates to 0 or 1 Construction objects) or plural (e.g. a Zone relates to any number of Lights objects). A Relationship object can be used to get these related ModelObjects by name.
|
protected |
Creates a Relationship object to access the named relationships of the given ModelObject.
bool openstudio::model::Relationship::clearRelatedModelObjects | ( | ) |
Clears all related ModelObjects, throws if Relationship is singular.
Equivalent to setRelatedModelObject(std::vector<ModelObject>())
bool openstudio::model::Relationship::isSettable | ( | ) | const |
Returns true if there is a write method for this relationship.
bool openstudio::model::Relationship::isSingular | ( | ) | const |
Returns true if this Relationship concerns 0-1 other ModelObjects, otherwise this Relationship can access an unlimited number of other ModelObjects.
ModelObject openstudio::model::Relationship::modelObject | ( | ) | const |
Returns the primary ModelObject.
std::string openstudio::model::Relationship::name | ( | ) | const |
Returns the name of the relationship.
boost::optional<ModelObject> openstudio::model::Relationship::relatedModelObject | ( | ) | const |
Return the related ModelObject if available, will throw if Relationship is not singular.
std::vector<ModelObject> openstudio::model::Relationship::relatedModelObjects | ( | ) | const |
Return all related ModelObjects, will throw if Relationship is singular.
bool openstudio::model::Relationship::resetRelatedModelObject | ( | ) |
Resets the related ModelObject, throws if Relationship is not singular.
Equivalent to setRelatedModelObject(boost::none)
bool openstudio::model::Relationship::setRelatedModelObject | ( | boost::optional< ModelObject > | relatedModelObject | ) |
Resets the related ModelObject and forms relationship with the new ModelObject, throws if Relationship is not singular.
bool openstudio::model::Relationship::setRelatedModelObject | ( | const Component & | component | ) |
Inserts component into Model and sets related model object on the primary object.
bool openstudio::model::Relationship::setRelatedModelObjects | ( | std::vector< ModelObject > | relatedModelObjects | ) |
Clears all related ModelObjects and then forms relationships with the new ModelObjects, throws if Relationship is singular.
|
related |
|
related |