/** * * @param FileName * @param data * @param nx X Dimension * @param ny Y Dimension * @param nz Z Dimension */ int ReadPHFile(QString FileName, QVector<int>& data, int& nx, int& ny, int& nz) { DataContainerArray::Pointer dca = DataContainerArray::New(); DataContainer::Pointer m = DataContainer::New(); /* FIXME: What Geometry do we need? */ dca->pushBack(m); FilterManager::Pointer fm = FilterManager::Instance(); AbstractFilter::Pointer reader = fm->getFactoryForFilter("PhReader")->create(); reader->setDataContainerArray(dca); bool propWasSet = reader->setProperty("InputFile", FileName); if(propWasSet == false) { } reader->execute(); if (reader->getErrorCondition() < 0) { qDebug() << "Error Reading the Ph File '" << FileName << "' Error Code:" << reader->getErrorCondition(); return -1; } Int32ArrayType* featureIds = Int32ArrayType::SafePointerDownCast(m->getAttributeMatrix(DREAM3D::Defaults::CellAttributeMatrixName)->getAttributeArray(DREAM3D::CellData::FeatureIds).get()); size_t count = featureIds->getNumberOfTuples(); data.resize(count); for(size_t i = 0; i < count; ++i) { data[i] = featureIds->getValue(i); } return 0; }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void PipelineViewEntry::instantiateFilter(const QString& filterClassName) { FilterManager::Pointer fm = FilterManager::Instance(); if(NULL == fm.get() ) { return; } IFilterFactory::Pointer ff = fm->getFactoryForFilter(filterClassName); if (NULL == ff.get()) { return; } // Create an instance of the filter. Since we are dealing with the AbstractFilter interface we can not // actually use the actual filter class. We are going to have to rely on QProperties or Signals/Slots // to communicate changes back to the filter. m_Filter = ff->create(); }