OpenStudio:model
Loading...
Searching...
No Matches
openstudio::model::ModelObject Class Reference

#include <ModelObject.hpp>

Inherits openstudio::WorkspaceObject.

Inherited by openstudio::model::AdditionalProperties, openstudio::model::AirLoopHVACDedicatedOutdoorAirSystem, openstudio::model::AirflowNetworkComponent, openstudio::model::AirflowNetworkConstantPressureDrop, openstudio::model::AirflowNetworkDuctViewFactors, openstudio::model::AirflowNetworkLinkage, openstudio::model::AirflowNetworkNode, openstudio::model::AirflowNetworkOccupantVentilationControl, openstudio::model::AirflowNetworkOutdoorAirflow, openstudio::model::AirflowNetworkReferenceCrackConditions, openstudio::model::AirflowNetworkZoneExhaustFan, openstudio::model::AvailabilityManager, openstudio::model::AvailabilityManagerAssignmentList, openstudio::model::BuildingStory, openstudio::model::BuildingUnit, openstudio::model::ClimateZones, openstudio::model::CoilHeatingElectricMultiStageStageData, openstudio::model::CoilHeatingGasMultiStageStageData, openstudio::model::CoilWaterHeatingAirToWaterHeatPumpWrapped, openstudio::model::Connection, openstudio::model::ControllerMechanicalVentilation, openstudio::model::ConvergenceLimits, openstudio::model::CoolingTowerPerformanceCoolTools, openstudio::model::CoolingTowerPerformanceYorkCalc, openstudio::model::DaylightingDeviceLightWell, openstudio::model::DaylightingDeviceShelf, openstudio::model::DaylightingDeviceTubular, openstudio::model::DesignSpecificationZoneAirDistribution, openstudio::model::ElectricLoadCenterTransformer, openstudio::model::EnergyManagementSystemActuator, openstudio::model::EnergyManagementSystemConstructionIndexVariable, openstudio::model::EnergyManagementSystemCurveOrTableIndexVariable, openstudio::model::EnergyManagementSystemGlobalVariable, openstudio::model::EnergyManagementSystemInternalVariable, openstudio::model::EnergyManagementSystemMeteredOutputVariable, openstudio::model::EnergyManagementSystemOutputVariable, openstudio::model::EnergyManagementSystemProgram, openstudio::model::EnergyManagementSystemProgramCallingManager, openstudio::model::EnergyManagementSystemSensor, openstudio::model::EnergyManagementSystemSubroutine, openstudio::model::EnergyManagementSystemTrendVariable, openstudio::model::EnvironmentalImpactFactors, openstudio::model::ExteriorLoadInstance, openstudio::model::ExternalInterface, openstudio::model::ExternalInterfaceActuator, openstudio::model::ExternalInterfaceFunctionalMockupUnitExportFromVariable, openstudio::model::ExternalInterfaceFunctionalMockupUnitExportToActuator, openstudio::model::ExternalInterfaceFunctionalMockupUnitExportToVariable, openstudio::model::ExternalInterfaceFunctionalMockupUnitImport, openstudio::model::ExternalInterfaceFunctionalMockupUnitImportFromVariable, openstudio::model::ExternalInterfaceFunctionalMockupUnitImportToActuator, openstudio::model::ExternalInterfaceFunctionalMockupUnitImportToVariable, openstudio::model::ExternalInterfaceVariable, openstudio::model::FoundationKiva, openstudio::model::FoundationKivaSettings, openstudio::model::FuelFactors, openstudio::model::GeneratorFuelCellAirSupply, openstudio::model::GeneratorFuelCellAuxiliaryHeater, openstudio::model::GeneratorFuelCellElectricalStorage, openstudio::model::GeneratorFuelCellInverter, openstudio::model::GeneratorFuelCellPowerModule, openstudio::model::GeneratorFuelCellWaterSupply, openstudio::model::GeneratorFuelSupply, openstudio::model::GenericModelObject, openstudio::model::HeatBalanceAlgorithm, openstudio::model::InsideSurfaceConvectionAlgorithm, openstudio::model::LifeCycleCost, openstudio::model::LightingDesignDay, openstudio::model::LightingSimulationControl, openstudio::model::LightingSimulationZone, openstudio::model::MaterialPropertyMoisturePenetrationDepthSettings, openstudio::model::MaterialPropertyPhaseChange, openstudio::model::MaterialPropertyPhaseChangeHysteresis, openstudio::model::MeterCustom, openstudio::model::MeterCustomDecrement, openstudio::model::ModelObjectList, openstudio::model::OutputConstructions, openstudio::model::OutputControlFiles, openstudio::model::OutputControlReportingTolerances, openstudio::model::OutputControlResilienceSummaries, openstudio::model::OutputControlTableStyle, openstudio::model::OutputControlTimestamp, openstudio::model::OutputDebuggingData, openstudio::model::OutputDiagnostics, openstudio::model::OutputEnergyManagementSystem, openstudio::model::OutputEnvironmentalImpactFactors, openstudio::model::OutputJSON, openstudio::model::OutputMeter, openstudio::model::OutputSQLite, openstudio::model::OutputSchedules, openstudio::model::OutputTableAnnual, openstudio::model::OutputTableMonthly, openstudio::model::OutputTableSummaryReports, openstudio::model::OutputVariable, openstudio::model::OutsideSurfaceConvectionAlgorithm, openstudio::model::ParentObject, openstudio::model::PerformancePrecisionTradeoffs, openstudio::model::PhotovoltaicPerformance, openstudio::model::PlantEquipmentOperationScheme, openstudio::model::PortList, openstudio::model::ProgramControl, openstudio::model::PythonPluginOutputVariable, openstudio::model::PythonPluginSearchPaths, openstudio::model::PythonPluginTrendVariable, openstudio::model::PythonPluginVariable, 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::SiteGroundTemperatureDeep, openstudio::model::SiteGroundTemperatureFCfactorMethod, openstudio::model::SiteGroundTemperatureShallow, openstudio::model::SiteGroundTemperatureUndisturbedKusudaAchenbach, openstudio::model::SiteGroundTemperatureUndisturbedXing, 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::SolarCollectorPerformancePhotovoltaicThermalBIPVT, openstudio::model::SolarCollectorPerformancePhotovoltaicThermalSimple, openstudio::model::SpaceItem, openstudio::model::StandardsInformationConstruction, openstudio::model::StandardsInformationMaterial, openstudio::model::SurfaceControlMovableInsulation, openstudio::model::SurfacePropertyConvectionCoefficients, openstudio::model::SurfacePropertyConvectionCoefficientsMultipleSurface, openstudio::model::SurfacePropertyExposedFoundationPerimeter, openstudio::model::SurfacePropertyGroundSurfaces, openstudio::model::SurfacePropertyIncidentSolarMultiplier, openstudio::model::SurfacePropertyLocalEnvironment, openstudio::model::SurfacePropertySurroundingSurfaces, openstudio::model::Thermostat, openstudio::model::Timestep, openstudio::model::UnitarySystemPerformanceMultispeed, openstudio::model::UtilityBill, openstudio::model::Version, openstudio::model::WaterHeaterSizing, openstudio::model::WeatherFile, openstudio::model::ZoneAirContaminantBalance, openstudio::model::ZoneAirHeatBalanceAlgorithm, openstudio::model::ZoneAirMassFlowConservation, openstudio::model::ZoneCapacitanceMultiplierResearchSpecial, openstudio::model::ZoneControlContaminantController, openstudio::model::ZoneControlHumidistat, openstudio::model::ZoneHVACEquipmentList, openstudio::model::ZoneMixing, and openstudio::model::ZonePropertyUserViewFactorsBySurfaceName.

