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:
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
vtkGetVector6Macro
#define vtkGetVector6Macro(name, type)
Definition: vtkSetGet.h:380
vtkFocalPlanePointPlacer
Definition: vtkFocalPlanePointPlacer.h:29
vtkFocalPlanePointPlacer::vtkFocalPlanePointPlacer
vtkFocalPlanePointPlacer()
vtkPointPlacer
Abstract interface to translate 2D display positions to world coordinates.
Definition: vtkPointPlacer.h:49
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkInteractionWidgetsModule.h
vtkFocalPlanePointPlacer::ComputeWorldPosition
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double refWorldPos[3], double worldPos[3], double worldOrient[9])
vtkFocalPlanePointPlacer::Offset
double Offset
Definition: vtkFocalPlanePointPlacer.h:97
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkFocalPlanePointPlacer::~vtkFocalPlanePointPlacer
~vtkFocalPlanePointPlacer()
vtkFocalPlanePointPlacer::ValidateWorldPosition
int ValidateWorldPosition(double worldPos[3])
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkFocalPlanePointPlacer::ComputeWorldPosition
int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9])
VTKINTERACTIONWIDGETS_EXPORT
#define VTKINTERACTIONWIDGETS_EXPORT
Definition: vtkInteractionWidgetsModule.h:15
vtkFocalPlanePointPlacer::New
static vtkFocalPlanePointPlacer * New()
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkSetVector6Macro
#define vtkSetVector6Macro(name, type)
Definition: vtkSetGet.h:360
vtkFocalPlanePointPlacer::ValidateWorldPosition
int ValidateWorldPosition(double worldPos[3], double worldOrient[9])
vtkPointPlacer.h
vtkFocalPlanePointPlacer::GetCurrentOrientation
void GetCurrentOrientation(double worldOrient[9])
vtkFocalPlanePointPlacer::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)