}
bool readNextBlock() {
- std::cout << "readNextBlock()\n";
- m_stream->Seek( m_filePos, aiOrigin_CUR );
+ m_stream->Seek( m_filePos, aiOrigin_SET );
size_t readLen = m_stream->Read( &m_cache[ 0 ], sizeof( T ), m_cacheSize );
if ( readLen == 0 ) {
return false;
::memset( &buffer[ 0 ], ' ', m_cacheSize );
if ( m_cachePos == m_cacheSize || 0 == m_filePos ) {
- readNextBlock();
+ if ( !readNextBlock() ) {
+ return false;
+ }
}
size_t i = 0;
while ( !IsLineEnd( m_cache[ m_cachePos ] ) ) {
m_cachePos++;
i++;
if ( m_cachePos >= m_cacheSize ) {
- readNextBlock();
+ if ( !readNextBlock() ) {
+ return false;
+ }
}
}
buffer[ i ]='\n';
m_cachePos++;
-
return true;
}
// ------------------------------------------------------------------------------------------------
// Create topology data
-aiMesh *ObjFileImporter::createTopology( const ObjFile::Model* pModel, const ObjFile::Object* pData,
- unsigned int meshIndex )
-{
+aiMesh *ObjFileImporter::createTopology( const ObjFile::Model* pModel, const ObjFile::Object* pData, unsigned int meshIndex ) {
// Checking preconditions
ai_assert( NULL != pModel );
aiFace *pDestFace = &pMesh->mFaces[ outIndex ];
const bool last = ( vertexIndex == pSourceFace->m_pVertices->size() - 1 );
- if (pSourceFace->m_PrimitiveType != aiPrimitiveType_LINE || !last)
- {
+ if (pSourceFace->m_PrimitiveType != aiPrimitiveType_LINE || !last) {
pDestFace->mIndices[ outVertexIndex ] = newIndex;
outVertexIndex++;
}
- if (pSourceFace->m_PrimitiveType == aiPrimitiveType_POINT)
- {
+ if (pSourceFace->m_PrimitiveType == aiPrimitiveType_POINT) {
outIndex++;
outVertexIndex = 0;
- }
- else if (pSourceFace->m_PrimitiveType == aiPrimitiveType_LINE)
- {
+ } else if (pSourceFace->m_PrimitiveType == aiPrimitiveType_LINE) {
outVertexIndex = 0;
if(!last)