Public Member Functions

Constructors and Destructors
virtual ~ModelObject () override=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().
 
ModelObject clone (Model model) const
 Creates a deep copy of this object, placing it in model.
 
Components

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

Component createComponent () const
 Method for creating sharable Model snippets.
 
Getters
Model model () const
 Returns the Model that contains this object.
 
boost::optional< ParentObjectparent () const
 Return this object's parent in the hierarchy, if it has one.
 
std::vector< ResourceObjectresources () const
 Get the resources directly used by this ModelObject.
 
template<typename T >
std::vector< T > getModelObjectSources () const
 Get all objects of type T that point to this object.
 
template<typename T >
std::vector< T > getModelObjectSources (IddObjectType iddObjectType) const
 Get all objects of type T that point to this object.
 
template<typename T >
boost::optional< T > getModelObjectTarget (unsigned index) const
 Get the object of type T pointed to by this object from field index.
 
template<typename T >
std::vector< T > getModelObjectTargets () const
 Get all objects of type T to which this object points.
 
const std::vector< std::string > & outputVariableNames () const
 Get all output variables names that could be associated with this object.
 
std::vector< OutputVariableoutputVariables () const
 Get all output variables associated with this object, must run simulation to generate data.
 
boost::optional< openstudio::TimeSeriesgetData (const OutputVariable &variable, const std::string &envPeriod) const
 Get data associated with this output variable and this object.
 
