00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkSpherePuzzleArrows_h
00025 #define __vtkSpherePuzzleArrows_h
00026
00027 #include "vtkPolyDataAlgorithm.h"
00028
00029 class vtkCellArray;
00030 class vtkPoints;
00031 class vtkSpherePuzzle;
00032
00033 class VTK_GRAPHICS_EXPORT vtkSpherePuzzleArrows : public vtkPolyDataAlgorithm
00034 {
00035 public:
00036 vtkTypeRevisionMacro(vtkSpherePuzzleArrows,vtkPolyDataAlgorithm);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00039 static vtkSpherePuzzleArrows *New();
00040
00042
00046 vtkSetVectorMacro(Permutation,int,32);
00047 vtkGetVectorMacro(Permutation,int,32);
00048 void SetPermutationComponent(int comp, int val);
00049 void SetPermutation(vtkSpherePuzzle *puz);
00051
00052 protected:
00053 vtkSpherePuzzleArrows();
00054 ~vtkSpherePuzzleArrows();
00055
00056 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00057 void AppendArrow(int id0, int id1, vtkPoints *pts, vtkCellArray *polys);
00058
00059 int Permutation[32];
00060
00061 double Radius;
00062
00063 private:
00064 vtkSpherePuzzleArrows(const vtkSpherePuzzleArrows&);
00065 void operator=(const vtkSpherePuzzleArrows&);
00066 };
00067
00068 #endif