VTK
vtkResliceCursorActor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkResliceCursorActor.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 =========================================================================*/
26 #ifndef vtkResliceCursorActor_h
27 #define vtkResliceCursorActor_h
28 
29 #include "vtkInteractionWidgetsModule.h" // For export macro
30 #include "vtkProp3D.h"
31 
32 class vtkResliceCursor;
34 class vtkPolyDataMapper;
35 class vtkActor;
36 class vtkProperty;
37 class vtkBoundingBox;
38 
40 {
41 
42 public:
43 
45 
46  static vtkResliceCursorActor *New();
48  void PrintSelf(ostream& os, vtkIndent indent);
50 
52 
53  vtkGetObjectMacro( CursorAlgorithm, vtkResliceCursorPolyDataAlgorithm );
55 
57  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
58 
60  virtual int HasTranslucentPolygonalGeometry();
61 
66 
68  double *GetBounds();
69 
71  unsigned long int GetMTime();
72 
74 
75  vtkProperty *GetCenterlineProperty( int i );
76  vtkProperty *GetThickSlabProperty( int i );
78 
80  vtkActor * GetCenterlineActor(int axis);
81 
83  virtual void SetUserMatrix( vtkMatrix4x4 *matrix);
84 
85 protected:
88 
89  void UpdateViewProps( vtkViewport * v = NULL );
90  void UpdateHoleSize( vtkViewport * v );
91 
93  vtkPolyDataMapper * CursorCenterlineMapper[3];
94  vtkActor * CursorCenterlineActor[3];
95  vtkPolyDataMapper * CursorThickSlabMapper[3];
96  vtkActor * CursorThickSlabActor[3];
97  vtkProperty * CenterlineProperty[3];
98  vtkProperty * ThickSlabProperty[3];
99 
100 private:
101  vtkResliceCursorActor(const vtkResliceCursorActor&); // Not implemented.
102  void operator=(const vtkResliceCursorActor&); // Not implemented.
103 };
104 
105 #endif
vtkResliceCursorPolyDataAlgorithm * CursorAlgorithm
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:38
void SetUserMatrix(vtkMatrix4x4 *matrix)
abstract specification for Viewports
Definition: vtkViewport.h:46
represent surface properties of a geometric object
Definition: vtkProperty.h:63
virtual int RenderOpaqueGeometry(vtkViewport *)
Definition: vtkProp.h:198
virtual int HasTranslucentPolygonalGeometry()
Definition: vtkProp.h:262
generates a 2D reslice cursor polydata
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:42
virtual void ReleaseGraphicsResources(vtkWindow *)
Definition: vtkProp.h:270
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
#define VTKINTERACTIONWIDGETS_EXPORT
a simple class to control print indentation
Definition: vtkIndent.h:38
void PrintSelf(ostream &os, vtkIndent indent)
Represent a reslice cursor.
map vtkPolyData to graphics primitives
virtual double * GetBounds()=0
static vtkObject * New()
unsigned long int GetMTime()
Fast Simple Class for dealing with 3D bounds.
Geometry for a reslice cursor.