vtkExtractUserDefinedPiece.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00046 #ifndef __vtkExtractUserDefinedPiece_h
00047 #define __vtkExtractUserDefinedPiece_h
00048
00049 #include "vtkExtractUnstructuredGridPiece.h"
00050
00051 class VTK_PARALLEL_EXPORT vtkExtractUserDefinedPiece : public vtkExtractUnstructuredGridPiece
00052 {
00053 public:
00054 vtkTypeRevisionMacro(vtkExtractUserDefinedPiece, vtkExtractUnstructuredGridPiece);
00055 static vtkExtractUserDefinedPiece *New();
00056 virtual void PrintSelf(ostream& os, vtkIndent indent);
00057
00058
00059 typedef int (*UserDefFunc)(vtkIdType cellID, vtkUnstructuredGrid *grid, void *constantData);
00060
00061
00062
00063
00064 void SetPieceFunction(UserDefFunc func) {this->InPiece = func; this->Modified();}
00065
00066
00067 void SetConstantData(void *data, int len);
00068
00069
00070
00071 int GetConstantData(void **data);
00072
00073
00074
00075
00076 protected:
00077
00078 vtkExtractUserDefinedPiece();
00079 ~vtkExtractUserDefinedPiece();
00080
00081 void Execute();
00082
00083 void ComputeCellTagsWithFunction(vtkIntArray *tags, vtkIdList *pointOwnership);
00084
00085 private:
00086 vtkExtractUserDefinedPiece(const vtkExtractUserDefinedPiece&);
00087 void operator=(const vtkExtractUserDefinedPiece&);
00088
00089 void *ConstantData;
00090 int ConstantDataLen;
00091
00092 UserDefFunc InPiece;
00093 };
00094 #endif