• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Filtering/vtkHierarchicalBoxDataSet.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkHierarchicalBoxDataSet.h,v $
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 =========================================================================*/
00042 #ifndef __vtkHierarchicalBoxDataSet_h
00043 #define __vtkHierarchicalBoxDataSet_h
00044 
00045 #include "vtkCompositeDataSet.h"
00046 
00047 class vtkAMRBox;
00048 class vtkInformationIdTypeKey;
00049 class vtkInformationIntegerKey;
00050 class vtkInformationIntegerVectorKey;
00051 class vtkUniformGrid;
00052 
00053 class VTK_FILTERING_EXPORT vtkHierarchicalBoxDataSet : public vtkCompositeDataSet
00054 {
00055 public:
00056   static vtkHierarchicalBoxDataSet *New();
00057   vtkTypeRevisionMacro(vtkHierarchicalBoxDataSet,vtkCompositeDataSet);
00058   void PrintSelf(ostream& os, vtkIndent indent);
00059 
00061   virtual vtkCompositeDataIterator* NewIterator();
00062 
00064   virtual int GetDataObjectType() {return VTK_HIERARCHICAL_BOX_DATA_SET;}
00065 
00068   void SetNumberOfLevels(unsigned int numLevels);
00069 
00071   unsigned int GetNumberOfLevels();
00072 
00074   void SetNumberOfDataSets(unsigned int level, unsigned int numdatasets);
00075 
00077   unsigned int GetNumberOfDataSets(unsigned int level);
00078 
00080 
00084   virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj)
00085     { this->Superclass::SetDataSet(iter, dataObj); }
00087 
00089 
00092   void SetDataSet(unsigned int level, unsigned int id, 
00093                   int LoCorner[3], int HiCorner[3], vtkUniformGrid* dataSet);
00095 //BTX
00097 
00103   void SetDataSet(unsigned int level, unsigned int id, 
00104                   vtkAMRBox& box, vtkUniformGrid* dataSet);
00106 
00108 
00111   vtkUniformGrid* GetDataSet(unsigned int level,
00112                              unsigned int id,
00113                              vtkAMRBox& box);
00115 
00117   vtkAMRBox GetAMRBox(vtkCompositeDataIterator* iter);
00118 
00119 //ETX
00120 
00122 
00125   vtkInformation* GetLevelMetaData(unsigned int level)
00126     { return this->GetChildMetaData(level); }
00128 
00130 
00131   int HasLevelMetaData(unsigned int level)
00132     { return this->HasChildMetaData(level); }
00134 
00138   vtkInformation* GetMetaData(unsigned int level, unsigned int index);
00139 
00141   int HasMetaData(unsigned int level, unsigned int index);
00142 
00149   void SetRefinementRatio(unsigned int level, int refRatio);
00150 
00152   int GetRefinementRatio(unsigned int level);
00153 
00156   int GetRefinementRatio(vtkCompositeDataIterator* iter);
00157 
00159   void GenerateVisibilityArrays();
00160 
00161   static vtkInformationIntegerVectorKey* BOX();
00162   static vtkInformationIntegerKey* REFINEMENT_RATIO();
00163   static vtkInformationIdTypeKey* NUMBER_OF_BLANKED_POINTS();
00164 
00165   //BTX
00167 
00168   static vtkHierarchicalBoxDataSet* GetData(vtkInformation* info);
00169   static vtkHierarchicalBoxDataSet* GetData(vtkInformationVector* v, int i=0);
00170   //ETX
00172 
00174   virtual void GetScalarRange(double range[]);
00175   
00177   virtual double *GetScalarRange();
00178 
00180 
00181   virtual vtkDataObject* GetDataSet(vtkCompositeDataIterator* iter)
00182     { return this->Superclass::GetDataSet(iter); }
00184 
00186 
00187   virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter)
00188     { return this->Superclass::GetMetaData(iter); }
00190 
00191 
00193 
00194   virtual int HasMetaData(vtkCompositeDataIterator* iter)
00195     { return this->Superclass::HasMetaData(iter); }
00197  
00200   unsigned int GetFlatIndex(unsigned int level, unsigned int index);
00201 
00202 protected:
00203   vtkHierarchicalBoxDataSet();
00204   ~vtkHierarchicalBoxDataSet();
00205 
00208   virtual void ComputeScalarRange();
00209   
00210   // Cached scalar range
00211   double ScalarRange[2];
00212   // Time at which scalar range is computed
00213   vtkTimeStamp ScalarRangeComputeTime;
00214 
00215 private:
00216   vtkHierarchicalBoxDataSet(const vtkHierarchicalBoxDataSet&);  // Not implemented.
00217   void operator=(const vtkHierarchicalBoxDataSet&);  // Not implemented.
00218 };
00219 
00220 #endif
00221 

Generated by  doxygen 1.7.1