bool HVACComponent_Impl::isRemovable() const { if( containingHVACComponent() ) { return false; } else if( containingZoneHVACComponent() ) { return false; } else if( containingStraightComponent() ) { return false; } else { return true; } }
bool CoilHeatingWater_Impl::addToNode(Node & node) { bool success = WaterToAirComponent_Impl::addToNode( node ); if( success && (! containingHVACComponent()) && (! containingZoneHVACComponent()) ) { if( boost::optional<ModelObject> _waterInletModelObject = waterInletModelObject() ) { if( auto oldController = controllerWaterCoil() ) { oldController->remove(); } Model _model = model(); ControllerWaterCoil controller(_model); controller.getImpl<detail::ControllerWaterCoil_Impl>()->setWaterCoil(getObject<HVACComponent>()); controller.setAction("Normal"); } } return success; }
bool CoilCoolingWater_Impl::addToNode(Node & node) { bool success; success = WaterToAirComponent_Impl::addToNode( node ); if( success && (! containingHVACComponent()) && (! containingZoneHVACComponent()) ) { if( boost::optional<ModelObject> _waterInletModelObject = waterInletModelObject() ) { Model _model = model(); boost::optional<ControllerWaterCoil> oldController; oldController = controllerWaterCoil(); if( oldController ) { oldController->remove(); } ControllerWaterCoil controller(_model); boost::optional<Node> coilWaterInletNode = _waterInletModelObject->optionalCast<Node>(); OS_ASSERT(coilWaterInletNode); controller.setActuatorNode(coilWaterInletNode.get()); if( boost::optional<ModelObject> mo = airOutletModelObject() ) { if( boost::optional<Node> coilAirOutletNode = mo->optionalCast<Node>() ) { controller.setSensorNode(coilAirOutletNode.get()); } } controller.setAction("Reverse"); } } return success; }