int Functionality::searchVectorForTitle(vector<EventStorage> searchVector, string userInput, vector<EventStorage> &tempVector) { unsigned i; int searchCount=0; istringstream wordExtract(userInput); int wordCount=0; string tempString; while(wordExtract >> tempString) wordCount++; string searchData; string tempTitle; int tempCount; for(i=0;i<searchVector.size();i++) { tempTitle=searchVector[i].getTitle(); while(tempTitle.size()!=0) { tempCount=0; searchData="\0"; istringstream titleExtract(tempTitle); while(titleExtract >> tempString && tempCount<wordCount) { tempCount++; searchData+=tempString; searchData+=" "; } searchData = searchData.substr(0, searchData.size()-1); for(unsigned iterator = 0; iterator < searchData.size(); iterator++) searchData[iterator] = tolower(searchData[iterator]); if(searchData==userInput) { searchCount++; tempVector.push_back(searchVector[i]); break; } istringstream getFirstWord(tempTitle); getFirstWord>>searchData; istringstream countTitle(tempTitle); tempCount=0; while(countTitle>>tempString) tempCount++; if(tempCount==1) tempTitle="\0"; else tempTitle=tempTitle.substr(searchData.size()+1, tempTitle.size()-(searchData.size()+1)); } } if(searchCount>0) return 1; else return 0; }
Foam::wordHashSet Foam::vtkPV3Foam::getSelected ( vtkDataArraySelection* select ) { int nElem = select->GetNumberOfArrays(); wordHashSet selections(2*nElem); for (int elemI=0; elemI < nElem; ++elemI) { if (select->GetArraySetting(elemI)) { selections.insert(getFirstWord(select->GetArrayName(elemI))); } } return selections; }
Foam::wordHashSet Foam::vtkPV3Foam::getSelected ( vtkDataArraySelection* select, const partInfo& selector ) { int nElem = select->GetNumberOfArrays(); wordHashSet selections(2*nElem); for (int elemI = selector.start(); elemI < selector.end(); ++elemI) { if (select->GetArraySetting(elemI)) { selections.insert(getFirstWord(select->GetArrayName(elemI))); } } return selections; }
Foam::wordHashSet Foam::vtkPVblockMesh::getSelected ( vtkDataArraySelection* select, const arrayRange& range ) { int nElem = select->GetNumberOfArrays(); wordHashSet selections(2*nElem); for (int elemI = range.start(); elemI < range.end(); ++elemI) { if (select->GetArraySetting(elemI)) { selections.insert(getFirstWord(select->GetArrayName(elemI))); } } return selections; }
int main(){ char * data = "TagOne: one1\r\nTagTwo: two2\r\nTagThree: three3\r\n\r\n"; char * tag = "TagTwo"; printf( "data:\n%s\ntag: %s\n", data, tag ); char * value = getTagValue( data, tag ); printf( "value: %s\n", value ); free( value ); char * firstWord = getFirstWord( data ); printf( "firstWord: %s\n", firstWord ); free( firstWord ); return EXIT_SUCCESS; }
Foam::word Foam::vtkPV3Foam::getPartName(int partId) { return getFirstWord(reader_->GetPartArrayName(partId)); }
int execwrapper(char *cmd){ // printf("\nIN EXECWRAPPER\n"); // sleep(1); char parameterX[BUFFER]; char progName[PROGRUNBUFFER]; char progPath[PROGRUNBUFFER];// useless ... may take a default path parameter // in future char progPathName[2*PROGRUNBUFFER]; progPath[0] = '\0'; progName[0] = '\0'; parameterX[0] = '\0'; getFirstWord(cmd,progName,parameterX); char *arglist[MAXNUMOFARGUMENTS+1]; char *pathList[MAXPATHCOUNT]; for(int i=0;i<MAXPATHCOUNT;i++){ pathList[i]=(char *)malloc(sizeof(char)*MAXPATHSIZE); } for(int i=0;i<MAXNUMOFARGUMENTS+1;i++){ arglist[i] = (char *)malloc(sizeof(char)*MAXARGSIZE); } int argCount = countChar(parameterX,' ')+1; if(argCount>MAXNUMOFARGUMENTS){ // printf("\nERROR : can not have more than %d arguments\n",MAXNUMOFARGUMENTS); return -1; } lineToWords(parameterX,arglist+1,&argCount,' '); copyString(arglist[0],progName); argCount++; free(arglist[argCount]); arglist[argCount]=NULL; sprintf(progPathName,"%s%s",progPath,progName); // printf("\nPROGPATHNAME = {%s}",progName); // printf("\nparameterX = {%s}",parameterX); // printf("\nPROGPATHNAME = {%s}",progPathName); int success=0; // assuming prog is in current directory success = execv(progPathName,arglist); if(success==-1){ // if the previous execv is failed // then try execv for different path combinations // printf("\nEXEC UNSUCCESSFULL !!\n"); // sleep(1); char* pPath; pPath = getenv ("PATH"); int pathCount; pathCount = countChar(pPath,':')+1; lineToWords(pPath,pathList,&pathCount,':'); for(int i=0;i<pathCount;i++){ sprintf(progPathName,"%s/%s",pathList[i],progName); success = execv(progPathName,arglist); } if(success == -1){ // printf("\nERROR : INVALID COMMAND--{%s}\n",progName); } } for(int i=0;i<argCount;i++){ free(arglist[i]); } for(int i=argCount+1;i<MAXNUMOFARGUMENTS+1;i++){ free(arglist[i]); } for(int i=0;i<MAXPATHCOUNT;i++){ free(pathList[i]); } return success; }
void Foam::vtkPV3Foam::convertMeshPointSets ( vtkMultiBlockDataSet* output ) { if (debug) { Info<< "<beg> Foam::vtkPV3Foam::convertMeshPointSets" << endl; printMemory(); } const selectionInfo& selector = selectInfoPointSets_; vtkDataArraySelection* arraySelection = reader_->GetRegionSelection(); // Create the point sets and add as dataset if (selector.size()) { const fvMesh& mesh = *meshPtr_; for ( int regionId = selector.start(); regionId < selector.end(); ++regionId ) { if (!selectedRegions_[regionId]) { continue; } word selectName = getFirstWord ( arraySelection->GetArrayName(regionId) ); if (debug) { Info<< "Creating VTK mesh for pointSet: " << selectName << " region index: " << regionId << endl; } const pointSet pSet(mesh, selectName); const label datasetId = GetNumberOfDataSets(output, selector); vtkPolyData* vtkmesh = vtkPolyData::New(); addPointSetMesh ( mesh, pSet, vtkmesh ); AddToBlock ( output, selector, datasetId, vtkmesh, selectName + ":pointSet" ); selectedRegionDatasetIds_[regionId] = datasetId; vtkmesh->Delete(); } } if (debug) { Info<< "<end> Foam::vtkPV3Foam::convertMeshPointSets" << endl; printMemory(); } }
void Foam::vtkPV3Foam::convertMeshCellSets ( vtkMultiBlockDataSet* output ) { if (debug) { Info<< "<beg> Foam::vtkPV3Foam::convertMeshCellSets" << endl; printMemory(); } const selectionInfo& selector = selectInfoCellSets_; vtkDataArraySelection* arraySelection = reader_->GetRegionSelection(); // Create the cell sets and add as dataset if (selector.size()) { const fvMesh& mesh = *meshPtr_; for ( int regionId = selector.start(); regionId < selector.end(); ++regionId) { if (!selectedRegions_[regionId]) { continue; } word selectName = getFirstWord ( arraySelection->GetArrayName(regionId) ); if (debug) { Info<< "Creating VTK mesh for cellSet: " << selectName << " region index: " << regionId << endl; } const cellSet cSet(mesh, selectName); fvMeshSubset subsetter ( IOobject ( "set", mesh.time().constant(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh ); subsetter.setLargeCellSubset(cSet); const label datasetId = GetNumberOfDataSets(output, selector); vtkUnstructuredGrid* vtkmesh = vtkUnstructuredGrid::New(); addVolumeMesh ( subsetter.subMesh(), vtkmesh, csetSuperCells_[datasetId] ); // renumber - superCells must contain global cell ids inplaceRenumber ( subsetter.cellMap(), csetSuperCells_[datasetId] ); AddToBlock ( output, selector, datasetId, vtkmesh, selectName + ":cellSet" ); selectedRegionDatasetIds_[regionId] = datasetId; vtkmesh->Delete(); } } if (debug) { Info<< "<end> Foam::vtkPV3Foam::convertMeshCellSets" << endl; printMemory(); } }