Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Graphics/vtkDicer.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkDicer.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00057 #ifndef __vtkDicer_h
00058 #define __vtkDicer_h
00059 
00060 #include "vtkDataSetToDataSetFilter.h"
00061 
00062 #define VTK_DICE_MODE_NUMBER_OF_POINTS 0
00063 #define VTK_DICE_MODE_SPECIFIED_NUMBER 1
00064 #define VTK_DICE_MODE_MEMORY_LIMIT 2
00065 
00066 class VTK_GRAPHICS_EXPORT vtkDicer : public vtkDataSetToDataSetFilter 
00067 {
00068 public:
00069   vtkTypeRevisionMacro(vtkDicer,vtkDataSetToDataSetFilter);
00070   void PrintSelf(ostream& os, vtkIndent indent);
00071 
00073 
00078   vtkSetMacro(FieldData,int);
00079   vtkGetMacro(FieldData,int);
00080   vtkBooleanMacro(FieldData,int);
00082 
00084 
00086   vtkSetClampMacro(DiceMode,int,VTK_DICE_MODE_NUMBER_OF_POINTS,VTK_DICE_MODE_MEMORY_LIMIT);
00087   vtkGetMacro(DiceMode,int);
00088   void SetDiceModeToNumberOfPointsPerPiece()
00089     {this->SetDiceMode(VTK_DICE_MODE_NUMBER_OF_POINTS);};
00090   void SetDiceModeToSpecifiedNumberOfPieces()
00091     {this->SetDiceMode(VTK_DICE_MODE_SPECIFIED_NUMBER);};
00092   void SetDiceModeToMemoryLimitPerPiece()
00093     {this->SetDiceMode(VTK_DICE_MODE_MEMORY_LIMIT);};
00095 
00097 
00099   vtkGetMacro(NumberOfActualPieces,int);
00101 
00103 
00106   vtkSetClampMacro(NumberOfPointsPerPiece,int,1000,VTK_LARGE_INTEGER);
00107   vtkGetMacro(NumberOfPointsPerPiece,int);
00109 
00111 
00116   vtkSetClampMacro(NumberOfPieces,int,1,VTK_LARGE_INTEGER);
00117   vtkGetMacro(NumberOfPieces,int);
00119 
00121 
00124   vtkSetClampMacro(MemoryLimit,unsigned long,100,VTK_LARGE_INTEGER);
00125   vtkGetMacro(MemoryLimit,unsigned long);
00127 
00128 protected:
00129   vtkDicer();
00130   ~vtkDicer() {};
00131 
00132   virtual void UpdatePieceMeasures();
00133 
00134   int           NumberOfPointsPerPiece;
00135   int           NumberOfPieces;
00136   unsigned long MemoryLimit;
00137   int           NumberOfActualPieces;
00138   int           FieldData;
00139   int           DiceMode;
00140 
00141 private:
00142   vtkDicer(const vtkDicer&);  // Not implemented.
00143   void operator=(const vtkDicer&);  // Not implemented.
00144 };
00145 
00146 #endif
00147 
00148