VTK
dox/IO/AMR/vtkAMREnzoParticlesReader.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003  Program:   Visualization Toolkit
00004  Module:    vtkAMREnzoParticlesReader.h
00005 
00006  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007  All rights reserved.
00008  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010  This software is distributed WITHOUT ANY WARRANTY; without even
00011  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012  PURPOSE.  See the above copyright notice for more information.
00013 
00014  =========================================================================*/
00025 #ifndef VTKAMRENZOPARTICLESREADER_H_
00026 #define VTKAMRENZOPARTICLESREADER_H_
00027 
00028 #include "vtkIOAMRModule.h" // For export macro
00029 #include "vtkAMRBaseParticlesReader.h"
00030 
00031 
00032 class vtkPolyData;
00033 class vtkDataArray;
00034 class vtkIntArray;
00035 class vtkEnzoReaderInternal;
00036 
00037 class VTKIOAMR_EXPORT vtkAMREnzoParticlesReader :
00038   public vtkAMRBaseParticlesReader
00039 {
00040 public:
00041   static vtkAMREnzoParticlesReader* New();
00042   vtkTypeMacro( vtkAMREnzoParticlesReader, vtkAMRBaseParticlesReader );
00043   void PrintSelf(ostream &os, vtkIndent indent );
00044 
00046 
00047   vtkSetMacro( ParticleType, int );
00048   vtkGetMacro( ParticleType, int );
00050 
00052   int GetTotalNumberOfParticles();
00053 
00054 protected:
00055   vtkAMREnzoParticlesReader();
00056   virtual ~vtkAMREnzoParticlesReader();
00057 
00060   vtkPolyData* GetParticles( const char* file, const int blockIdx );
00061 
00063   void ReadMetaData();
00064 
00066   void SetupParticleDataSelections();
00067 
00070   bool CheckParticleType( const int pIdx, vtkIntArray *ptypes );
00071 
00073   vtkDataArray *GetParticlesTypeArray( const int blockIdx );
00074 
00076   vtkPolyData* ReadParticles( const int blkidx );
00077 
00078   int ParticleType;
00079 
00080   vtkEnzoReaderInternal *Internal;
00081 
00082 private:
00083   vtkAMREnzoParticlesReader( const vtkAMREnzoParticlesReader& ); // Not implemented
00084   void operator=( const vtkAMREnzoParticlesReader& ); // Not implemented
00085 };
00086 
00087 #endif /* VTKAMRENZOPARTICLESREADER_H_ */