VTK
vtkAMRBaseParticlesReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAMRBaseParticlesReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14  =========================================================================*/
22 #ifndef VTKAMRBASEPARTICLESREADER_H_
23 #define VTKAMRBASEPARTICLESREADER_H_
24 
25 #include "vtkIOAMRModule.h" // For export macro
27 
28 class vtkInformation;
30 class vtkIndent;
32 class vtkPolyData;
34 class vtkCallbackCommand;
35 
38 {
39 public:
41  void PrintSelf(ostream &os, vtkIndent indent );
42 
44 
45  vtkGetMacro(Frequency,int);
46  vtkSetMacro(Frequency,int);
48 
50 
54 
56 
57  vtkSetMacro(FilterLocation,int);
58  vtkGetMacro(FilterLocation,int);
59  vtkBooleanMacro(FilterLocation,int);
61 
62 
64 
66  vtkGetObjectMacro(ParticleDataArraySelection,vtkDataArraySelection);
68 
71 
74  const char* GetParticleArrayName( int index );
75 
77 
78  int GetParticleArrayStatus( const char* name );
79  void SetParticleArrayStatus( const char* name, int status );
81 
82 
83  virtual void SetFileName( const char *fileName );
84  vtkGetStringMacro(FileName);
85 
87 
88  inline void SetMinLocation(
89  const double minx, const double miny, const double minz )
90  {
91  this->MinLocation[ 0 ] = minx;
92  this->MinLocation[ 1 ] = miny;
93  this->MinLocation[ 2 ] = minz;
94  }
96 
98 
99  inline void SetMaxLocation(
100  const double maxx, const double maxy, const double maxz )
101  {
102  this->MaxLocation[ 0 ] = maxx;
103  this->MaxLocation[ 1 ] = maxy;
104  this->MaxLocation[ 2 ] = maxz;
105  }
107 
109  virtual int GetTotalNumberOfParticles() = 0;
110 
111 protected:
114 
119  virtual void ReadMetaData() = 0;
120 
123  virtual vtkPolyData* ReadParticles( const int blkIdx ) = 0;
124 
129  bool CheckLocation( const double x, const double y, const double z );
130 
133  bool IsParallel( );
134 
137  bool IsBlockMine( const int blkIdx );
138 
144  int GetBlockProcessId( const int blkIdx );
145 
148  void Initialize();
149 
151 
155 
160 
163  virtual void SetupParticleDataSelections() = 0;
164 
166 
169  vtkObject *caller,unsigned long eid,void *clientdata,void *calldata );
171 
173 
174  virtual int RequestData( vtkInformation *request,
175  vtkInformationVector **inputVector,
176  vtkInformationVector *outputVector );
179 
181 
183  double MinLocation[3];
184  double MaxLocation[3];
185 
188 
191  char *FileName;
192 
193 private:
194  vtkAMRBaseParticlesReader( const vtkAMRBaseParticlesReader& ); // Not implemented
195  void operator=(const vtkAMRBaseParticlesReader& ); // Not implemented
196 };
197 
198 #endif /* VTKAMRBASEPARTICLESREADER_H_ */
vtkAMRBaseParticlesReader::FileName
char * FileName
Definition: vtkAMRBaseParticlesReader.h:191
vtkgl::z
GLdouble GLdouble z
Definition: vtkgl.h:11754
vtkAMRBaseParticlesReader::SetMaxLocation
void SetMaxLocation(const double maxx, const double maxy, const double maxz)
Definition: vtkAMRBaseParticlesReader.h:99
vtkAMRBaseParticlesReader::Controller
vtkMultiProcessController * Controller
Definition: vtkAMRBaseParticlesReader.h:187
vtkAMRBaseParticlesReader::ParticleDataArraySelection
vtkDataArraySelection * ParticleDataArraySelection
Definition: vtkAMRBaseParticlesReader.h:152
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkAMRBaseParticlesReader::IsBlockMine
bool IsBlockMine(const int blkIdx)
vtkAMRBaseParticlesReader::NumberOfBlocks
int NumberOfBlocks
Definition: vtkAMRBaseParticlesReader.h:180
vtkAMRBaseParticlesReader::IsParallel
bool IsParallel()
vtkAMRBaseParticlesReader::SelectionObserver
vtkCallbackCommand * SelectionObserver
Definition: vtkAMRBaseParticlesReader.h:153
vtkAMRBaseParticlesReader::ReadParticles
virtual vtkPolyData * ReadParticles(const int blkIdx)=0
vtkAMRBaseParticlesReader::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
vtkAMRBaseParticlesReader::SelectionModifiedCallback
static void SelectionModifiedCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkAMRBaseParticlesReader::GetBlockProcessId
int GetBlockProcessId(const int blkIdx)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkAMRBaseParticlesReader::GetParticleArrayStatus
int GetParticleArrayStatus(const char *name)
VTKIOAMR_EXPORT
#define VTKIOAMR_EXPORT
Definition: vtkIOAMRModule.h:15
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkAMRBaseParticlesReader::Initialized
bool Initialized
Definition: vtkAMRBaseParticlesReader.h:190
vtkAMRBaseParticlesReader::Initialize
void Initialize()
vtkAMRBaseParticlesReader::Frequency
int Frequency
Definition: vtkAMRBaseParticlesReader.h:186
vtkDataArraySelection
Store on/off settings for data arrays for a vtkSource.
Definition: vtkDataArraySelection.h:34
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkAMRBaseParticlesReader::ReadMetaData
virtual void ReadMetaData()=0
vtkgl::name
GLuint const GLchar * name
Definition: vtkgl.h:11983
vtkIOAMRModule.h
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:85
vtkAMRBaseParticlesReader
Definition: vtkAMRBaseParticlesReader.h:38
vtkAMRBaseParticlesReader::GetNumberOfParticleArrays
int GetNumberOfParticleArrays()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkAMRBaseParticlesReader::FilterLocation
int FilterLocation
Definition: vtkAMRBaseParticlesReader.h:182
vtkMultiBlockDataSetAlgorithm.h
vtkAMRBaseParticlesReader::CheckLocation
bool CheckLocation(const double x, const double y, const double z)
vtkAMRBaseParticlesReader::SetMinLocation
void SetMinLocation(const double minx, const double miny, const double minz)
Definition: vtkAMRBaseParticlesReader.h:88
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkAMRBaseParticlesReader::GetTotalNumberOfParticles
virtual int GetTotalNumberOfParticles()=0
vtkAMRBaseParticlesReader::~vtkAMRBaseParticlesReader
virtual ~vtkAMRBaseParticlesReader()
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkAMRBaseParticlesReader::InitializeParticleDataSelections
void InitializeParticleDataSelections()
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkAMRBaseParticlesReader::vtkAMRBaseParticlesReader
vtkAMRBaseParticlesReader()
vtkgl::y
GLint GLint GLint GLint GLint GLint y
Definition: vtkgl.h:11318
vtkAMRBaseParticlesReader::SetupParticleDataSelections
virtual void SetupParticleDataSelections()=0
vtkAMRBaseParticlesReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkAMRBaseParticlesReader::InitialRequest
bool InitialRequest
Definition: vtkAMRBaseParticlesReader.h:189
vtkAMRBaseParticlesReader::SetFileName
virtual void SetFileName(const char *fileName)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkCallbackCommand
supports function callbacks
Definition: vtkCallbackCommand.h:50
vtkAMRBaseParticlesReader::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkAMRBaseParticlesReader::SetParticleArrayStatus
void SetParticleArrayStatus(const char *name, int status)
vtkAMRBaseParticlesReader::GetParticleArrayName
const char * GetParticleArrayName(int index)
vtkMultiBlockDataSetAlgorithm
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
Definition: vtkMultiBlockDataSetAlgorithm.h:32