MCPcopy Create free account
hub / github.com/Kitware/VTK / vtkGESignaReaderUpdate2

Function vtkGESignaReaderUpdate2

IO/Image/vtkGESignaReader.cxx:540–678  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

538}
539
540static void vtkGESignaReaderUpdate2(
541 vtkGESignaReader* self, unsigned short* outPtr, int* outExt, vtkIdType*)
542{
543 FILE* fp = vtksys::SystemTools::Fopen(self->GetInternalFileName(), "rb");
544 if (!fp)
545 {
546 return;
547 }
548
549 int magic;
550 if (fread(&magic, 4, 1, fp) != 1)
551 {
552 vtkGenericWarningMacro("GESignaReader error reading file: "
553 << self->GetInternalFileName() << " Premature EOF while reading magic.");
554 fclose(fp);
555 return;
556 }
557 vtkByteSwap::Swap4BE(&magic);
558
559 if (magic != 0x494d4746)
560 {
561 vtkGenericWarningMacro(<< "Unknown file type! Not a GE ximg file!");
562 fclose(fp);
563 return;
564 }
565
566 // read in the pixel offset from the header
567 int offset;
568 if (fread(&offset, 4, 1, fp) != 1)
569 {
570 vtkGenericWarningMacro("GESignaReader error reading file: "
571 << self->GetInternalFileName() << " Premature EOF while reading origY.");
572 fclose(fp);
573 return;
574 }
575 vtkByteSwap::Swap4BE(&offset);
576
577 int width, height, depth;
578 if (fread(&width, 4, 1, fp) != 1)
579 {
580 vtkGenericWarningMacro("GESignaReader error reading file: "
581 << self->GetInternalFileName() << " Premature EOF while reading width.");
582 fclose(fp);
583 return;
584 }
585 vtkByteSwap::Swap4BE(&width);
586 if (fread(&height, 4, 1, fp) != 1)
587 {
588 vtkGenericWarningMacro("GESignaReader error reading file: "
589 << self->GetInternalFileName() << " Premature EOF while reading height.");
590 fclose(fp);
591 return;
592 }
593 vtkByteSwap::Swap4BE(&height);
594 // depth in bits
595 if (fread(&depth, 4, 1, fp) != 1)
596 {
597 vtkGenericWarningMacro("GESignaReader error reading file: "

Callers 1

vtkGESignaReaderUpdateFunction · 0.85

Calls 4

vtkcopygenesisimageFunction · 0.85
resizeMethod · 0.45
dataMethod · 0.45
GetDataExtentMethod · 0.45

Tested by

no test coverage detected