std::vector< LifeCycleCostlifeCycleCosts () const
 Returns the list of all LifeCycleCosts that refer to this object.
 
std::vector< IdfObjectremoveLifeCycleCosts ()
 Removes all LifeCycleCosts that refer to this object.
 
IddObjectType iddObjectType () const
 This is a virtual function that will tell you the type of iddObject you are dealing with.
 
AdditionalProperties additionalProperties () const
 Returns this object's additional properties, constructing a new object if necessary.
 
bool hasAdditionalProperties () const
 Returns true if this object has additional properties.
 
std::vector< IdfObjectremoveAdditionalProperties ()
 Removes all additional properties that refer to this object.
 
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)
 
Setters
bool setParent (ParentObject &newParent)
 set the parent, child may have to call non-const methods on the parent
 
Queries
bool operator< (const ModelObject &right) const
 
bool operator== (const ModelObject &other) const
 equality test
 
bool operator!= (const ModelObject &other) const
 inequality test
 
std::vector< ScheduleTypeKeygetScheduleTypeKeys (const Schedule &schedule) const
 Return the ScheduleTypeKeys indicating how schedule is used in this object.
 
boost::optional< double > getAutosizedValue (const std::string &valueName, const std::string &units) const
 Gets the autosized component value from the sql file.
 
virtual std::vector< EMSActuatorNamesemsActuatorNames () const
 Return the names of the available ems actuators.
 
virtual std::vector< std::string > emsInternalVariableNames () const
 Return the names of the available ems internal variables.
 
- Public Member Functions inherited from openstudio::WorkspaceObject
bool canBeSource () const
 
bool canBeSource () const
 
bool canBeSource (unsigned index, const std::vector< std::string > &refLists=std::vector< std::string >()) const
 
bool canBeSource (unsigned index, const std::vector< std::string > &refLists=std::vector< std::string >()) const
 
std::vector< std::string > canBeTarget () const
 
std::vector< std::string > canBeTarget () const
 
std::vector< unsigned > getSourceIndices (const Handle &targetHandle) const
 
std::vector< unsigned > getSourceIndices (const Handle &targetHandle) const
 
std::vector< WorkspaceObjectgetSources (IddObjectType type) const
 
std::vector< WorkspaceObjectgetSources (IddObjectType type) const
 
boost::optional< WorkspaceObjectgetTarget (unsigned index) const
 
boost::optional< WorkspaceObjectgetTarget (unsigned index) const
 
IdfObject idfObject ()
 
IdfObject idfObject () const
 
bool initialized () const
 
bool initialized () const
 
bool isSource () const
 
bool isSource () const
 
bool isTarget () const
 
bool isTarget () const
 
unsigned numSources () const
 
unsigned numSources () const
 
bool objectListFieldsEqual (const WorkspaceObject &other) const
 
bool objectListFieldsEqual (const WorkspaceObject &other) const
 
bool objectListFieldsNonConflicting (const WorkspaceObject &other) const
 
bool objectListFieldsNonConflicting (const WorkspaceObject &other) const
 
