00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkHierarchicalBoxDataSet_h
00031 #define __vtkHierarchicalBoxDataSet_h
00032
00033 #include "vtkHierarchicalDataSet.h"
00034
00035
00036 struct vtkHierarchicalBoxDataSetInternal;
00037
00038 class vtkDataObject;
00039 class vtkInformationIdTypeKey;
00040 class vtkUniformGrid;
00041 class vtkAMRBox;
00042
00043 class VTK_FILTERING_EXPORT vtkHierarchicalBoxDataSet : public vtkHierarchicalDataSet
00044 {
00045 public:
00046 static vtkHierarchicalBoxDataSet *New();
00047
00048 vtkTypeRevisionMacro(vtkHierarchicalBoxDataSet,vtkHierarchicalDataSet);
00049 void PrintSelf(ostream& os, vtkIndent indent);
00050
00053 virtual int GetDataObjectType() {return VTK_HIERARCHICAL_BOX_DATA_SET;}
00054
00055
00057
00060 void SetDataSet(unsigned int level,
00061 unsigned int id,
00062 vtkAMRBox& box,
00063 vtkUniformGrid* dataSet);
00064 void SetDataSet(unsigned int level, unsigned int id, vtkDataObject* dataSet)
00065 {
00066 this->Superclass::SetDataSet(level, id, dataSet);
00067 }
00069
00071
00072 vtkUniformGrid* GetDataSet(unsigned int level,
00073 unsigned int id,
00074 vtkAMRBox& box);
00076
00077 vtkDataObject* GetDataSet(unsigned int level, unsigned int id)
00078 { return this->Superclass::GetDataSet(level, id); }
00079
00080 vtkDataObject* GetDataSet(vtkInformation* index)
00081 { return this->Superclass::GetDataSet(index); }
00082
00084 void SetRefinementRatio(unsigned int level, int refRatio);
00085
00087 int GetRefinementRatio(unsigned int level);
00088
00090 void GenerateVisibilityArrays();
00091
00093
00094 virtual void ShallowCopy(vtkDataObject *src);
00095 virtual void DeepCopy(vtkDataObject *src);
00097
00098 static vtkInformationIntegerVectorKey* BOX();
00099 static vtkInformationIdTypeKey* NUMBER_OF_BLANKED_POINTS();
00100
00104 virtual vtkIdType GetNumberOfPoints();
00105
00106 protected:
00107 vtkHierarchicalBoxDataSet();
00108 ~vtkHierarchicalBoxDataSet();
00109
00110 vtkHierarchicalBoxDataSetInternal* BoxInternal;
00111
00112 private:
00113 vtkHierarchicalBoxDataSet(const vtkHierarchicalBoxDataSet&);
00114 void operator=(const vtkHierarchicalBoxDataSet&);
00115 };
00116
00117 #endif
00118