VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Interaction
Widgets
vtkResliceCursorLineRepresentation.h
Go to the documentation of this file.
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
=========================================================================*/
37
#ifndef __vtkResliceCursorLineRepresentation_h
38
#define __vtkResliceCursorLineRepresentation_h
39
40
#include "vtkInteractionWidgetsModule.h"
// For export macro
41
#include "
vtkResliceCursorRepresentation.h
"
42
43
class
vtkPolyData
;
44
class
vtkResliceCursorActor
;
45
class
vtkResliceCursorPolyDataAlgorithm
;
46
class
vtkResliceCursorPicker
;
47
class
vtkResliceCursor
;
48
49
50
class
VTKINTERACTIONWIDGETS_EXPORT
vtkResliceCursorLineRepresentation
:
public
vtkResliceCursorRepresentation
51
{
52
public
:
54
static
vtkResliceCursorLineRepresentation
*
New
();
55
57
58
vtkTypeMacro(
vtkResliceCursorLineRepresentation
,
vtkResliceCursorRepresentation
);
59
void
PrintSelf
(ostream& os,
vtkIndent
indent);
61
63
64
virtual
void
BuildRepresentation
();
65
virtual
int
ComputeInteractionState
(
int
X,
int
Y,
int
modify=0);
66
virtual
void
StartWidgetInteraction
(
double
startEventPos[2]);
67
virtual
void
WidgetInteraction
(
double
e[2]);
68
virtual
void
Highlight
(
int
highlightOn);
70
72
73
virtual
void
ReleaseGraphicsResources
(
vtkWindow
*w);
74
virtual
int
RenderOverlay
(
vtkViewport
*viewport);
75
virtual
int
RenderOpaqueGeometry
(
vtkViewport
*viewport);
76
virtual
int
RenderTranslucentPolygonalGeometry
(
vtkViewport
*viewport);
77
virtual
int
HasTranslucentPolygonalGeometry
();
79
82
virtual
double
*
GetBounds
();
83
85
87
vtkGetObjectMacro( ResliceCursorActor,
vtkResliceCursorActor
);
89
91
virtual
vtkResliceCursor
*
GetResliceCursor
();
92
94
virtual
void
SetUserMatrix(
vtkMatrix4x4
*matrix);
95
96
protected
:
97
vtkResliceCursorLineRepresentation
();
98
~
vtkResliceCursorLineRepresentation
();
99
100
virtual
vtkResliceCursorPolyDataAlgorithm
*
GetCursorAlgorithm
();
101
102
double
RotateAxis(
double
evenPos[2],
int
axis );
103
104
void
RotateAxis(
int
axis,
double
angle );
105
106
void
RotateVectorAboutVector(
double
vectorToBeRotated[3],
107
double
axis[3],
// vector about which we rotate
108
double
angle,
// angle in radians
109
double
o[3] );
110
int
DisplayToReslicePlaneIntersection(
111
double
displayPos[2],
double
intersectionPos[3] );
112
113
vtkResliceCursorActor
*
ResliceCursorActor
;
114
vtkResliceCursorPicker
*
Picker
;
115
116
double
StartPickPosition[3];
117
double
StartCenterPosition[3];
118
119
// Transformation matrices. These have no offset. Offset is recomputed
120
// based on the cursor, so that the center of the cursor has the same
121
// location in transformed space as it does in physical space.
122
vtkMatrix4x4
*
MatrixReslice
;
123
vtkMatrix4x4
*
MatrixView
;
124
vtkMatrix4x4
*
MatrixReslicedView
;
125
126
private
:
127
vtkResliceCursorLineRepresentation
(
const
vtkResliceCursorLineRepresentation
&);
//Not implemented
128
void
operator=(
const
vtkResliceCursorLineRepresentation
&);
//Not implemented
129
};
130
131
#endif
Generated on Thu May 24 2012 22:22:28 for VTK by
1.8.1