コード例 #1
0
ファイル: HVACComponent.cpp プロジェクト: jtanaa/OpenStudio
 bool HVACComponent_Impl::isRemovable() const
 {
   if( containingHVACComponent() )
   {
     return false;
   }
   else if( containingZoneHVACComponent() )
   {
     return false;
   }
   else if( containingStraightComponent() )
   {
     return false;
   }    
   else
   {
     return true;
   }
 }
コード例 #2
0
  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;
  }
コード例 #3
0
  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;
  }