00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00070 #ifndef __vtkDicer_h
00071 #define __vtkDicer_h
00072
00073 #include "vtkDataSetToDataSetFilter.h"
00074
00075 #define VTK_DICE_MODE_NUMBER_OF_POINTS 0
00076 #define VTK_DICE_MODE_SPECIFIED_NUMBER 1
00077 #define VTK_DICE_MODE_MEMORY_LIMIT 2
00078
00079 class VTK_EXPORT vtkDicer : public vtkDataSetToDataSetFilter
00080 {
00081 public:
00082 vtkTypeMacro(vtkDicer,vtkDataSetToDataSetFilter);
00083 void PrintSelf(ostream& os, vtkIndent indent);
00084
00090 vtkSetMacro(FieldData,int);
00091 vtkGetMacro(FieldData,int);
00092 vtkBooleanMacro(FieldData,int);
00093
00096 vtkSetClampMacro(DiceMode,int,VTK_DICE_MODE_NUMBER_OF_POINTS,VTK_DICE_MODE_MEMORY_LIMIT);
00097 vtkGetMacro(DiceMode,int);
00098 void SetDiceModeToNumberOfPointsPerPiece()
00099 {this->SetDiceMode(VTK_DICE_MODE_NUMBER_OF_POINTS);};
00100 void SetDiceModeToSpecifiedNumberOfPieces()
00101 {this->SetDiceMode(VTK_DICE_MODE_SPECIFIED_NUMBER);};
00102 void SetDiceModeToMemoryLimitPerPiece()
00103 {this->SetDiceMode(VTK_DICE_MODE_MEMORY_LIMIT);};
00104
00107 vtkGetMacro(NumberOfActualPieces,int);
00108
00112 vtkSetClampMacro(NumberOfPointsPerPiece,int,1000,VTK_LARGE_INTEGER);
00113 vtkGetMacro(NumberOfPointsPerPiece,int);
00114
00120 vtkSetClampMacro(NumberOfPieces,int,1,VTK_LARGE_INTEGER);
00121 vtkGetMacro(NumberOfPieces,int);
00122
00126 vtkSetClampMacro(MemoryLimit,unsigned long,100,VTK_LARGE_INTEGER);
00127 vtkGetMacro(MemoryLimit,unsigned long);
00128
00129 protected:
00130 vtkDicer();
00131 ~vtkDicer() {};
00132 vtkDicer(const vtkDicer&) {};
00133 void operator=(const vtkDicer&) {};
00134
00135 virtual void UpdatePieceMeasures();
00136
00137 int NumberOfPointsPerPiece;
00138 int NumberOfPieces;
00139 unsigned long MemoryLimit;
00140 int NumberOfActualPieces;
00141 int FieldData;
00142 int DiceMode;
00143
00144 };
00145
00146 #endif
00147
00148