#include <ModelObject.hpp>
Inherits WorkspaceObject.
Inherited by openstudio::model::AdditionalProperties, 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::AirLoopHVACDedicatedOutdoorAirSystem, 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::OutputControlTableStyle, openstudio::model::OutputControlTimestamp, openstudio::model::OutputDebuggingData, openstudio::model::OutputDiagnostics, openstudio::model::OutputEnergyManagementSystem, openstudio::model::OutputEnvironmentalImpactFactors, openstudio::model::OutputJSON, openstudio::model::OutputMeter, openstudio::model::OutputSchedules, openstudio::model::OutputSQLite, 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::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.
|
|
virtual | ~ModelObject ()=default |
|
| ModelObject (const ModelObject &other)=default |
|
| ModelObject (ModelObject &&other)=default |
|
ModelObject & | operator= (const ModelObject &)=default |
|
ModelObject & | operator= (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...
|
|
|
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. More...
|
|
|
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...
|
|
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< ScheduleTypeKey > | getScheduleTypeKeys (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< ModelObject > | connectedObject (unsigned port) const |
|
boost::optional< unsigned > | connectedObjectPort (unsigned port) const |
|
|
using | ImplType = detail::ModelObject_Impl |
|
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.)
virtual openstudio::model::ModelObject::~ModelObject |
( |
| ) |
|
|
virtualdefault |
openstudio::model::ModelObject::ModelObject |
( |
const ModelObject & |
other | ) |
|
|
default |
openstudio::model::ModelObject::ModelObject |
( |
ModelObject && |
other | ) |
|
|
default |
openstudio::model::ModelObject::ModelObject |
( |
IddObjectType |
type, |
|
|
const Model & |
model, |
|
|
bool |
fastName = false |
|
) |
| |
|
explicitprotected |
openstudio::model::ModelObject::ModelObject |
( |
std::shared_ptr< detail::ModelObject_Impl > |
impl | ) |
|
|
explicitprotected |
Returns this object's additional properties, constructing a new object if necessary.
This method will throw if called on an AddditionalProperties object.
boost::optional<std::string> openstudio::model::ModelObject::cadObjectId |
( |
| ) |
const |
ModelObject openstudio::model::ModelObject::clone |
( |
| ) |
const |
Creates a deep copy of this object, placing it in this object's model().
Virtual implementation.
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 |
boost::optional<std::string> openstudio::model::ModelObject::displayName |
( |
| ) |
const |
virtual std::vector<EMSActuatorNames> openstudio::model::ModelObject::emsActuatorNames |
( |
| ) |
const |
|
virtual |
Return the names of the available ems actuators.
virtual std::vector<std::string> openstudio::model::ModelObject::emsInternalVariableNames |
( |
| ) |
const |
|
virtual |
Return the names of the available ems internal variables.
boost::optional<std::string> openstudio::model::ModelObject::gbXMLId |
( |
| ) |
const |
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.
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.
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.
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):
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.
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.
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.
bool openstudio::model::ModelObject::hasAdditionalProperties |
( |
| ) |
const |
Returns true if this object has additional properties.
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.
std::vector<LifeCycleCost> openstudio::model::ModelObject::lifeCycleCosts |
( |
| ) |
const |
Returns the list of all LifeCycleCosts that refer to this object.
Model openstudio::model::ModelObject::model |
( |
| ) |
const |
Returns the Model that contains this object.
bool openstudio::model::ModelObject::operator!= |
( |
const ModelObject & |
other | ) |
const |
bool openstudio::model::ModelObject::operator< |
( |
const ModelObject & |
right | ) |
const |
bool openstudio::model::ModelObject::operator== |
( |
const ModelObject & |
other | ) |
const |
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<IdfObject> openstudio::model::ModelObject::removeAdditionalProperties |
( |
| ) |
|
Removes all additional properties that refer to this object.
Returns removed objects.
std::vector<IdfObject> openstudio::model::ModelObject::removeLifeCycleCosts |
( |
| ) |
|
Removes all LifeCycleCosts that refer to this object.
Returns removed objects.
std::vector<ResourceObject> openstudio::model::ModelObject::resources |
( |
| ) |
const |
bool openstudio::model::ModelObject::setCADObjectId |
( |
const std::string & |
cadObjectId | ) |
|
bool openstudio::model::ModelObject::setDisplayName |
( |
const std::string & |
displayName | ) |
|
bool openstudio::model::ModelObject::setGBXMLId |
( |
const std::string & |
gbXMLId | ) |
|
bool openstudio::model::ModelObject::setParent |
( |
ParentObject & |
newParent | ) |
|
set the parent, child may have to call non-const methods on the parent