本文整理汇总了C++中WorkspaceObject::isEmpty方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkspaceObject::isEmpty方法的具体用法?C++ WorkspaceObject::isEmpty怎么用?C++ WorkspaceObject::isEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorkspaceObject
的用法示例。
在下文中一共展示了WorkspaceObject::isEmpty方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST_F(EnergyPlusFixture,ForwardTranslator_Building2)
{
Model model;
Building building = model.getUniqueModelObject<Building>();
building.setName("Building");
Site site = model.getUniqueModelObject<Site>();
SimulationControl simulationControl = model.getUniqueModelObject<SimulationControl>();
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Building).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Site_Location).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::SimulationControl).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::Building)[0];
ASSERT_TRUE(object.getString(BuildingFields::Name));
EXPECT_EQ("Building", object.getString(BuildingFields::Name).get());
EXPECT_TRUE(object.isEmpty(BuildingFields::NorthAxis));
EXPECT_TRUE(object.isEmpty(BuildingFields::Terrain));
EXPECT_TRUE(object.isEmpty(BuildingFields::LoadsConvergenceToleranceValue));
EXPECT_TRUE(object.isEmpty(BuildingFields::TemperatureConvergenceToleranceValue));
EXPECT_TRUE(object.isEmpty(BuildingFields::SolarDistribution));
EXPECT_TRUE(object.isEmpty(BuildingFields::MaximumNumberofWarmupDays));
}
示例2: infiltration
TEST_F(EnergyPlusFixture,ForwardTranslator_SpaceInfiltrationEffectiveLeakageArea_NoSpace)
{
Model model;
SpaceInfiltrationEffectiveLeakageArea infiltration(model);
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(0u, forwardTranslator.warnings().size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::ZoneInfiltration_EffectiveLeakageArea).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ZoneInfiltration_EffectiveLeakageArea)[0];
EXPECT_TRUE(object.isEmpty(ZoneInfiltration_EffectiveLeakageAreaFields::ZoneName));
}
示例3: object
TEST_F(ModelFixture, Construction_AddObjects) {
IdfFile idfFile; // OpenStudio Idd is default
// Can still use name references directly in IdfObjects. Will get turned into pointer/by handle
// references on import into Workspace.
IdfObject object(IddObjectType::OS_Construction);
object.setName("Exterior Wall");
unsigned index = OS_ConstructionFields::SurfaceRenderingName + 1;
object.setString(index,"M01 100mm brick"); ++index;
object.setString(index,"M15 200mm heavyweight concrete"); ++index;
object.setString(index,"I02 50mm insulation board"); ++index;
object.setString(index,"F04 Wall air space resistance"); ++index;
object.setString(index,"G01a 19mm gypsum board"); ++index;
idfFile.addObject(object);
object = IdfObject(IddObjectType::OS_Material);
object.setName("M01 100mm brick");
object.setString(OS_MaterialFields::Roughness,"MediumRough");
object.setDouble(OS_MaterialFields::Thickness,0.1016);
object.setDouble(OS_MaterialFields::Conductivity,0.89);
object.setDouble(OS_MaterialFields::Density,1920.0);
object.setDouble(OS_MaterialFields::SpecificHeat,790.0);
idfFile.addObject(object);
object = IdfObject(IddObjectType::OS_Material);
object.setName("M15 200mm heavyweight concrete");
object.setString(OS_MaterialFields::Roughness,"MediumRough");
object.setDouble(OS_MaterialFields::Thickness,0.2032);
object.setDouble(OS_MaterialFields::Conductivity,1.95);
object.setDouble(OS_MaterialFields::Density,2240.0);
object.setDouble(OS_MaterialFields::SpecificHeat,900.0);
idfFile.addObject(object);
object = IdfObject(IddObjectType::OS_Material);
object.setName("I02 50mm insulation board");
object.setString(OS_MaterialFields::Roughness,"MediumRough");
object.setDouble(OS_MaterialFields::Thickness,0.0508);
object.setDouble(OS_MaterialFields::Conductivity,0.03);
object.setDouble(OS_MaterialFields::Density,43.0);
object.setDouble(OS_MaterialFields::SpecificHeat,1210.0);
idfFile.addObject(object);
object = IdfObject(IddObjectType::OS_Material_AirGap);
object.setName("F04 Wall air space resistance");
object.setDouble(OS_Material_AirGapFields::ThermalResistance,0.15);
idfFile.addObject(object);
object = IdfObject(IddObjectType::OS_Material);
object.setName("G01a 19mm gypsum board");
object.setString(OS_MaterialFields::Roughness,"MediumSmooth");
object.setDouble(OS_MaterialFields::Thickness,0.019);
object.setDouble(OS_MaterialFields::Conductivity,0.16);
object.setDouble(OS_MaterialFields::Density,800.0);
object.setDouble(OS_MaterialFields::SpecificHeat,1090.0);
idfFile.addObject(object);
// first add to a workspace
Workspace workspace(StrictnessLevel::Draft, IddFileType::OpenStudio);
workspace.addObjects(idfFile.objects());
EXPECT_EQ(workspace.numObjects(), idfFile.numObjects());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::OS_Construction).size());
WorkspaceObject workspaceObject = workspace.getObjectsByType(IddObjectType::OS_Construction)[0];
ASSERT_EQ(8u, workspaceObject.numFields());
for (int i = 3; i < 8; ++i){
EXPECT_FALSE(workspaceObject.isEmpty(i)) << "Index " << i << " is empty for:" << std::endl << workspaceObject;
}
// now add to a model
Model model;
model.addObjects(idfFile.objects());
EXPECT_EQ(model.numObjects(), idfFile.numObjects());
ASSERT_EQ(1u, model.getModelObjects<Construction>().size());
Construction construction = model.getModelObjects<Construction>()[0];
ASSERT_EQ(8u, construction.numFields());
for (int i = 3; i < 8; ++i){
EXPECT_FALSE(construction.isEmpty(i)) << "Index " << i << " is empty for:" << std::endl << construction;
}
ASSERT_EQ(5u, construction.layers().size());
std::vector<Material> layers = construction.layers();
for (int i = 0; i < 5; ++i){
EXPECT_TRUE(layers[i].name()) << "Layer " << i << " has no name:" << std::endl << layers[i];
}
}