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