VTK
vtkPolyDataPointPlacer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPolyDataPointPlacer.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 =========================================================================*/
34 #ifndef vtkPolyDataPointPlacer_h
35 #define vtkPolyDataPointPlacer_h
36 
37 #include "vtkInteractionWidgetsModule.h" // For export macro
38 #include "vtkPointPlacer.h"
39 
40 class vtkRenderer;
41 class vtkPropCollection;
42 class vtkProp;
43 class vtkPropPicker;
44 
45 class VTKINTERACTIONWIDGETS_EXPORT vtkPolyDataPointPlacer : public vtkPointPlacer
46 {
47 public:
51  static vtkPolyDataPointPlacer *New();
52 
54 
58  void PrintSelf(ostream& os, vtkIndent indent);
60 
61  // Descuription:
62  // Add an actor (that represents a terrain in a rendererd scene) to the
63  // list. Only props in this list are considered by the PointPlacer
64  virtual void AddProp( vtkProp * );
65  virtual void RemoveViewProp(vtkProp *prop);
66  virtual void RemoveAllProps();
67  int HasProp( vtkProp * );
68  int GetNumberOfProps();
69 
78  virtual int ComputeWorldPosition( vtkRenderer *ren,
79  double displayPos[2],
80  double worldPos[3],
81  double worldOrient[9] );
82 
89  virtual int ComputeWorldPosition( vtkRenderer *ren,
90  double displayPos[2],
91  double refWorldPos[3],
92  double worldPos[3],
93  double worldOrient[9] );
94 
99  virtual int ValidateWorldPosition( double worldPos[3] );
100 
104  virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
105 
110  virtual int ValidateWorldPosition( double worldPos[3],
111  double worldOrient[9] );
112 
114 
117  vtkGetObjectMacro( PropPicker, vtkPropPicker );
119 
120 protected:
123 
124  // The props that represents the terrain data (one or more) in a rendered
125  // scene
128 
129 private:
130  vtkPolyDataPointPlacer(const vtkPolyDataPointPlacer&) VTK_DELETE_FUNCTION;
131  void operator=(const vtkPolyDataPointPlacer&) VTK_DELETE_FUNCTION;
132 };
133 
134 #endif
135 
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
virtual 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...
pick an actor/prop using graphics hardware
Definition: vtkPropPicker.h:42
abstract specification for renderers
Definition: vtkRenderer.h:63
void PrintSelf(ostream &os, vtkIndent indent)
Standard methods for instances of this class.
a list of Props
vtkPropCollection * SurfaceProps
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual int ValidateDisplayPosition(vtkRenderer *, double displayPos[2])
Given a display position, check the validity of this position.
Abstract interface to translate 2D display positions to world coordinates.
Base class to place points given constraints on polygonal data.
virtual int ValidateWorldPosition(double worldPos[3])
Given a world position check the validity of this position according to the constraints of the placer...
static vtkPointPlacer * New()
Instantiate this class.