#include <ModelObject.hpp>
Inherits openstudio::WorkspaceObject.
Inherited by openstudio::model::AvailabilityManager, openstudio::model::BuildingStory, openstudio::model::ClimateZones, openstudio::model::CoilHeatingGasMultiStageStageData, openstudio::model::ComponentData, openstudio::model::Connection, openstudio::model::ControllerMechanicalVentilation, openstudio::model::ConvergenceLimits, openstudio::model::CoolingTowerPerformanceCoolTools, openstudio::model::CoolingTowerPerformanceYorkCalc, openstudio::model::Curve, openstudio::model::DaylightingDeviceShelf, openstudio::model::DesignSpecificationZoneAirDistribution, openstudio::model::ExteriorLights, openstudio::model::GenericModelObject, openstudio::model::HeatBalanceAlgorithm, openstudio::model::InsideSurfaceConvectionAlgorithm, openstudio::model::LifeCycleCost, openstudio::model::LightingDesignDay, openstudio::model::LightingSimulationControl, openstudio::model::LightingSimulationZone, openstudio::model::Meter, openstudio::model::ModelObjectList, openstudio::model::OutputControlReportingTolerances, openstudio::model::OutputVariable, openstudio::model::OutsideSurfaceConvectionAlgorithm, openstudio::model::ParentObject, openstudio::model::PlantEquipmentOperationScheme, openstudio::model::PortList, openstudio::model::ProgramControl, openstudio::model::RadianceParameters, openstudio::model::RefrigerationCondenserCascade, openstudio::model::RefrigerationDefrostCycleParameters, openstudio::model::RefrigerationSubcoolerLiquidSuction, openstudio::model::RefrigerationSubcoolerMechanical, openstudio::model::RefrigerationSystem, openstudio::model::RefrigerationTranscriticalSystem, openstudio::model::RefrigerationWalkIn, openstudio::model::RefrigerationWalkInZoneBoundary, openstudio::model::RunPeriodControlDaylightSavingTime, openstudio::model::RunPeriodControlSpecialDays, openstudio::model::ShadowCalculation, openstudio::model::SiteGroundReflectance, openstudio::model::SiteGroundTemperatureBuildingSurface, openstudio::model::SiteWaterMainsTemperature, openstudio::model::SizingParameters, openstudio::model::SizingPlant, openstudio::model::SizingSystem, openstudio::model::SizingZone, openstudio::model::SkyTemperature, openstudio::model::SolarCollectorPerformanceFlatPlate, openstudio::model::SolarCollectorPerformanceIntegralCollectorStorage, openstudio::model::SolarCollectorPerformancePhotovoltaicThermalSimple, openstudio::model::SpaceItem, openstudio::model::StandardsInformationConstruction, openstudio::model::StandardsInformationMaterial, openstudio::model::Thermostat, openstudio::model::Timestep, openstudio::model::UtilityBill, openstudio::model::Version, openstudio::model::WeatherFile, openstudio::model::ZoneAirContaminantBalance, openstudio::model::ZoneAirHeatBalanceAlgorithm, openstudio::model::ZoneAirMassFlowConservation, openstudio::model::ZoneCapacitanceMultiplierResearchSpecial, openstudio::model::ZoneControlHumidistat, openstudio::model::ZoneHVACEquipmentList, and openstudio::model::ZoneMixing.
Public Member Functions | |
Constructors and Destructors | |
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... | |
Components and Relationships | |
Once a Component has been created, it can be saved to local and online Building Component Libraries (BCLs) for web-enabled storing and sharing. (At this time, only select BCL users have permissions to upload, but this capability is to be extended to all users in time.) Components plus Relationships are the preferred method for specifying and swapping out groups of related ModelObjects (e.g. constructions, schedules, etc.) in higher-level libraries such as standardsinterface and analysis. Like Attributes, Relationships provide access to a related getter (required), setter (optional), and reset (optional) method using a single string. Unlike Attributes, the Relationship methods all work off of ModelObjects (not simple alpha or numeric data). | |
Component | createComponent () const |
Method for creating sharable Model snippets. More... | |
std::vector< std::string > | relationshipNames () const |
Return all valid relationship names. More... | |
std::vector< Relationship > | relationships () const |
Return all relationships for this ModelObject. More... | |
boost::optional< Relationship > | getRelationship (const std::string &name) const |
Get the relationship named name, if it exists. More... | |
bool | setRelationship (const std::string &name, boost::optional< ModelObject > relatedModelObject) |
Set this ModelObject's relationship name to point to relatedModelObject (or clear the relationship if relatedModelObject == boost::none). More... | |
bool | setRelationship (const std::string &name, const Component &component) |
Inserts component into this model and sets this ModelObject's relationship name to point to component.primaryObject(). More... | |
Attributes | |
A single string provides access to a related getter (required), setter (optional), and reset (optional) method for simple pieces of data such as a ThermalZone's lighting power density or a fan's efficiency. Attributes are the preferred method for accessing basic data (double, int, bool, and string) in higher-level libraries such as standardsinterface and analysis. See the OpenStudio Utilities library documentation for information on the Attribute class. | |
std::vector< std::string > | attributeNames () const |
Return all valid attribute names. More... | |
std::vector < openstudio::Attribute > | attributes () const |
Return all Attributes for this ModelObject. More... | |
boost::optional < openstudio::Attribute > | getAttribute (const std::string &name) const |
Get the attribute named name, if it exists. More... | |
bool | isSettableAttribute (const std::string &name) const |
Is the named attribute settable. More... | |
bool | isOptionalAttribute (const std::string &name) const |
Is the named attribute optional. More... | |
bool | setAttribute (const std::string &name, bool value) |
Set the attribute named name, if it exists. More... | |
bool | setAttribute (const std::string &name, int value) |
bool | setAttribute (const std::string &name, unsigned value) |
bool | setAttribute (const std::string &name, double value) |
bool | setAttribute (const std::string &name, const Quantity &value) |
bool | setAttribute (const std::string &name, const std::string &value) |
bool | setAttribute (const std::string &name, const char *value) |
bool | resetAttribute (const std::string &name) |
Reset the attribute named name. More... | |
Getters | |
Model | model () const |
Returns the Model that contains this object. More... | |
boost::optional< ParentObject > | parent () const |
Return this object's parent in the hierarchy, if it has one. More... | |
std::vector< ResourceObject > | resources () 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< OutputVariable > | outputVariables () 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< LifeCycleCost > | lifeCycleCosts () 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... | |
Setters | |
bool | setParent (ParentObject &newParent) |
set the parent, child may have to call non-const methods on the parent More... | |
Queries | |
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< ScheduleTypeKey > | getScheduleTypeKeys (const Schedule &schedule) const |
Return the ScheduleTypeKeys indicating how schedule is used in this object. More... | |
HVAC System Connections | |
boost::optional< ModelObject > | connectedObject (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< WorkspaceObject > | getSources (IddObjectType type) const |
boost::optional< WorkspaceObject > | getTarget (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< WorkspaceObject > | sources () const |
std::vector< WorkspaceObject > | targets () const |
Workspace | workspace () const |
virtual | ~WorkspaceObject () |
Public Member Functions inherited from openstudio::IdfObject | |
std::string | briefDescription () const |
T | 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< IdfExtensibleGroup > | extensibleGroups () 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< int > | getInt (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 |
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 (const std::vector< std::string > &values) |
IdfExtensibleGroup | pushExtensibleGroup () |
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 () |
Protected Types | |
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 |
Protected Member Functions | |
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.) | |
std::vector< ResourceObject > | getRecursiveResources (const ModelObject &object) |
Returns all ResourceObjects accessible by recursively calling .resources() starting from object. More... | |
typedef std::pair< std::string, std::string > | ScheduleTypeKey |
Typedef for ScheduleTypeRegistry key. More... | |
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< IdfObject > | IdfObjectVector |
typedef boost::optional < IdfObject > | OptionalIdfObject |
Static Public Member Functions inherited from openstudio::IdfObject | |
static boost::optional< IdfObject > | load (const std::string &text) |
static boost::optional< IdfObject > | load (const std::string &text, const IddObject &iddObject) |
static int | printedFieldSpace () |
Base class for the OpenStudio Building Model hierarchy.
Derives from WorkspaceObject, just as Model derives from Workspace. Each concrete class in the hierarchy wraps a specific IddObject. (See the OpenStudio Utilities and Utilities Idd documentation for information on Workspace, WorkspaceObject, and IddObject.)
|
protected |
|
inlinevirtual |
|
explicitprotected |
|
explicitprotected |
std::vector<std::string> openstudio::model::ModelObject::attributeNames | ( | ) | const |
Return all valid attribute names.
std::vector<openstudio::Attribute> openstudio::model::ModelObject::attributes | ( | ) | const |
Return all Attributes for this ModelObject.
ModelObject openstudio::model::ModelObject::clone | ( | ) | const |
Creates a deep copy of this object, placing it in this object's model().
Virtual implementation.
ModelObject openstudio::model::ModelObject::clone | ( | Model | model | ) | const |
Creates a deep copy of this object, placing it in model.
Virtual implementation.
boost::optional<ModelObject> openstudio::model::ModelObject::connectedObject | ( | unsigned | port | ) | const |
boost::optional<unsigned> openstudio::model::ModelObject::connectedObjectPort | ( | unsigned | port | ) | const |
Component openstudio::model::ModelObject::createComponent | ( | ) | const |
Method for creating sharable Model snippets.
Creates a Component with this ModelObject as the primary object. Uses the clone(Model&) method to select Component contents.
boost::optional<openstudio::Attribute> openstudio::model::ModelObject::getAttribute | ( | const std::string & | name | ) | const |
Get the attribute named name, if it exists.
boost::optional<openstudio::TimeSeries> openstudio::model::ModelObject::getData | ( | const OutputVariable & | variable, |
const std::string & | envPeriod | ||
) | const |
Get data associated with this output variable and this object.
|
inline |
Get all objects of type T that point to this object.
This method is preferred over the WorkspaceObject equivalent, as its use does not require knowledge of the IddObjectType.
|
inline |
Get all objects of type T that point to this object.
Preferred usage (do not use with abstract classes):
|
inline |
Get the object of type T pointed to by this object from field index.
|
inline |
Get all objects of type T to which this object points.
This method is preferred over the WorkspaceObject equivalent, as its use does not require knowledge of the IddObjectType.
boost::optional<Relationship> openstudio::model::ModelObject::getRelationship | ( | const std::string & | name | ) | const |
Get the relationship named name, if it exists.
std::vector<ScheduleTypeKey> openstudio::model::ModelObject::getScheduleTypeKeys | ( | const Schedule & | schedule | ) | const |
Return the ScheduleTypeKeys indicating how schedule is used in this object.
If schedule is not directly used by this object, return value will be .empty(). Used to maintain compatibility between schedule's ScheduleTypeLimits and how schedule is used by other objects.
IddObjectType openstudio::model::ModelObject::iddObjectType | ( | ) | const |
This is a virtual function that will tell you the type of iddObject you are dealing with.
While not labeled virtual here, it IS virtual in the impl.
bool openstudio::model::ModelObject::isOptionalAttribute | ( | const std::string & | name | ) | const |
Is the named attribute optional.
bool openstudio::model::ModelObject::isSettableAttribute | ( | const std::string & | name | ) | const |
Is the named attribute settable.
std::vector<LifeCycleCost> openstudio::model::ModelObject::lifeCycleCosts | ( | ) | const |
Returns the list of all LifeCycleCosts that refer to this object.
bool openstudio::model::ModelObject::operator!= | ( | const ModelObject & | other | ) | const |
inequality test
bool openstudio::model::ModelObject::operator< | ( | const ModelObject & | right | ) | const |
bool openstudio::model::ModelObject::operator== | ( | const ModelObject & | other | ) | const |
equality test
const std::vector<std::string>& openstudio::model::ModelObject::outputVariableNames | ( | ) | const |
Get all output variables names that could be associated with this object.
These variables may or may not be available for each simulation, need to check report variable dictionary to see if the variable is available. Each concrete class should override this method.
std::vector<OutputVariable> openstudio::model::ModelObject::outputVariables | ( | ) | const |
Get all output variables associated with this object, must run simulation to generate data.
boost::optional<ParentObject> openstudio::model::ModelObject::parent | ( | ) | const |
Return this object's parent in the hierarchy, if it has one.
std::vector<std::string> openstudio::model::ModelObject::relationshipNames | ( | ) | const |
Return all valid relationship names.
std::vector<Relationship> openstudio::model::ModelObject::relationships | ( | ) | const |
Return all relationships for this ModelObject.
std::vector<IdfObject> openstudio::model::ModelObject::removeLifeCycleCosts | ( | ) |
Removes all LifeCycleCosts that refer to this object.
Returns removed objects.
bool openstudio::model::ModelObject::resetAttribute | ( | const std::string & | name | ) |
Reset the attribute named name.
Provided for optional types.
std::vector<ResourceObject> openstudio::model::ModelObject::resources | ( | ) | const |
Get the resources directly used by this ModelObject.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
bool | value | ||
) |
Set the attribute named name, if it exists.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
int | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
unsigned | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
double | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
const Quantity & | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
const std::string & | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool openstudio::model::ModelObject::setAttribute | ( | const std::string & | name, |
const char * | value | ||
) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool openstudio::model::ModelObject::setParent | ( | ParentObject & | newParent | ) |
set the parent, child may have to call non-const methods on the parent
bool openstudio::model::ModelObject::setRelationship | ( | const std::string & | name, |
boost::optional< ModelObject > | relatedModelObject | ||
) |
Set this ModelObject's relationship name to point to relatedModelObject (or clear the relationship if relatedModelObject == boost::none).
bool openstudio::model::ModelObject::setRelationship | ( | const std::string & | name, |
const Component & | component | ||
) |
Inserts component into this model and sets this ModelObject's relationship name to point to component.primaryObject().
|
related |
Returns all ResourceObjects accessible by recursively calling .resources() starting from object.
Will not return object even if object is a ResourceObject.
|
related |
Typedef for ScheduleTypeRegistry key.
First is a string representation of the class name. Second is a display name for the schedule.