bool operator< (const WorkspaceObject &right) const
 
bool operator< (const WorkspaceObject &right) const
 
std::ostream & operator<< (std::ostream &os, const WorkspaceObject &workspaceObject)
 
WorkspaceObjectoperator= (const WorkspaceObject &)=default
 
WorkspaceObjectoperator= (const WorkspaceObject &)=default
 
WorkspaceObjectoperator= (WorkspaceObject &&)=default
 
WorkspaceObjectoperator= (WorkspaceObject &&)=default
 
std::vector< openstudio::IdfObjectremove ()
 
std::vector< openstudio::IdfObjectremove ()
 
bool setPointer (unsigned index, const Handle &targetHandle)
 
bool setPointer (unsigned index, const Handle &targetHandle)
 
std::vector< WorkspaceObjectsources () const
 
std::vector< WorkspaceObjectsources () const
 
std::vector< WorkspaceObjecttargets () const
 
std::vector< WorkspaceObjecttargets () const
 
Workspace workspace () const
 
Workspace workspace () const
 
 WorkspaceObject (const WorkspaceObject &other)=default
 
 WorkspaceObject (const WorkspaceObject &other)=default
 
 WorkspaceObject (WorkspaceObject &&other)=default
 
 WorkspaceObject (WorkspaceObject &&other)=default
 
virtual ~WorkspaceObject () override=default
 
virtual ~WorkspaceObject () override=default
 
- Public Member Functions inherited from openstudio::IdfObject
std::string briefDescription () const
 
std::string briefDescription () const
 
cast () const
 
std::vector< T > castVector (const std::vector< U > &objects)
 
std::vector< std::vector< std::string > > clearExtensibleGroups ()
 
std::vector< std::vector< std::string > > clearExtensibleGroups ()
 
IdfObject clone (bool keepHandle=false) const
 
IdfObject clone (bool keepHandle=false) const
 
std::string comment () const
 
std::string comment () const
 
boost::optional< std::string > createName (bool overwrite=true)
 
boost::optional< std::string > createName (bool overwrite=true)
 
std::vector< unsigned > dataFields () const
 
std::vector< unsigned > dataFields () const
 
bool dataFieldsEqual (const IdfObject &other) const
 
bool dataFieldsEqual (const IdfObject &other) const
 
std::vector< std::string > eraseExtensibleGroup (unsigned groupIndex)
 
std::vector< std::string > eraseExtensibleGroup (unsigned groupIndex)
 
std::vector< IdfExtensibleGroupextensibleGroups () const
 
std::vector< IdfExtensibleGroupextensibleGroups () const
 
boost::optional< std::string > fieldComment (unsigned index, bool returnDefault=false) const
 
boost::optional< std::string > fieldComment (unsigned index, bool returnDefault=false) const
 
boost::optional< double > getDouble (unsigned index, bool returnDefault=false) const
 
boost::optional< double > getDouble (unsigned index, bool returnDefault=false) const
 
IdfExtensibleGroup getExtensibleGroup (unsigned groupIndex) const
 
IdfExtensibleGroup getExtensibleGroup (unsigned groupIndex) const
 
boost::optional< std::string > getField (unsigned index, bool returnDefault=false) const
 
boost::optional< std::string > getField (unsigned index, bool returnDefault=false) const
 
std::vector< Handle > getHandles (const std::vector< T > &objects)
 
boost::optional< int > getInt (unsigned index, bool returnDefault=false) const
 
boost::optional< int > getInt (unsigned index, bool returnDefault=false) const
 
OSOptionalQuantity getQuantity (unsigned index, bool returnDefault=false, bool returnIP=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< std::string > getString (unsigned index, bool returnDefault=false, bool returnUninitializedEmpty=false) const
 
boost::optional< unsigned > getUnsigned (unsigned index, bool returnDefault=false) const
 
boost::optional< unsigned > getUnsigned (unsigned index, bool returnDefault=false) const
 
Handle handle () const
 
Handle handle () const
 
IddObject iddObject () const
 
IddObject iddObject () const
 
 IdfObject (const IddObject &, bool fastName=false)
 
 IdfObject (const IddObject &, bool fastName=false)
 
 IdfObject (const IdfObject &other)
 
 IdfObject (const IdfObject &other)
 
 IdfObject (IddObjectType type, bool fastName=false)
 
 IdfObject (IddObjectType type, bool fastName=false)
 
 IdfObject (IdfObject &&other) noexcept
 
 IdfObject (IdfObject &&other) noexcept
 
void initializeFields (bool fill_default=false)
 
void initializeFields (bool fill_default=false)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex, const std::vector< std::string > &values)
 
