1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    vtkResliceCursorLineRepresentation.h
5 
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10      This software is distributed WITHOUT ANY WARRANTY; without even
11      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12      PURPOSE.  See the above copyright notice for more information.
13 
14 =========================================================================*/
15 // .NAME vtkResliceCursorThickLineRepresentation - represents a thick slab of the reslice cursor widget
16 // .SECTION Description
17 // This class respresents a thick reslice cursor, that can be used to
18 // perform interactive thick slab MPR's through data. The class internally
19 // uses vtkImageSlabReslice to do its reslicing. The slab thickness is set
20 // interactively from the widget. The slab resolution (ie the number of
21 // blend points) is set as the minimum spacing along any dimension from
22 // the dataset.
23 // .SECTION See Also
24 // vtkImageSlabReslice vtkResliceCursorLineRepresentation vtkResliceCursorWidget
25 
26 #ifndef vtkResliceCursorThickLineRepresentation_h
27 #define vtkResliceCursorThickLineRepresentation_h
28 
29 #include "vtkInteractionWidgetsModule.h" // For export macro
30 #include "vtkResliceCursorLineRepresentation.h"
31 
32 class VTKINTERACTIONWIDGETS_EXPORT vtkResliceCursorThickLineRepresentation : public vtkResliceCursorLineRepresentation
33 {
34 public:
35   // Description:
36   // Instantiate the class.
37   static vtkResliceCursorThickLineRepresentation *New();
38 
39   // Description:
40   // Standard VTK methods.
41   vtkTypeMacro(vtkResliceCursorThickLineRepresentation,vtkResliceCursorLineRepresentation);
42   void PrintSelf(ostream& os, vtkIndent indent);
43 
44   // Description:
45   // INTERNAL - Do not use
46   // Create the thick reformat class. This overrides the superclass
47   // implementation and creates a vtkImageSlabReslice instead of a
48   // vtkImageReslice.
49   virtual void CreateDefaultResliceAlgorithm();
50 
51   // Description:
52   // INTERNAL - Do not use
53   // Reslice parameters which are set from vtkResliceCursorWidget based on
54   // user interactions.
55   virtual void SetResliceParameters(
56       double outputSpacingX, double outputSpacingY,
57       int extentX, int extentY );
58 
59 protected:
60   vtkResliceCursorThickLineRepresentation();
61   ~vtkResliceCursorThickLineRepresentation();
62 
63 private:
64   vtkResliceCursorThickLineRepresentation(const vtkResliceCursorThickLineRepresentation&);  //Not implemented
65   void operator=(const vtkResliceCursorThickLineRepresentation&);  //Not implemented
66 };
67 
68 #endif
69