// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void TestFilter::writeFilterParameters(AbstractFilterParametersWriter* writer) { /* Place code that will write the inputs values into a file. reference the AbstractFilterParametersWriter class for the proper API to use. */ writer->writeValue("StlFilePrefix", getStlFilePrefix() ); writer->writeValue("MaxIterations", getMaxIterations() ); writer->writeValue("MisorientationTolerance", getMisorientationTolerance() ); writer->writeValue("InputFile", getInputFile() ); writer->writeValue("InputPath", getInputPath() ); writer->writeValue("OutputFile", getOutputFile() ); writer->writeValue("OutputPath", getOutputPath() ); writer->writeValue("WriteAlignmentShifts", getWriteAlignmentShifts() ); writer->writeValue("ConversionType", getConversionType() ); writer->writeValue("SelectedCellArrayName", getSelectedCellArrayName() ); writer->writeValue("SelectedFieldArrayName", getSelectedFieldArrayName() ); writer->writeValue("SelectedEnsembleArrayName", getSelectedEnsembleArrayName() ); writer->writeValue("SurfaceMeshPointArrayName", getSurfaceMeshPointArrayName() ); writer->writeValue("SurfaceMeshFaceArrayName", getSurfaceMeshFaceArrayName() ); writer->writeValue("SurfaceMeshEdgeArrayName", getSurfaceMeshEdgeArrayName() ); writer->writeValue("SolidMeshPointArrayName", getSolidMeshPointArrayName() ); writer->writeValue("SolidMeshFaceArrayName", getSolidMeshFaceArrayName() ); writer->writeValue("SolidMeshEdgeArrayName", getSolidMeshEdgeArrayName() ); writer->writeValue("Dimensions", getDimensions() ); writer->writeValue("Origin", getOrigin() ); writer->writeValue("CellComparisonInputs", m_CellComparisonInputs); writer->writeValue("AxisAngleRotations", m_AxisAngleRotations); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- void GenericExample::readFilterParameters(AbstractFilterParametersReader* reader, int index) { /* FILTER_WIDGETCODEGEN_AUTO_GENERATED_CODE BEGIN*/ reader->openFilterGroup(this, index); setStlFilePrefix( reader->readValue("StlFilePrefix", getStlFilePrefix()) ); setMaxIterations( reader->readValue("MaxIterations", getMaxIterations()) ); setMisorientationTolerance( reader->readValue("MisorientationTolerance", getMisorientationTolerance()) ); setInputFile( reader->readValue("InputFile", getInputFile()) ); setInputPath( reader->readValue("InputPath", getInputPath()) ); setOutputFile( reader->readValue("OutputFile", getOutputFile()) ); setOutputPath( reader->readValue("OutputPath", getOutputPath()) ); setWriteAlignmentShifts( reader->readValue("WriteAlignmentShifts", getWriteAlignmentShifts()) ); setConversionType( reader->readValue("ConversionType", getConversionType()) ); setDimensions( reader->readValue("Dimensions", getDimensions()) ); setOrigin( reader->readValue("Origin", getOrigin()) ); setCrystalSymmetryRotations( reader->readValue("CrystalSymmetryRotations", getCrystalSymmetryRotations()) ); setSelectedVoxelCellArrayName( reader->readValue("SelectedVoxelCellArrayName", getSelectedVoxelCellArrayName()) ); setSelectedVoxelFieldArrayName( reader->readValue("SelectedVoxelFieldArrayName", getSelectedVoxelFieldArrayName()) ); setSelectedVoxelEnsembleArrayName( reader->readValue("SelectedVoxelEnsembleArrayName", getSelectedVoxelEnsembleArrayName()) ); setSelectedSurfaceMeshPointArrayName( reader->readValue("SelectedSurfaceMeshPointArrayName", getSelectedSurfaceMeshPointArrayName()) ); setSelectedSurfaceMeshFaceArrayName( reader->readValue("SelectedSurfaceMeshFaceArrayName", getSelectedSurfaceMeshFaceArrayName()) ); setSelectedSurfaceMeshEdgeArrayName( reader->readValue("SelectedSurfaceMeshEdgeArrayName", getSelectedSurfaceMeshEdgeArrayName()) ); setSelectedSolidMeshPointArrayName( reader->readValue("SelectedSolidMeshPointArrayName", getSelectedSolidMeshPointArrayName()) ); setSelectedSolidMeshFaceArrayName( reader->readValue("SelectedSolidMeshFaceArrayName", getSelectedSolidMeshFaceArrayName()) ); setSelectedSolidMeshEdgeArrayName( reader->readValue("SelectedSolidMeshEdgeArrayName", getSelectedSolidMeshEdgeArrayName()) ); setStrVector( reader->readValue("StrVector", getStrVector() ) ); reader->closeFilterGroup(); }
// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- int GenericExample::writeFilterParameters(AbstractFilterParametersWriter* writer, int index) { writer->openFilterGroup(this, index); /* Place code that will write the inputs values into a file. reference the AbstractFilterParametersWriter class for the proper API to use. */ writer->writeValue("StlFilePrefix", getStlFilePrefix()); writer->writeValue("MaxIterations", getMaxIterations()); writer->writeValue("MisorientationTolerance", getMisorientationTolerance()); writer->writeValue("InputFile", getInputFile()); writer->writeValue("InputPath", getInputPath()); writer->writeValue("OutputFile", getOutputFile()); writer->writeValue("OutputPath", getOutputPath()); writer->writeValue("WriteAlignmentShifts", getWriteAlignmentShifts()); writer->writeValue("ConversionType", getConversionType()); writer->writeValue("Dimensions", getDimensions()); writer->writeValue("Origin", getOrigin()); writer->writeValue("CrystalSymmetryRotations", getCrystalSymmetryRotations()); writer->writeValue("SelectedVoxelCellArrayName", getSelectedVoxelCellArrayName()); writer->writeValue("SelectedVoxelFieldArrayName", getSelectedVoxelFieldArrayName()); writer->writeValue("SelectedVoxelEnsembleArrayName", getSelectedVoxelEnsembleArrayName()); writer->writeValue("SelectedSurfaceMeshPointArrayName", getSelectedSurfaceMeshPointArrayName()); writer->writeValue("SelectedSurfaceMeshFaceArrayName", getSelectedSurfaceMeshFaceArrayName()); writer->writeValue("SelectedSurfaceMeshEdgeArrayName", getSelectedSurfaceMeshEdgeArrayName()); writer->writeValue("SelectedSolidMeshPointArrayName", getSelectedSolidMeshPointArrayName()); writer->writeValue("SelectedSolidMeshFaceArrayName", getSelectedSolidMeshFaceArrayName()); writer->writeValue("SelectedSolidMeshEdgeArrayName", getSelectedSolidMeshEdgeArrayName()); writer->writeValue("StrVector", getStrVector()); writer->closeFilterGroup(); return ++index; }
virtual int execute(const string &command, ParameterList ¶ms, unsigned int phase) { if (command == "-i" || command == "--input") { if (params.size()==0) { cerr << "Warning: " << command << " needs a file path to follow. Ignoring." << endl; return 0; } else { getInputPath() = params[0]; params.erase(params.begin()); return 0; } } else if (command == "-o" || command == "--output") { if (params.size()==0) { cerr << "Warning: " << command << " needs a file path to follow. Ignoring." << endl; return 0; } else { getOutputPath() = params[0]; params.erase(params.begin()); return 0; } } else if (command == "-c" || command == "--convert") { if (params.size() < 3) { cerr << "Fatal: " << command << " needs three arguments:\n" << "\tmesher <...> " << command << " {XMesh|BFXM|Wavefront} (XMesh|BFXM|Wafefront|Ogre) (create|append|optimize)\n" << "\n" << "Do \"mesher --help convert\" for details" << endl; return 1; } else { if (phase == 0) { // Do nothing in phase 0. return 0; } else if (phase == 1) { ConversionImplList& registry = getRegistry(); ConversionImpl::RetCodeEnum rc = ConversionImpl::RC_NOT_IMPLEMENTED; for (ConversionImplList::iterator cit=registry.begin(); (rc == ConversionImpl::RC_NOT_IMPLEMENTED)&&(cit!=registry.end()); ++cit) { rc = cit->second->convert(params[0],params[1],params[2]); } if (rc == ConversionImpl::RC_NOT_IMPLEMENTED) { cerr << "Error: " << params[2] << " from " << params[0] << " to " << params[1] << " unimplemneted" << endl; return ConversionImpl::RC_NOT_IMPLEMENTED; } else if (rc == ConversionImpl::RC_OK) { params.erase(params.begin(),params.begin()+3); return ConversionImpl::RC_OK; } else { cerr << "Error: "; switch (rc) { case ConversionImpl::RC_INVALID_PARAMS: cerr << "Invalid parameters specified for " << command; break; case ConversionImpl::RC_INVALID_INPUT: cerr << "Invalid input"; break; case ConversionImpl::RC_INTERNAL_ERROR: cerr << "Internal error"; break; default: cerr << "(see above messages)"; break; } cerr << endl; return rc; } } else { cerr << "Warning: ConvertHandler::execute(): received an unexpected phase. Ignoring." << endl; return 0; } } } else if (command.length()>2 && command[0]=='-' && command[1]!='-') { string::size_type eq = command.rfind('='); string::size_type nn = ((eq==string::npos)?string::npos:eq-1); string option = command.substr(1,nn); if (mOptions.count(option)) { string value = ((eq!=string::npos)?command.substr(eq+1):string("1")); AliasList::const_iterator ait = mAliases.find(option); if (ait != mAliases.end()) option = ait->second; getNamedOption(option) = value; return 0; } else { cerr << "Fatal: Internal error - ConvertHandler::execute() received an unrecognized option" << endl; return 1; } } else { cerr << "Fatal: Internal error - ConvertHandler::execute() received an unrecognized command" << endl; return 1; } }