本文整理汇总了C++中Workspace::iddFileType方法的典型用法代码示例。如果您正苦于以下问题:C++ Workspace::iddFileType方法的具体用法?C++ Workspace::iddFileType怎么用?C++ Workspace::iddFileType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace
的用法示例。
在下文中一共展示了Workspace::iddFileType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LOG
TEST_F(IdfFixture,ValidityReport_WithCustomIdd)
{
Workspace workspace;
EXPECT_EQ(IddFileType::OpenStudio, workspace.iddFileType().value());
EXPECT_TRUE(workspace.isValid(StrictnessLevel::Draft));
workspace.addObject(IdfObject(IddObjectType::OS_Building));
EXPECT_TRUE(workspace.isValid(StrictnessLevel::Draft));
std::stringstream ss;
workspace.iddFile().print(ss);
boost::optional<IddFile> iddFile = IddFile::load(ss);
ASSERT_TRUE(iddFile);
Workspace workspace2(*iddFile, StrictnessLevel::None);
EXPECT_EQ(IddFileType::UserCustom, workspace2.iddFileType().value());
workspace2.addObjects(workspace.toIdfFile().objects());
EXPECT_EQ(workspace.objects().size(), workspace2.objects().size());
EXPECT_TRUE(workspace2.isValid(StrictnessLevel::Draft));
ValidityReport report = workspace2.validityReport(StrictnessLevel::Draft);
LOG(Debug,"Validity report for workspace2: " << std::endl << report);
}
示例2: translateWorkspace
Model ReverseTranslator::translateWorkspace(const Workspace & workspace, ProgressBar* progressBar )
{
// check input
if (workspace.iddFileType() != IddFileType::EnergyPlus){
LOG(Error, "Cannot translate Workspace with IddFileType = '" << workspace.iddFileType().valueName() << "'");
return Model();
}
m_model = Model();
m_model.setFastNaming(true);
m_workspace = workspace.clone();
m_workspaceToModelMap.clear();
m_untranslatedIdfObjects.clear();
m_logSink.resetStringStream();
// if multiple runperiod objects in idf, remove them all
vector<WorkspaceObject> runPeriods = m_workspace.getObjectsByType(IddObjectType::RunPeriod);
if (runPeriods.size() > 1){
for(auto & runPeriod : runPeriods)
{
runPeriod.remove();
}
}
// first thing to do is convert geometry system
m_logSink.setChannelRegex(boost::regex("openstudio\\.energyplus\\.GeometryTranslator"));
m_progressBar = progressBar;
if (m_progressBar){
m_progressBar->setMinimum(0);
m_progressBar->setMaximum(workspace.numObjects());
}
LOG(Trace,"Calling geometry translator.");
GeometryTranslator geometryTranslator(m_workspace);
geometryTranslator.convert(CoordinateSystem::Relative, CoordinateSystem::Relative);
m_logSink.setChannelRegex(boost::regex("openstudio\\.energyplus\\.ReverseTranslator"));
// look for site object in workspace and translate if found
LOG(Trace,"Translating Site:Location object.");
vector<WorkspaceObject> site = m_workspace.getObjectsByType(IddObjectType::Site_Location);
for(auto & elem : site)
{
translateAndMapWorkspaceObject(elem);
}
// look for simulation control object in workspace and translate if found
LOG(Trace,"Translating SimulationControl object.");
vector<WorkspaceObject> simulationControl = m_workspace.getObjectsByType(IddObjectType::SimulationControl);
for(auto & elem : simulationControl)
{
translateAndMapWorkspaceObject(elem);
}
// loop over all of the air loops
LOG(Trace,"Translating AirLoops.");
vector<WorkspaceObject> airLoops = m_workspace.getObjectsByType(IddObjectType::AirLoopHVAC);
for(auto it = airLoops.begin(),iend=airLoops.end();it!=iend;++it)
{
LOG(Trace,"Translating AirLoop '" << it->name().get() << "'.");
translateAndMapWorkspaceObject( *it );
}
// Now loop over all objects to make sure nothing as missed.
// In the future this might be removed.
LOG(Trace,"Translating remaining objects.");
vector<WorkspaceObject> all = m_workspace.objects();
for(auto & elem : all)
{
translateAndMapWorkspaceObject( elem );
}
LOG(Trace,"Translation nominally complete.");
m_model.setFastNaming(false);
return m_model;
}