IdfExtensibleGroup insertExtensibleGroup (unsigned groupIndex, const std::vector< std::string > &values)
 
bool isDataField (unsigned index) const
 
bool isDataField (unsigned index) const
 
bool isEmpty (unsigned index) const
 
bool isEmpty (unsigned index) const
 
bool isObjectListField (unsigned index) const
 
bool isObjectListField (unsigned index) const
 
bool isValid (StrictnessLevel level, bool checkNames=false) const
 
bool isValid (StrictnessLevel level, bool checkNames=false) const
 
boost::optional< unsigned > maxExtensibleGroups () const
 
boost::optional< unsigned > maxExtensibleGroups () const
 
boost::optional< unsigned > maxFields () const
 
boost::optional< unsigned > maxFields () const
 
unsigned minExtensibleGroups () const
 
unsigned minExtensibleGroups () const
 
unsigned minFields () const
 
unsigned minFields () const
 
boost::optional< std::string > name (bool returnDefault=false) const
 
boost::optional< std::string > name (bool returnDefault=false) const
 
std::string nameString (bool returnDefault=false) const
 
std::string nameString (bool returnDefault=false) const
 
unsigned numExtensibleGroups () const
 
unsigned numExtensibleGroups () const
 
unsigned numFields () const
 
unsigned numFields () const
 
unsigned numNonextensibleFields () const
 
unsigned numNonextensibleFields () const
 
std::vector< unsigned > objectListFields () const
 
std::vector< unsigned > objectListFields () const
 
bool objectListFieldsEqual (const IdfObject &other) const
 
bool objectListFieldsEqual (const IdfObject &other) const
 
bool objectListFieldsNonConflicting (const IdfObject &other) const
 
bool objectListFieldsNonConflicting (const IdfObject &other) const
 
bool operator!= (const IdfObject &other) const
 
bool operator!= (const IdfObject &other) const
 
std::ostream & operator<< (std::ostream &os, const IdfObject &IdfObject)
 
IdfObjectoperator= (const IdfObject &other)
 
IdfObjectoperator= (const IdfObject &other)
 
IdfObjectoperator= (IdfObject &&other) noexcept
 
IdfObjectoperator= (IdfObject &&other) noexcept
 
bool operator== (const IdfObject &other) const
 
bool operator== (const IdfObject &other) const
 
boost::optional< T > optionalCast () const
 
std::vector< std::string > popExtensibleGroup ()
 
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 ()
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
IdfExtensibleGroup pushExtensibleGroup (const std::vector< std::string > &values)
 
std::vector< unsigned > requiredFields () const
 
std::vector< unsigned > requiredFields () const
 
void setComment (const std::string &msg)
 
void setComment (const std::string &msg)
 
bool setDouble (unsigned index, double value)
 
bool setDouble (unsigned index, double value)
 
bool setFieldComment (unsigned index, const std::string &cmnt)
 
bool setFieldComment (unsigned index, const std::string &cmnt)
 
bool setInt (unsigned index, int value)
 
bool setInt (unsigned index, int value)
 
boost::optional< std::string > setName (const std::string &newName)
 
boost::optional< std::string > setName (const std::string &newName)
 
bool setQuantity (unsigned index, const Quantity &q)
 
bool setQuantity (unsigned index, const Quantity &q)
 
bool setString (unsigned index, const std::string &value)
 
bool setString (unsigned index, const std::string &value)
 
bool setUnsigned (unsigned index, unsigned value)
 
bool setUnsigned (unsigned index, unsigned value)
 
