| 
| void  | applySizingValues () | 
|   | 
| void  | autosize () | 
|   | 
| virtual std::vector< ModelObject >  | children () const  | 
|   | 
| virtual ModelObject  | clone (Model model) const  | 
|   | 
virtual boost::optional 
< ModelObject >  | component (openstudio::Handle handle) | 
|   | Returns an optional ModelObject with the given handle.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | components (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) | 
|   | Returns all of the HVAC equipment within the air loop including both the supply and demand sides of the loop.  More...
  | 
|   | 
| std::vector< ModelObject >  | components (HVACComponent inletComp, HVACComponent outletComp, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) | 
|   | Returns supplyComponents() or demandComponents(), depending on if the inlet and outlet component arugments are on the supply or demand side.  More...
  | 
|   | 
virtual boost::optional 
< ModelObject >  | demandComponent (openstudio::Handle handle) const  | 
|   | Returns an optional ModelObject with the given handle.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | demandComponents (std::vector< HVACComponent > inletComps, std::vector< HVACComponent > outletComps, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const  | 
|   | Returns all of the demand side hvac equipment between inletComps and outletComps.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | demandComponents (HVACComponent inletComp, HVACComponent outletComp, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const  | 
|   | Returns all of the demand side hvac equipment between inletComp and outletComp.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | demandComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const  | 
|   | Returns all of the demand side HVAC equipment within the air loop.  More...
  | 
|   | 
| virtual Node  | demandInletNode () const  | 
|   | 
| virtual std::vector< Node >  | demandInletNodes () const  | 
|   | 
| Mixer  | demandMixer () const  | 
|   | 
| virtual Node  | demandOutletNode () const  | 
|   | 
| Splitter  | demandSplitter () const  | 
|   | 
virtual std::vector 
< openstudio::IdfObject >  | remove () | 
|   | 
virtual boost::optional 
< ModelObject >  | supplyComponent (openstudio::Handle handle) | 
|   | Returns an optional ModelObject with the given handle.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | supplyComponents (std::vector< HVACComponent > inletComps, std::vector< HVACComponent > outletComps, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const  | 
|   | Returns all of the supply side hvac equipment between inletComps and outletComps.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | supplyComponents (HVACComponent inletComp, HVACComponent outletComp, openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const  | 
|   | Returns all of the supply side hvac equipment between inletComp and outletComp.  More...
  | 
|   | 
| virtual std::vector< ModelObject >  | supplyComponents (openstudio::IddObjectType type=openstudio::IddObjectType("Catchall")) const  | 
|   | Returns all of the supply side HVAC equipment within the air loop.  More...
  | 
|   | 
| virtual Node  | supplyInletNode () const  | 
|   | 
| virtual Node  | supplyOutletNode () const  | 
|   | 
| virtual std::vector< Node >  | supplyOutletNodes () const  | 
|   | 
| virtual  | ~Loop () | 
|   | 
| std::vector< IddObjectType >  | allowableChildTypes () const  | 
|   | Returns a vector of allowable children types.  More...
  | 
|   | 
| std::vector< ModelObject >  | children () const  | 
|   | Return direct child objects in the Model.  More...
  | 
|   | 
| virtual  | ~ParentObject () | 
|   | 
| 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...
  | 
|   | 
| 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 (std::string valueName, std::string unitString) 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  | 
|   | 
Loop is the base class for HVAC air and water loops. 
This class provides basic functionality to traverse a loop and locate components. Currently there are two types of loops AirLoopHVAC and PlantLoop. This interface reflects the commonality between the two. Loops in combination with HVACComponents offer a very simple interface to create new systems in EnergyPlus.
The following is an example of building a new HVAC system composed of an AirLoopHVAC with this c++ interface.
Model model = Model();
AirLoopHVAC airLoop = AirLoopHVAC(model);
AirLoopHVACOutdoorAirSystem oaSystem = AirLoopHVACOutdoorAirSystem(model);
FanConstantVolume fan = FanConstantVolume(model);
CoilCoolingDXSingleSpeed  coolCoil = CoilCoolingDXSingleSpeed(model);
CoilHeatingGas heatingCoil = CoilHeatingGas(model);
oaSystem.addToNode( airLoop.supplyOutletNode() );
fan.addToNode( airLoop.supplyOutletNode() );
coolCoil.addToNode( airLoop.supplyOutletNode() );
heatingCoil.addToNode( airLoop.supplyOutletNode() );
airLoop.addBranchForZone("Zone1");The interface also allows you to retrieve a ModelObject and clone it into a new model thereby making a new copy. The clone algorithm is intellegent enough to bring along all of the connected pieces as it is appropriate.
Model newModel();
AirLoopHVAC newAirLoop = model.getModelObject(airLoop.handle())->clone(newModel);
The HVACComponent::addToNode function is intellegent. The add routine is context sensitive so for example adding a WaterToAirComponent to an air node will connect the air side ports, adding it to a plant loop node will connect the water side ports.
Model model = Model();
AirLoopHVAC airLoop = AirLoopHVAC(model);
PlantLoop plantLoop = PlantLoop(model);
CoilCoolingWater waterCoolingCoil = CoilCoolingWater(model);
waterCoolingCoil.addToNode( airLoop.supplyOutletNode() );
waterCoolingCoil.addToSplitter( plantLoop.demandSplitter() );