OSDN Git Service

Merge branch 'master' of git://git.sourceforge.jp/gitroot/eos/base
[eos/hostdependX86LINUX64.git] / include / vtkmrcImageReader.hh
1 #ifndef __vtkmrcImageReader_h
2 #define __vtkmrcImageReader_h
3
4 #include <stdio.h>
5 #include "vtkTclUtil.h"
6 #include "vtkTransform.h"
7 #include "vtkStructuredPointsSource.h"
8 #include "vtkVolumeReader.h"
9 #include "vtkFloatArray.h"
10 #include "vtkObjectFactory.h"
11 #include "mrcImage.h"
12
13 /* struct begin */
14 class VTK_EXPORT vtkmrcImageReader : public vtkVolumeReader
15 {
16 public:
17   vtkTypeMacro(vtkmrcImageReader,vtkVolumeReader);
18   void PrintSelf(ostream& os, vtkIndent indent);
19
20   static vtkmrcImageReader *New();
21
22
23   // Description:
24   vtkSetStringMacro(Filename);
25   vtkGetStringMacro(Filename);
26
27   vtkSetMacro(DataType,mrcPixelDataType);
28   vtkGetMacro(DataType,mrcPixelDataType);
29
30   vtkSetMacro(DataHow,mrcPixelDataHowToGet);
31   vtkGetMacro(DataHow,mrcPixelDataHowToGet);
32
33   //
34   vtkImageData *GetImage(int ImageNum);
35
36 protected:
37   vtkmrcImageReader();
38   ~vtkmrcImageReader();
39   vtkmrcImageReader(const vtkmrcImageReader&) {};
40   void operator=(const vtkmrcImageReader&) {};
41
42   virtual void ExecuteData(vtkDataObject*);
43   virtual void ExecuteInformation();
44
45   char *Filename;
46   mrcImage mrc;
47   mrcPixelDataType     DataType;
48   mrcPixelDataHowToGet DataHow;
49
50   // Get Volume Data
51   void ReadVolume(vtkFloatArray* scalars);
52   int ReadFloatImage(float* pixel, mrcImage* mrc);
53 };
54 /* struct end */
55
56 /* prototype begin */
57 ClientData vtkmrcImageReaderNewCommand();
58
59 int VTKTCL_EXPORT 
60 vtkmrcImageReaderCommand(
61      ClientData cd, Tcl_Interp *interp,
62      int argc, char *argv[]);
63 /* prototype end */
64
65 #endif