diff -u3 abaqus-orig/vtkAbaqusElementModel.cxx abaqus-patched/vtkAbaqusElementModel.cxx --- abaqus-orig/vtkAbaqusElementModel.cxx Thu Jun 23 14:22:33 2005 +++ abaqus-patched/vtkAbaqusElementModel.cxx Thu Jun 23 13:28:15 2005 @@ -1,5 +1,5 @@ -#include "vtkAbaqusElementModel.h" #include "vtkObjectFactory.h" +#include "vtkAbaqusElementModel.h" #include "vtkIdTypeArray.h" #include "vtkDataArrayCollection.h" @@ -144,11 +144,12 @@ { //iterate the collection comparing the names... vtkIdTypeArray *tmp; - for( items->InitTraversal() ; tmp = ( vtkIdTypeArray::SafeDownCast( items->GetNextItemAsObject() ) ) ; ) + for( items->InitTraversal(); (tmp = ( vtkIdTypeArray::SafeDownCast( items->GetNextItemAsObject() ) )) ; ) { - if( tmp ) - if( strcmp( name, tmp->GetName() ) == 0 ) - return tmp; + if (tmp && strcmp( name, tmp->GetName() ) == 0 ) + { + return tmp; + } } return NULL; @@ -165,8 +166,6 @@ { return 0; } - - vtkIdType c = this->GetNumberOfCells(); vtkCell *cell = NULL; cell = this->GetCell( cellId ); diff -u3 abaqus-orig/vtkAbaqusInputDeckReader.cxx abaqus-patched/vtkAbaqusInputDeckReader.cxx --- abaqus-orig/vtkAbaqusInputDeckReader.cxx Thu Jun 23 14:22:33 2005 +++ abaqus-patched/vtkAbaqusInputDeckReader.cxx Thu Jun 23 14:20:02 2005 @@ -51,17 +51,17 @@ class vtkAbaqusReaderHelper { public: - static vtkIdType CountTokens( InputDeckBase::iterator start, InputDeckBase::iterator end, InputDeck &inp ); - static vtkIdType TokenizeToArray( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkDataArray *target, InputDeck &inp ); + static vtkIdType CountTokens( InputDeckBase::iterator start, InputDeckBase::iterator end ); + static vtkIdType TokenizeToArray( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkDataArray *target ); /** @brief Find the section mark that includes incString, set target iterator to that line in the InputDeck */ static vtkIdType FindSection( InputDeckBase::iterator seekStart, InputDeckBase::iterator &secStart, InputDeckBase::iterator &secEnd, const char *secStr, InputDeck &inp ); /** @brief Load explicit node section */ - static int LoadNodes( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdType tokens, vtkPoints *nodes, vtkDoubleArray *scalars, InputDeck &inp, double defaultScalar = 1.0 ); + static int LoadNodes( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdType tokens, vtkPoints *nodes, vtkDoubleArray *scalars, double defaultScalar = 1.0 ); /** @brief Generate a named node or element set */ - static int BuildGeneratedSet( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdTypeArray *lst, InputDeck &inp ); + static int BuildGeneratedSet( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdTypeArray *lst ); /** @brief Return VTK cell type from Abaqus element code */ static vtkIdType GetVTKCellTypeFromAbaqusType( const char *ct, vtkIdType &nodeCount ); @@ -74,7 +74,7 @@ /** Utility function to count tokens in a given vector of strings */ -vtkIdType vtkAbaqusReaderHelper::CountTokens( InputDeckBase::iterator start, InputDeckBase::iterator end, InputDeck &inp ) +vtkIdType vtkAbaqusReaderHelper::CountTokens( InputDeckBase::iterator start, InputDeckBase::iterator end ) { InputDeckBase::iterator iter; vtkStdString::size_type s,e,sz; @@ -112,7 +112,7 @@ This function uses InsertNextTuple, so MaxId need not be set, and in fact it will grow the array as necessary. It would be smart to have it allocated to large enough so that doesn't need to happen tho. */ -vtkIdType vtkAbaqusReaderHelper::TokenizeToArray( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkDataArray *target, InputDeck &inp ) +vtkIdType vtkAbaqusReaderHelper::TokenizeToArray( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkDataArray *target ) { InputDeckBase::iterator iter; vtkStdString::size_type s,e, sz; @@ -177,7 +177,7 @@ @endverbatim */ -int vtkAbaqusReaderHelper::LoadNodes( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdType tokens, vtkPoints *nodes, vtkDoubleArray *scalars, InputDeck &inp, double defaultScalar ) +int vtkAbaqusReaderHelper::LoadNodes( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdType tokens, vtkPoints *nodes, vtkDoubleArray *scalars, double defaultScalar ) { if( !nodes ) { @@ -193,7 +193,7 @@ // array internal allocation and memcpy when about to overrun nums->Allocate(tokens); - vtkIdType size = TokenizeToArray( start+1, end, nums, inp ); + TokenizeToArray( start+1, end, nums ); //iterate the 0th, 4th, 8th, etc to find the smallest and largest node id double min, max, curr; @@ -209,10 +209,10 @@ //now initialize to encompass our largest and smallest point ids nodes->Initialize(); nodes->SetDataTypeToDouble(); - nodes->SetNumberOfPoints( max + 1 ); + nodes->SetNumberOfPoints( (int)(max + 1) ); scalars->Initialize(); - scalars->SetNumberOfValues( max + 1); + scalars->SetNumberOfValues( (int)(max + 1)); //zero out all possible points for( int k=0; kGetNumberOfPoints(); k++ ) @@ -258,7 +258,7 @@ @endverbatim */ -int vtkAbaqusReaderHelper::BuildGeneratedSet( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdTypeArray *lst, InputDeck &inp ) +int vtkAbaqusReaderHelper::BuildGeneratedSet( InputDeckBase::iterator start, InputDeckBase::iterator end, vtkIdTypeArray *lst ) { if( !lst ) { @@ -267,10 +267,10 @@ } vtkIdType acc, acc2, i, j; - vtkIdType tokens = vtkAbaqusReaderHelper::CountTokens( start, end, inp ); + vtkIdType tokens = vtkAbaqusReaderHelper::CountTokens( start, end ); vtkIdTypeArray *rawIds = vtkIdTypeArray::New(); rawIds->Allocate( tokens ); - vtkAbaqusReaderHelper::TokenizeToArray( start, end, rawIds, inp ); + vtkAbaqusReaderHelper::TokenizeToArray( start, end, rawIds ); //first count the number of ids we will be storing acc = 0; @@ -472,13 +472,13 @@ { InputDeckBase::iterator iter; vtkStdString::size_type in; - BOOL bInSection = FALSE; + int bInSection = 0; for( iter = seekStart; iter != inp.end(); ++iter ) { //we have a section marker //check to see if it is a set of some kind - if( (*iter)[0] == *(star) ) + if( iter->c_str()[0] == *(star) ) { //cerr << "FindSection found : " << *iter << endl; @@ -488,13 +488,13 @@ secEnd = iter-1; //count the tokens, - return vtkAbaqusReaderHelper::CountTokens( secStart+1, secEnd, inp ); + return vtkAbaqusReaderHelper::CountTokens( secStart+1, secEnd ); } else { vtkStdString &hdr = *iter; in = (hdr.find( secStr, 0 )); - if( in >= 0 && in < hdr.length() ) + if( in < hdr.length() ) { //we have found the start of the section if( bInSection ) @@ -503,7 +503,7 @@ } secStart = iter; - bInSection = TRUE; + bInSection = 1; } } } @@ -591,9 +591,9 @@ vtkStdString line; #ifdef WIN32 - ifstream ifile( this->FileName, ios::in | ios::nocreate, filebuf::sh_read ); + ifstream ifile( this->FileName, ios::in | ios::nocreate); //, filebuf::sh_read ); #else - ifstream ifile( this->FileName, ios::in, filebuf::sh_read ); + ifstream ifile( this->FileName, ios::in); //, filebuf::sh_read ); #endif if( !ifile ) { @@ -640,7 +640,6 @@ vtkDoubleArray *nodeScalars = NULL; vtkIdTypeArray *rawElements = NULL; vtkIdTypeArray *idSet = NULL; - vtkIdTypeArray *eleSection = NULL; vtkIdType tokens, cellType, nodeCount, sIdx, eIdx, idx, lastIdx; vtkIdType min, max, curr; @@ -653,7 +652,7 @@ tokens = vtkAbaqusReaderHelper::FindSection( iter, secStart, secEnd, "*NODE", inp ); nodes = vtkPoints::New(); nodeScalars = vtkDoubleArray::New(); - idx = vtkAbaqusReaderHelper::LoadNodes( secStart, secEnd, tokens, nodes, nodeScalars, inp ); + idx = vtkAbaqusReaderHelper::LoadNodes( secStart, secEnd, tokens, nodes, nodeScalars ); vtkDebugMacro( << nodes->GetNumberOfPoints() << " node points loaded from Input Deck." ); out->SetPoints( nodes ); out->GetPointData()->SetScalars( nodeScalars ); @@ -699,7 +698,7 @@ //get the set name if there is one, should be last in line v = (hdr.find( "ELSET=", 0 )); - if( v >= 0 && v < (e-6) ) + if( v < (e-6) ) { idSet = vtkIdTypeArray::New(); idSet->SetName( (hdr.substr( v+6, e ) ).c_str() ); @@ -720,7 +719,7 @@ } //now add to the array, uses InsertNextTuple which starts at MaxId + 1 - tokens = vtkAbaqusReaderHelper::TokenizeToArray( secStart + 1, secEnd, rawElements, inp ); + tokens = vtkAbaqusReaderHelper::TokenizeToArray( secStart + 1, secEnd, rawElements ); //now map the indices and collect the element ids eIdx = rawElements->GetMaxId(); @@ -840,7 +839,7 @@ idSet = vtkIdTypeArray::New(); //find the set name v = hdr.find( "NSET=", 0 ); - if( v >= 0 && v < hdr.length() ) + if( v < hdr.length() ) { vtkStdString tmp = hdr.substr( v+5, hdr.length() ); e = tmp.find( ", GENERATE", 0 ); @@ -852,16 +851,16 @@ //determine which kind of set it is v = hdr.find( "GENERATE", 0 ); - if( v >= 0 && v < hdr.length() ) + if( v < hdr.length() ) { //we have a generated set to create - idx = vtkAbaqusReaderHelper::BuildGeneratedSet( secStart+1, secEnd, idSet, inp ); + idx = vtkAbaqusReaderHelper::BuildGeneratedSet( secStart+1, secEnd, idSet ); } else { //we have an explicit set, just tokenize it idSet->Allocate( tokens ); - idx = vtkAbaqusReaderHelper::TokenizeToArray( secStart+1, secEnd, idSet, inp ); + idx = vtkAbaqusReaderHelper::TokenizeToArray( secStart+1, secEnd, idSet ); } //cout << " Adding Node Set : " << idSet->GetName() << endl; @@ -885,7 +884,7 @@ idSet = vtkIdTypeArray::New(); //find the set name v = hdr.find( "ELSET=", 0 ); - if( v >= 0 && v < hdr.length() ) + if( v < hdr.length() ) { vtkStdString tmp = hdr.substr( v+6, hdr.length() ); e = tmp.find( ", GENERATE", 0 ); @@ -897,16 +896,16 @@ //determine which kind of set it is v = hdr.find( "GENERATE", 0 ); - if( v >= 0 && v < hdr.length() ) + if( v < hdr.length() ) { //we have a generated set to create - idx = vtkAbaqusReaderHelper::BuildGeneratedSet( secStart+1, secEnd, idSet, inp ); + idx = vtkAbaqusReaderHelper::BuildGeneratedSet( secStart+1, secEnd, idSet ); } else { //we have an explicit set, just tokenize it idSet->Allocate( tokens ); - idx = vtkAbaqusReaderHelper::TokenizeToArray( secStart+1, secEnd, idSet, inp ); + idx = vtkAbaqusReaderHelper::TokenizeToArray( secStart+1, secEnd, idSet ); } //cout << " Adding Element Set : " << idSet->GetName() << endl; D:\Temp>