#include <cstring>
#include <fcntl.h>
-#ifdef WNT
+#ifdef WIN32
#include <io.h>
#endif
-#ifndef WNT
+#ifndef WIN32
#define HAS_XDR
#include <unistd.h>
#endif
//================================================================================
/*!
- * \brief Returns interlace array to transform a quadratic GIBI element to a MED one
+ * \brief Returns interlace array to transform a quadratic GIBI element to a MED one.
+ * i-th array item gives node index in GIBI connectivity for i-th MED node
*/
//================================================================================
{
static vector<const int*> conn;
static const int hexa20 [] = {0,6,4,2, 12,18,16,14, 7,5,3,1, 19,17,15,13, 8,11,10,9};
- static const int penta15[] = {0,2,4, 9,11,13, 1,3,5, 10,12,14, 6,7,3};
+ static const int penta15[] = {0,2,4, 9,11,13, 1,3,5, 10,12,14, 6,8,7};
static const int pyra13 [] = {0,2,4,6, 12, 1,3,5,7, 8,9,10,11};
static const int tetra10[] = {0,2,4, 9, 1,3,5, 6,7,8};
static const int quad8 [] = {0,2,4,6, 1,3,5,7};
bool ASCIIReader::open()
{
-#ifdef WNT
+#ifdef WIN32
_file = ::_open (_fileName.c_str(), _O_RDONLY|_O_BINARY);
#else
_file = ::open (_fileName.c_str(), O_RDONLY);
// 7.70000000000000-100 7.70000000000000+100 7.70000000000000+100
//0123456789012345678901234567890123456789012345678901234567890123456789
const size_t posE = 18;
- if ( _curPos[posE] != 'E' && _curPos[posE] != 'e' )
+ std::string aStr (_curPos);
+ if ( aStr.find('E') < 0 && aStr.find('e') < 0 )
{
- std::string aStr (_curPos);
if ( aStr.size() < posE+1 )
THROW_IK_EXCEPTION("No more doubles (line #" << lineNb() << ")");
aStr.insert( posE, "E", 1 );
medData->setMeshes( meshes );
if ( fields ) medData->setFields( fields );
- medData->incrRef();
- return medData;
+ return medData.retn();
}
//================================================================================