void VtkCompositeElementSelectionFilter::init() { double thresholdLower(_range.first), thresholdUpper(_range.second); this->_inputDataObjectType = VTK_UNSTRUCTURED_GRID; this->_outputDataObjectType = VTK_UNSTRUCTURED_GRID; this->SetLookUpTable(QString::fromStdString(_selection_name), this->GetLookupTable()); vtkSmartPointer<VtkAppendArrayFilter> selFilter (NULL); if (!_selection.empty()) { selFilter = vtkSmartPointer<VtkAppendArrayFilter>::New(); selFilter->SetInputConnection(_inputAlgorithm->GetOutputPort()); selFilter->SetArray(_selection_name, _selection); selFilter->Update(); } vtkSmartPointer<vtkIdFilter> idFilter = vtkSmartPointer<vtkIdFilter>::New(); if (_selection.empty()) // if the array is empty it is assumed that an existing array should be used idFilter->SetInputConnection(_inputAlgorithm->GetOutputPort()); else idFilter->SetInputConnection(selFilter->GetOutputPort()); idFilter->PointIdsOn(); idFilter->CellIdsOn(); idFilter->FieldDataOn(); idFilter->Update(); vtkThreshold* threshold = vtkThreshold::New(); threshold->SetInputConnection(idFilter->GetOutputPort()); threshold->SetInputArrayToProcess(0,0,0,vtkDataObject::FIELD_ASSOCIATION_CELLS, _selection_name.c_str()); threshold->SetSelectedComponent(0); threshold->ThresholdBetween(thresholdLower, thresholdUpper); threshold->Update(); QList<QVariant> thresholdRangeList; thresholdRangeList.push_back(thresholdLower); thresholdRangeList.push_back(thresholdUpper); (*_algorithmUserVectorProperties)["Threshold Between"] = thresholdRangeList; _outputAlgorithm = threshold; }
QStringList Q3FileDialog::winGetOpenFileNames(const QString &filter, QString* initialDirectory, QWidget *parent, const char* /*name*/, const QString& caption, QString* selectedFilter) { QStringList result; QFileInfo fi; QDir dir; QString isel; if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:")) initialDirectory->remove(0, 5); fi = QFileInfo(*initialDirectory); if (initialDirectory && !fi.isDir()) { *initialDirectory = fi.dirPath(true); isel = fi.fileName(); } if (!fi.exists()) *initialDirectory = QDir::homeDirPath(); QString title = caption; if (title.isNull()) title = tr("Open "); DWORD selFilIdx = 0; int idx = 0; if (selectedFilter && !selectedFilter->isEmpty()) { QStringList filterLst = makeFiltersList(filter); idx = filterLst.findIndex(*selectedFilter); } if (parent) { QEvent e(QEvent::WindowBlocked); QApplication::sendEvent(parent, &e); QApplicationPrivate::enterModal(parent); } OPENFILENAME* ofn = makeOFN(parent, isel, *initialDirectory, title, winFilter(filter), ExistingFiles); if (idx) ofn->nFilterIndex = idx + 1; if (GetOpenFileName(ofn)) { QString fileOrDir = QString::fromWCharArray(ofn->lpstrFile); selFilIdx = ofn->nFilterIndex; int offset = fileOrDir.length() + 1; if (ofn->lpstrFile[offset] == 0) { // Only one file selected; has full path fi.setFile(fileOrDir); QString res = fi.absFilePath(); if (!res.isEmpty()) result.append(res); } else { // Several files selected; first string is path dir.setPath(fileOrDir); QString f; while (!(f = QString::fromWCharArray(ofn->lpstrFile + offset)).isEmpty()) { fi.setFile(dir, f); QString res = fi.absFilePath(); if (!res.isEmpty()) result.append(res); offset += f.length() + 1; } } } cleanUpOFN(&ofn); if (parent) { QApplicationPrivate::leaveModal(parent); QEvent e(QEvent::WindowUnblocked); QApplication::sendEvent(parent, &e); } if (!result.isEmpty()) { *initialDirectory = fi.dirPath(); // only save the path if there is a result if (selectedFilter) *selectedFilter = selFilter(filter, selFilIdx); } return result; }
QString Q3FileDialog::winGetSaveFileName(const QString &initialSelection, const QString &filter, QString* initialDirectory, QWidget *parent, const char* /*name*/, const QString& caption, QString* selectedFilter) { QString result; QString isel = initialSelection; if (initialDirectory && initialDirectory->left(5) == QLatin1String("file:")) initialDirectory->remove(0, 5); QFileInfo fi(*initialDirectory); if (initialDirectory && !fi.isDir()) { *initialDirectory = fi.dirPath(true); if (isel.isEmpty()) isel = fi.fileName(); } if (!fi.exists()) *initialDirectory = QDir::homeDirPath(); QString title = caption; if (title.isNull()) title = tr("Save As"); DWORD selFilIdx = 0; int idx = 0; if (selectedFilter && !selectedFilter->isEmpty()) { QStringList filterLst = makeFiltersList(filter); idx = filterLst.findIndex(*selectedFilter); } if (parent) { QEvent e(QEvent::WindowBlocked); QApplication::sendEvent(parent, &e); QApplicationPrivate::enterModal(parent); } OPENFILENAME* ofn = makeOFN(parent, isel, *initialDirectory, title, winFilter(filter), AnyFile); if (idx) ofn->nFilterIndex = idx + 1; if (GetSaveFileName(ofn)) { result = QString::fromWCharArray(ofn->lpstrFile); selFilIdx = ofn->nFilterIndex; } cleanUpOFN(&ofn); if (parent) { QApplicationPrivate::leaveModal(parent); QEvent e(QEvent::WindowUnblocked); QApplication::sendEvent(parent, &e); } if (result.isEmpty()) { return result; } else { QFileInfo fi(result); *initialDirectory = fi.dirPath(); if (selectedFilter) *selectedFilter = selFilter(filter, selFilIdx); return fi.absFilePath(); } }