Changeset 1784


Ignore:
Timestamp:
08/12/11 14:56:20 (6 months ago)
Author:
Freddie Akeroyd
Message:

NXconvert now processes non NX prefixed classes. Refs #312

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/applications/NXbrowse/NXbrowse.c

    r1673 r1784  
    5858#define rl_outstream stdout 
    5959#define readline my_readline 
    60 #endif 
     60#endif /* HAVE_LIBREADLINE */ 
    6161 
    6262#define StrEq(s1, s2) (strcmp((s1), (s2)) == 0) 
     
    261261 
    262262   printf ("NXBrowse %s Copyright (C) 2009 NeXus Data Format\n", NEXUS_VERSION); 
     263#if HAVE_LIBREADLINE 
     264   printf ("Built with readline support - use <TAB> to complete commands and paths\n"); 
     265#endif /* HAVE_LIBREADLINE */ 
    263266 
    264267/* if there is a filename given on the command line use that, 
     
    792795        dataSize -= lineSize; 
    793796        dataPtr += lineSize * nxTypeSize(dataType); 
    794         printf("%p\n", dataPtr); 
    795  
    796797      } 
    797798   } 
     
    928929         } else if ((dataType == NX_INT32) || (dataType == NX_UINT32) || (dataType == NX_FLOAT32)) { 
    929930            type_size = 4; 
    930          } else if (dataType == NX_FLOAT64) { 
     931         } else if (dataType == NX_FLOAT64 || dataType == NX_INT64 || dataType == NX_UINT64) { 
    931932            type_size = 8; 
    932933         } 
  • trunk/applications/NXconvert/nxconvert_common.cpp

    r1695 r1784  
    2828#include <string.h> 
    2929#include <stdlib.h> 
     30#include <iostream> 
    3031#ifdef _MSC_VER 
    3132#else 
     
    202203      if (status == NX_ERROR) return NX_ERROR; 
    203204      if (status == NX_OK) { 
    204          if (!strncmp(nxclass,"NX",2)) { 
     205//         std::cerr << "WriteGroup: " << name << "(" << nxclass << ")" << std::endl; 
     206         if (!strncmp(nxclass,"SDS",3)) { 
     207            add_path(name); 
     208            if (NXopendata (inId, name) != NX_OK) return NX_ERROR; 
     209            if (NXgetdataID(inId, &link) != NX_OK) return NX_ERROR; 
     210            if (!strcmp(current_path, link.targetPath)) 
     211            { 
     212                if (NXgetinfo (inId, &dataRank, dataDimensions, &dataType) != NX_OK) return NX_ERROR; 
     213                if (NXmalloc (&dataBuffer, dataRank, dataDimensions, dataType) != NX_OK) return NX_ERROR; 
     214                if (NXgetdata (inId, dataBuffer)  != NX_OK) return NX_ERROR; 
     215                if (NXmakedata (outId, name, dataType, dataRank, dataDimensions) != NX_OK) return NX_ERROR; 
     216                if (NXopendata (outId, name) != NX_OK) return NX_ERROR; 
     217                if (WriteAttributes (is_definition, 0) != NX_OK) return NX_ERROR; 
     218                if (NXputdata (outId, dataBuffer) != NX_OK) return NX_ERROR; 
     219                if (NXfree((void**)&dataBuffer) != NX_OK) return NX_ERROR; 
     220                if (NXclosedata (outId) != NX_OK) return NX_ERROR; 
     221                remove_path(name); 
     222            } 
     223            else 
     224            { 
     225                remove_path(name); 
     226                links_to_make.push_back(link_to_make(current_path, name, link.targetPath)); 
     227            } 
     228            if (NXclosedata (inId) != NX_OK) return NX_ERROR; 
     229         } 
     230         /* napi4.c returns UNKNOWN for DFTAG_VH in groups */ 
     231         else if (!strcmp(nxclass, "UNKNOWN") || !strncmp(nxclass, "CDF", 3)) { 
     232             ; 
     233         } 
     234         else { 
    205235            if (NXopengroup (inId, name, nxclass) != NX_OK) return NX_ERROR; 
    206236            add_path(name); 
     
    241271            } 
    242272         } 
    243          else if (!strncmp(nxclass,"SDS",3)) { 
    244             add_path(name); 
    245             if (NXopendata (inId, name) != NX_OK) return NX_ERROR; 
    246             if (NXgetdataID(inId, &link) != NX_OK) return NX_ERROR; 
    247             if (!strcmp(current_path, link.targetPath)) 
    248             { 
    249                 if (NXgetinfo (inId, &dataRank, dataDimensions, &dataType) != NX_OK) return NX_ERROR; 
    250                 if (NXmalloc (&dataBuffer, dataRank, dataDimensions, dataType) != NX_OK) return NX_ERROR; 
    251                 if (NXgetdata (inId, dataBuffer)  != NX_OK) return NX_ERROR; 
    252                 if (NXmakedata (outId, name, dataType, dataRank, dataDimensions) != NX_OK) return NX_ERROR; 
    253                 if (NXopendata (outId, name) != NX_OK) return NX_ERROR; 
    254                 if (WriteAttributes (is_definition, 0) != NX_OK) return NX_ERROR; 
    255                 if (NXputdata (outId, dataBuffer) != NX_OK) return NX_ERROR; 
    256                 if (NXfree((void**)&dataBuffer) != NX_OK) return NX_ERROR; 
    257                 if (NXclosedata (outId) != NX_OK) return NX_ERROR; 
    258                 remove_path(name); 
    259             } 
    260             else 
    261             { 
    262                 remove_path(name); 
    263                 links_to_make.push_back(link_to_make(current_path, name, link.targetPath)); 
    264             } 
    265             if (NXclosedata (inId) != NX_OK) return NX_ERROR; 
    266          } 
    267273      } 
    268274      else if (status == NX_EOD) { 
  • trunk/test/testsuite.at

    r1615 r1784  
    20452045AT_BANNER([[Testing NXbrowse Tool.]]) 
    20462046AT_SETUP([Checking HDF4 test file]) 
    2047 AT_CHECK([$HAVE_HDF4 && env NO_READLINE=1 nxbrowse NXtest.hdf  < ${abs_srcdir}/nxbrowse.txt | grep -v 'HDF_version = ' | grep -v 'file_time = ' | sed -e 's/\r$//' | sed -e 's/[ ]*$//' ],[],  
     2047AT_CHECK([$HAVE_HDF4 && env NO_READLINE=1 nxbrowse NXtest.hdf  < ${abs_srcdir}/nxbrowse.txt | grep -v 'HDF_version = ' | grep -v 'file_time = ' | grep -v 'readline support' | sed -e 's/\r$//' | sed -e 's/[ ]*$//' ],[],  
    20482048[[NXBrowse 4.3.0 Copyright (C) 2009 NeXus Data Format 
    20492049    NeXus_version = 4.3.0 
     
    20572057AT_CLEANUP 
    20582058AT_SETUP([Checking HDF5 test file]) 
    2059 AT_CHECK([$HAVE_HDF5 && env NO_READLINE=1 nxbrowse NXtest.h5  < ${abs_srcdir}/nxbrowse.txt | grep -v 'HDF5_Version = ' | grep -v 'file_time = ' | sed -e 's/\r$//' | sed -e 's/[ ]*$//' ],[],  
     2059AT_CHECK([$HAVE_HDF5 && env NO_READLINE=1 nxbrowse NXtest.h5  < ${abs_srcdir}/nxbrowse.txt | grep -v 'HDF5_Version = ' | grep -v 'file_time = ' | grep -v 'readline support' | sed -e 's/\r$//' | sed -e 's/[ ]*$//' ],[],  
    20602060[[NXBrowse 4.3.0 Copyright (C) 2009 NeXus Data Format 
    20612061    NeXus_version = 4.3.0 
     
    20692069AT_CLEANUP 
    20702070AT_SETUP([Checking XML test file]) 
    2071 AT_CHECK([$HAVE_XML && env NO_READLINE=1 nxbrowse NXtest.xml  < ${abs_srcdir}/nxbrowse.txt | grep -v 'file_time = ' | grep -v 'XML_version = ' | sed -e 's/\r$//' | sed -e 's/[ ]*$//' ],[],  
     2071AT_CHECK([$HAVE_XML && env NO_READLINE=1 nxbrowse NXtest.xml  < ${abs_srcdir}/nxbrowse.txt | grep -v 'file_time = ' | grep -v 'XML_version = ' | grep -v 'readline support' | sed -e 's/\r$//' | sed -e 's/[ ]*$//' ],[],  
    20722072[[NXBrowse 4.3.0 Copyright (C) 2009 NeXus Data Format 
    20732073    NeXus_version = 4.3.0 
Note: See TracChangeset for help on using the changeset viewer.