std::vector< T > subsetCastVector (const std::vector< U > &original)
 
ValidityReport validityReport (StrictnessLevel level, bool checkNames=false) const
 
ValidityReport validityReport (StrictnessLevel level, bool checkNames=false) const
 
virtual ~IdfObject ()=default
 
virtual ~IdfObject ()=default
 

Related Symbols

(Note that these are not member symbols.)

std::vector< ResourceObjectgetRecursiveResources (const ModelObject &object)
 Returns all ResourceObjects accessible by recursively calling .resources() starting from object.
 

HVAC System Connections

using ImplType = detail::ModelObject_Impl
 
boost::optional< ModelObjectconnectedObject (unsigned port) const
 
boost::optional< unsigned > connectedObjectPort (unsigned port) const
 
 ModelObject (IddObjectType type, const Model &model, bool fastName=false)
 
 ModelObject (std::shared_ptr< detail::ModelObject_Impl > impl)
 

Additional Inherited Members

- Public Types inherited from openstudio::WorkspaceObject
typedef boost::optional< WorkspaceObjectOptionalWorkspaceObject
 
typedef std::vector< WorkspaceObjectWorkspaceObjectVector
 
- Public Types inherited from openstudio::IdfObject
typedef std::pair< IdfObject, IdfObjectIdfObjectPair
 
typedef std::vector< IdfObjectIdfObjectVector
 
typedef boost::optional< IdfObjectOptionalIdfObject
 
- 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 Types inherited from openstudio::WorkspaceObject
typedef detail::WorkspaceObject_Impl ImplType
 
- Protected Types inherited from openstudio::IdfObject
typedef detail::IdfObject_Impl ImplType
 
- 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)
 

Detailed Description

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

Member Typedef Documentation

◆ ImplType

using openstudio::model::ModelObject::ImplType = detail::ModelObject_Impl
protected

Constructor & Destructor Documentation

◆ ~ModelObject()

virtual openstudio::model::ModelObject::~ModelObject ( )
overridevirtualdefault

◆ ModelObject() [1/4]

openstudio::model::ModelObject::ModelObject ( const ModelObject & other)
default

◆ ModelObject() [2/4]

openstudio::model::ModelObject::ModelObject ( ModelObject && other)
default

◆ ModelObject() [3/4]

openstudio::model::ModelObject::ModelObject ( IddObjectType type,
const Model & model,
bool fastName = false )
explicitprotected

◆ ModelObject() [4/4]

openstudio::model::ModelObject::ModelObject ( std::shared_ptr< detail::ModelObject_Impl > impl)
explicitprotected

Member Function Documentation

◆ additionalProperties()

AdditionalProperties openstudio::model::ModelObject::additionalProperties ( ) const

Returns this object's additional properties, constructing a new object if necessary.

This method will throw if called on an AddditionalProperties object.

◆ cadObjectId()

boost::optional< std::string > openstudio::model::ModelObject::cadObjectId ( ) const

◆ clone() [1/2]

ModelObject openstudio::model::ModelObject::clone ( ) const

Creates a deep copy of this object, placing it in this object's model().

Virtual implementation.

◆ clone() [2/2]

ModelObject openstudio::model::ModelObject::clone ( Model model) const

Creates a deep copy of this object, placing it in model.

Virtual implementation.

◆ connectedObject()

boost::optional< ModelObject > openstudio::model::ModelObject::connectedObject ( unsigned port) const

◆ connectedObjectPort()

boost::optional< unsigned > openstudio::model::ModelObject::connectedObjectPort ( unsigned port) const

◆ createComponent()

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.

◆ displayName()

boost::optional< std::string > openstudio::model::ModelObject::displayName ( ) const

◆ emsActuatorNames()

virtual std::vector< EMSActuatorNames > openstudio::model::ModelObject::emsActuatorNames ( ) const
virtual

Return the names of the available ems actuators.

◆ emsInternalVariableNames()

virtual std::vector< std::string > openstudio::model::ModelObject::emsInternalVariableNames ( ) const
virtual

Return the names of the available ems internal variables.

◆ gbXMLId()

