std::vector<OSItemId> UtilityBillFuelTypeListController::makeVector() { std::vector<OSItemId> result; // get objects by type std::vector<WorkspaceObject> workspaceObjects = m_model.getObjectsByType(m_iddObjectType); // sort by name std::sort(workspaceObjects.begin(), workspaceObjects.end(), WorkspaceObjectNameGreater()); BOOST_FOREACH(WorkspaceObject workspaceObject,workspaceObjects){ if (!workspaceObject.handle().isNull()){ openstudio::model::ModelObject modelObject = workspaceObject.cast<openstudio::model::ModelObject>(); if(boost::optional<model::UtilityBill> utilityBill = modelObject.optionalCast<model::UtilityBill>()){ if(utilityBill.get().fuelType() == m_fuelType){ result.push_back(modelObjectToItemId(modelObject, false)); // becasue there is no more than 1 utility bill per fuel type... // TODO break; } } } } return result; }
std::vector<OSItemId> ModelObjectListController::makeVector() { std::vector<OSItemId> result; if( m_showLocalBCL ) { std::vector<std::pair<std::string, std::string> > pairs; pairs.push_back(std::make_pair<std::string,std::string>("OpenStudio Type",m_iddObjectType.valueDescription())); // get BCL results std::vector<BCLComponent> bclresults = LocalBCL::instance().componentAttributeSearch(pairs); // sort by name std::sort(bclresults.begin(), bclresults.end(), BCLComponentNameGreater()); for( auto it = bclresults.begin(); it != bclresults.end(); ++it ) { result.push_back(bclComponentToItemId(*it)); } } // get objects by type std::vector<WorkspaceObject> workspaceObjects = m_model.getObjectsByType(m_iddObjectType); // sort by name std::sort(workspaceObjects.begin(), workspaceObjects.end(), WorkspaceObjectNameGreater()); for (WorkspaceObject workspaceObject : workspaceObjects){ if (!workspaceObject.handle().isNull()){ openstudio::model::ModelObject modelObject = workspaceObject.cast<openstudio::model::ModelObject>(); if(boost::optional<model::HVACComponent> hvacComponent = modelObject.optionalCast<model::HVACComponent>()) { if( (! hvacComponent->containingHVACComponent()) && (! hvacComponent->containingZoneHVACComponent()) ) { result.push_back(modelObjectToItemId(hvacComponent.get(), false)); } } else { result.push_back(modelObjectToItemId(modelObject, false)); } } } return result; }