VTK
vtkFocalPlanePointPlacer.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkFocalPlanePointPlacer.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// .SECTION Description
16//
17//
18// .SECTION See Also
19
20#ifndef vtkFocalPlanePointPlacer_h
21#define vtkFocalPlanePointPlacer_h
22
23#include "vtkInteractionWidgetsModule.h" // For export macro
24#include "vtkPointPlacer.h"
25
26class vtkRenderer;
27
28class VTKINTERACTIONWIDGETS_EXPORT vtkFocalPlanePointPlacer : public vtkPointPlacer
29{
30public:
35
37
41 void PrintSelf(ostream& os, vtkIndent indent);
43
44 // Descirption:
45 // Given a renderer and a display position, compute
46 // the world position and orientation. The orientation
47 // computed by the placer will always line up with the
48 // standard coordinate axes. The world position will be
49 // computed by projecting the display position onto the
50 // focal plane. This method is typically used to place a
51 // point for the first time.
53 double displayPos[2],
54 double worldPos[3],
55 double worldOrient[9] );
56
68 double displayPos[2],
69 double refWorldPos[3],
70 double worldPos[3],
71 double worldOrient[9] );
72
74
78 int ValidateWorldPosition( double worldPos[3] );
79 int ValidateWorldPosition( double worldPos[3],
80 double worldOrient[9]);
82
84
89 vtkSetMacro( Offset, double );
90 vtkGetMacro( Offset, double );
92
94
98 vtkSetVector6Macro( PointBounds, double );
99 vtkGetVector6Macro( PointBounds, double );
101
102protected:
105
106 void GetCurrentOrientation( double worldOrient[9] );
107
108 double PointBounds[6];
109 double Offset;
110
111private:
112 vtkFocalPlanePointPlacer(const vtkFocalPlanePointPlacer&) VTK_DELETE_FUNCTION;
113 void operator=(const vtkFocalPlanePointPlacer&) VTK_DELETE_FUNCTION;
114};
115
116#endif
int ValidateWorldPosition(double worldPos[3], double worldOrient[9])
Given a world position and a world orientation, validate it according to the constraints of the place...
int ValidateWorldPosition(double worldPos[3])
Validate a world position.
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double refWorldPos[3], double worldPos[3], double worldOrient[9])
Given a renderer, a display position, and a reference world position, compute a new world position.
void GetCurrentOrientation(double worldOrient[9])
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9])
Given a renderer and a display position in pixel coordinates, compute the world position and orientat...
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
static vtkFocalPlanePointPlacer * New()
Instantiate this class.
a simple class to control print indentation
Definition: vtkIndent.h:40
Abstract interface to translate 2D display positions to world coordinates.
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.