boost::optional< std::string > openstudio::model::ModelObject::gbXMLId ( ) const

◆ getAutosizedValue()

boost::optional< double > openstudio::model::ModelObject::getAutosizedValue ( const std::string & valueName,
const std::string & units ) const

Gets the autosized component value from the sql file.

◆ getData()

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.

◆ getModelObjectSources() [1/2]

template<typename T >
std::vector< T > openstudio::model::ModelObject::getModelObjectSources ( ) const
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.

◆ getModelObjectSources() [2/2]

template<typename T >
std::vector< T > openstudio::model::ModelObject::getModelObjectSources ( IddObjectType iddObjectType) const
inline

Get all objects of type T that point to this object.

Preferred usage (do not use with abstract classes):

PeopleVector myZonesPeople = zone.getModelObjectSources<People>(People::iddObjectType());
People is a SpaceLoadInstance that wraps the OpenStudio IDD object 'OS_People'.
Definition People.hpp:28
static IddObjectType iddObjectType()

◆ getModelObjectTarget()

template<typename T >
boost::optional< T > openstudio::model::ModelObject::getModelObjectTarget ( unsigned index) const
inline

Get the object of type T pointed to by this object from field index.

◆ getModelObjectTargets()

template<typename T >
std::vector< T > openstudio::model::ModelObject::getModelObjectTargets ( ) const
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.

◆ getScheduleTypeKeys()

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.

◆ hasAdditionalProperties()

bool openstudio::model::ModelObject::hasAdditionalProperties ( ) const

Returns true if this object has additional properties.

◆ iddObjectType()

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.

◆ lifeCycleCosts()

std::vector< LifeCycleCost > openstudio::model::ModelObject::lifeCycleCosts ( ) const

Returns the list of all LifeCycleCosts that refer to this object.

◆ model()

Model openstudio::model::ModelObject::model ( ) const

Returns the Model that contains this object.

◆ operator!=()

bool openstudio::model::ModelObject::operator!= ( const ModelObject & other) const

inequality test

◆ operator<()

bool openstudio::model::ModelObject::operator< ( const ModelObject & right) const

◆ operator=() [1/2]

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

◆ operator=() [2/2]

ModelObject & openstudio::model::ModelObject::operator= ( ModelObject && )
default

◆ operator==()

bool openstudio::model::ModelObject::operator== ( const ModelObject & other) const

equality test

◆ outputVariableNames()

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.

◆ outputVariables()

std::vector< OutputVariable > openstudio::model::ModelObject::outputVariables ( ) const

Get all output variables associated with this object, must run simulation to generate data.

◆ parent()

boost::optional< ParentObject > openstudio::model::ModelObject::parent ( ) const

Return this object's parent in the hierarchy, if it has one.

◆ removeAdditionalProperties()

std::vector< IdfObject > openstudio::model::ModelObject::removeAdditionalProperties ( )

Removes all additional properties that refer to this object.

Returns removed objects.

◆ removeLifeCycleCosts()

std::vector< IdfObject > openstudio::model::ModelObject::removeLifeCycleCosts ( )

Removes all LifeCycleCosts that refer to this object.

Returns removed objects.

◆ resources()

std::vector< ResourceObject > openstudio::model::ModelObject::resources ( ) const

Get the resources directly used by this ModelObject.

◆ setCADObjectId()

bool openstudio::model::ModelObject::setCADObjectId ( const std::string & cadObjectId)

◆ setDisplayName()

bool openstudio::model::ModelObject::setDisplayName ( const std::string & displayName)

◆ setGBXMLId()

bool openstudio::model::ModelObject::setGBXMLId ( const std::string & gbXMLId)

◆ setParent()

bool openstudio::model::ModelObject::setParent ( ParentObject & newParent)

set the parent, child may have to call non-const methods on the parent

Friends And Related Symbol Documentation

◆ getRecursiveResources()

std::vector< ResourceObject > getRecursiveResources ( const ModelObject & object)
related

Returns all ResourceObjects accessible by recursively calling .resources() starting from object.

Will not return object even if object is a ResourceObject.