コード例 #1
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPElectricCharge() {
  return IPUnit(IPExpnt(0,0,1,0,1),0,"C");
}
コード例 #2
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPEnergy() {
  return IPUnit(IPExpnt(0,1,0,0,0,0,0,1)); // ft*lb_f
}
コード例 #3
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPPower() {
  return IPUnit(IPExpnt(0,1,-1,0,0,0,0,1)); // ft*lb_f/s
}
コード例 #4
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPCurrency() {
  return IPUnit(IPExpnt(0,0,0,0,0,0,0,0,0,0,0,0,1));
}
コード例 #5
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPForce() {
  return IPUnit(IPExpnt(0,0,0,0,0,0,0,1)); // lb_f
}
コード例 #6
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPFrequency() {
  return IPUnit(IPExpnt(0,0,-1,0,0,0,0,0,0,0,0,1),0,"Hz");
}
コード例 #7
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPMass() {
  return IPUnit(IPExpnt(1));
}
コード例 #8
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPAmountOfSubstance() {
  return IPUnit(IPExpnt(0,0,0,0,0,0,1));
}
コード例 #9
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPSolidAngle() {
  return IPUnit(IPExpnt(0,0,0,0,0,0,0,0,0,1));
}
コード例 #10
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPElectricCurrent() {
  return IPUnit(IPExpnt(0,0,0,0,1));
}
コード例 #11
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPLuminousIntensity() {
  return IPUnit(IPExpnt(0,0,0,0,0,1));
}
コード例 #12
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPTemperature() {
  return IPUnit(IPExpnt(0,0,0,1));
}
コード例 #13
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPTime() {
  return IPUnit(IPExpnt(0,0,1));
}
コード例 #14
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPLength() {
  return IPUnit(IPExpnt(0,1));
}
コード例 #15
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPLuminousFlux() {
  return IPUnit(IPExpnt(0,0,0,0,0,1,0,0,0,1),0,"lm");
}
コード例 #16
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPPeople() {
  return IPUnit(IPExpnt(0,0,0,0,0,0,0,0,0,0,1));
}
コード例 #17
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPIlluminance() {
  return IPUnit(IPExpnt(0,-2,0,0,0,1,0,0,0,1),0,"fc");
}
コード例 #18
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
IPUnit createIPCycle() {
  return IPUnit(IPExpnt(0,0,0,0,0,0,0,0,0,0,0,1));
}
コード例 #19
0
ファイル: IPUnit.cpp プロジェクト: pepsi7959/OpenStudio
 Unit IPUnit_Impl::clone() const {
   OS_ASSERT(system() == UnitSystem::IP);
   std::shared_ptr<IPUnit_Impl> impl(new IPUnit_Impl(*this));
   return IPUnit(impl).cast<Unit>();
 }
コード例 #20
0
boost::optional<Unit> ScheduleTypeLimits::units(std::string unitType, bool returnIP) {
  boost::to_lower(unitType);
  OptionalUnit result;

  if (unitType.empty() ||
      (unitType == "dimensionless") ||
      (unitType == "availability") ||
      (unitType == "controlmode"))
  {
    if (returnIP) {
      result = IPUnit();
    }
    else {
      result = SIUnit();
    }
    return result;
  }

  char firstLetter = unitType[0];
  switch (firstLetter) {
  case 'a' :
    {
      if (unitType == "activitylevel") {
        result = (createSIPower() / createSIPeople());
      }
      else if (unitType == "angle") {
        result = createIPAngle();
      }
      break;
    }
  case 'c' :
    {
      if (unitType == "capacity") {
        if (returnIP) {
          result = BTUUnit(BTUExpnt(1,0,-1));
        }
        else {
          result = createSIPower();
        }
      }
      else if (unitType == "clothinginsulation") {
        result = Unit();
        result->setBaseUnitExponent("clo",1);
      }
      else if (unitType == "convectioncoefficient") {
        if (returnIP) {
          result = BTUUnit(BTUExpnt(1,-2,-1,-1));
        }
        else {
          result = createSIThermalConductance();
        }
      }
      break;
    }
  case 'd' :
    {
      if (unitType == "deltatemperature") {
        if (returnIP) {
          result = createFahrenheitTemperature();
          result->cast<TemperatureUnit>().setAsRelative();
        }
        else {
          result = createCelsiusTemperature();
          result->cast<TemperatureUnit>().setAsRelative();
        }
      }
      break;
    }
  case 'l' :
    {
      if (unitType == "linearpowerdensity") {
        if (returnIP) {
          result = (createIPPower() / createIPLength());
        }
        else {
          result = (createSIPower() / createSILength());
        }
      }
      break;
    }
  case 'm' :
    {
      if (unitType == "massflowrate") {
        if (returnIP) {
          result = IPUnit(IPExpnt(1,0,-1));
        }
        else {
          result = SIUnit(SIExpnt(1,0,-1));
        }
      }
      break;
    }
  case 'p' :
    {
      if (unitType == "percent") {
        result = Unit();
        result->setBaseUnitExponent("%",1);
      }
      else if (unitType == "power") {
        result = createSIPower();
      }
      else if (unitType == "precipitationrate") {
        if (returnIP) {
          result = BTUUnit(BTUExpnt(0,1,-1));
        }
        else {
          result = WhUnit(WhExpnt(0,-1,1));
        }
      }
      else if (unitType == "pressure") {
        if (returnIP) {
          result = createIPPressure();
        }
        else {
          result = createSIPressure();
        }
      }
      break;
    }
  case 'r' :
    {
      if (unitType == "rotationsperminute") {
        result = createCFMFrequency();
      }
      break;
    }
  case 's' :
    {
      if (unitType == "solarenergy") {
        result = WhUnit(WhExpnt(1,1,-2));
      }
      break;
    }
  case 't' :
    {
      if (unitType == "temperature") {
        if (returnIP) {
          result = createFahrenheitTemperature();
        }
        else {
          result = createCelsiusTemperature();
        }
      }
      break;
    }
  case 'v' :
    {
      if (unitType == "velocity") {
        if (returnIP) {
          result = CFMUnit(CFMExpnt(1,-1));
        }
        else {
          result = SIUnit(SIExpnt(0,1,-1));
        }
      }
      if (unitType == "volumetricflowrate") {
        if (returnIP) {
          result = IPUnit(IPExpnt(0,3,-1));
        }
        else {
          result = SIUnit(SIExpnt(0,3,-1));
        }
      }
      break;
    }
  }

  return result;
}