00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkTableExtentTranslator_h
00026 #define __vtkTableExtentTranslator_h
00027
00028 #include "vtkExtentTranslator.h"
00029
00030 class VTK_COMMON_EXPORT vtkTableExtentTranslator : public vtkExtentTranslator
00031 {
00032 public:
00033 vtkTypeRevisionMacro(vtkTableExtentTranslator,vtkExtentTranslator);
00034 void PrintSelf(ostream& os, vtkIndent indent);
00035
00036 static vtkTableExtentTranslator* New();
00037
00038
00039
00040
00041
00042
00043
00044
00045 void SetNumberOfPieces(int pieces);
00046
00048
00049 void SetNumberOfPiecesInTable(int pieces);
00050 vtkGetMacro(NumberOfPiecesInTable, int);
00052
00055 int PieceToExtent();
00056
00058 int PieceToExtentByPoints();
00059
00061
00062 int PieceToExtentThreadSafe(int piece, int numPieces,
00063 int ghostLevel, int *wholeExtent,
00064 int *resultExtent, int splitMode,
00065 int byPoints);
00067
00070 virtual void SetExtentForPiece(int piece, int* extent);
00071
00073
00076 virtual void GetExtentForPiece(int piece, int* extent);
00077 virtual int* GetExtentForPiece(int piece);
00079
00081
00084 vtkSetMacro(MaximumGhostLevel, int);
00085 vtkGetMacro(MaximumGhostLevel, int);
00087
00089
00091 virtual void SetPieceAvailable(int piece, int available);
00092 virtual int GetPieceAvailable(int piece);
00094
00095 protected:
00096 vtkTableExtentTranslator();
00097 ~vtkTableExtentTranslator();
00098
00099
00100 int* ExtentTable;
00101 int NumberOfPiecesInTable;
00102 int MaximumGhostLevel;
00103
00104
00105 int* PieceAvailable;
00106
00107 private:
00108 vtkTableExtentTranslator(const vtkTableExtentTranslator&);
00109 void operator=(const vtkTableExtentTranslator&);
00110 };
00111
00112 #endif