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 
26 class vtkRenderer;
27 
29 {
30 public:
32  static vtkFocalPlanePointPlacer *New();
33 
35 
37  void PrintSelf(ostream& os, vtkIndent indent);
39 
40  // Descirption:
41  // Given a renderer and a display position, compute
42  // the world position and orientation. The orientation
43  // computed by the placer will always line up with the
44  // standard coordinate axes. The world position will be
45  // computed by projecting the display position onto the
46  // focal plane. This method is typically used to place a
47  // point for the first time.
49  double displayPos[2],
50  double worldPos[3],
51  double worldOrient[9] );
52 
54 
61  double displayPos[2],
62  double refWorldPos[3],
63  double worldPos[3],
64  double worldOrient[9] );
66 
68 
70  int ValidateWorldPosition( double worldPos[3] );
71  int ValidateWorldPosition( double worldPos[3],
72  double worldOrient[9]);
74 
76 
79  vtkSetMacro( Offset, double );
80  vtkGetMacro( Offset, double );
82 
84 
86  vtkSetVector6Macro( PointBounds, double );
87  vtkGetVector6Macro( PointBounds, double );
89 
90 protected:
93 
94  void GetCurrentOrientation( double worldOrient[9] );
95 
96  double PointBounds[6];
97  double Offset;
98 
99 private:
100  vtkFocalPlanePointPlacer(const vtkFocalPlanePointPlacer&); //Not implemented
101  void operator=(const vtkFocalPlanePointPlacer&); //Not implemented
102 };
103 
104 #endif
virtual int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9])
abstract specification for renderers
Definition: vtkRenderer.h:63
void PrintSelf(ostream &os, vtkIndent indent)
#define VTKINTERACTIONWIDGETS_EXPORT
a simple class to control print indentation
Definition: vtkIndent.h:38
Abstract interface to translate 2D display positions to world coordinates.
virtual int ValidateWorldPosition(double worldPos[3])
static vtkPointPlacer * New()