本文整理汇总了C++中model::ThermalZone::equipment方法的典型用法代码示例。如果您正苦于以下问题:C++ ThermalZone::equipment方法的具体用法?C++ ThermalZone::equipment怎么用?C++ ThermalZone::equipment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类model::ThermalZone
的用法示例。
在下文中一共展示了ThermalZone::equipment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addComponentToZone
void ThermalZonesController::addComponentToZone(model::ThermalZone & zone, Handle & h)
{
boost::optional<model::ZoneHVACComponent> libraryComp;
model::Model library = OSAppBase::instance()->currentDocument()->componentLibrary();
libraryComp = library.getModelObject<model::ZoneHVACComponent>(h);
if( libraryComp )
{
std::vector<model::ModelObject> existingComps;
existingComps = zone.equipment();
std::vector<model::ZoneHVACComponent> exisitngHVACComps;
for( auto it = existingComps.begin();
it < existingComps.end();
++it )
{
if( boost::optional<model::ZoneHVACComponent> hvacComp = it->optionalCast<model::ZoneHVACComponent>() )
{
exisitngHVACComps.push_back(hvacComp.get());
}
}
if( exisitngHVACComps.size() > 0 )
{
QMessageBox message(subTabView());
message.setText("Sorry, only one piece of zone equipment is allowed at this time.");
message.exec();
return;
}
}
bool wasSuccessful = false;
if( libraryComp )
{
model::ZoneHVACComponent compClone = libraryComp->clone(model()).cast<model::ZoneHVACComponent>();
bool added = compClone.addToThermalZone(zone);
if( added )
{
wasSuccessful = true;
}
else
{
compClone.remove();
}
}
if( ! wasSuccessful )
{
QMessageBox message(subTabView());
message.setText("The selected component is not allowed at this location.");
message.exec();
}
}