Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkSlicerReformatLogic.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Program: 3D Slicer
4 
5  Copyright (c) Kitware Inc.
6 
7  See COPYRIGHT.txt
8  or http://www.slicer.org/copyright/copyright.txt for details.
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  This file was originally developed by Michael Jeulin-Lagarrigue, Kitware Inc.
17  and was partially funded by NIH grant 3P41RR013218-12S1
18 
19 ==============================================================================*/
20 
21 // .NAME vtkSlicerReformatLogic - slicer logic class for volumes manipulation
22 // .SECTION Description
23 // This class manages the logic associated with reading, saving,
24 // and changing propertied of the volumes
25 
26 
27 #ifndef __vtkSlicerReformatLogic_h
28 #define __vtkSlicerReformatLogic_h
29 
30 // Slicer includes
31 #include "vtkSlicerModuleLogic.h"
32 
33 // MRML includes
34 
35 // STD includes
36 #include <cstdlib>
37 
38 #include "vtkSlicerReformatModuleLogicExport.h"
39 
40 
42 class VTK_SLICER_REFORMAT_MODULE_LOGIC_EXPORT
44 {
45 public:
46 
47  static vtkSlicerReformatLogic *New();
49  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
50 
52  void SetSliceOrigin(vtkMRMLSliceNode* node, double x, double y, double z);
53  void SetSliceOrigin(vtkMRMLSliceNode* node, double position[3]);
54 
56  void SetSliceNormal(vtkMRMLSliceNode* node, double x, double y, double z);
57  void SetSliceNormal(vtkMRMLSliceNode* node, double normal[3]);
58 
60  void GetVolumeBounds(vtkMRMLSliceNode* node, double bounds[6]);
61 
63  static void GetCenterFromBounds(double bounds[6], double center[3]);
64 
65 protected:
67  virtual ~vtkSlicerReformatLogic();
68 
69 private:
70 
71  vtkSlicerReformatLogic(const vtkSlicerReformatLogic&); // Not implemented
72  void operator=(const vtkSlicerReformatLogic&); // Not implemented
73 };
74 
75 #endif
76 
static vtkSlicerModuleLogic * New()
The Usual vtk class functions.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
MRML node for storing a slice through RAS space.