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 =========================================================================*/
33 #ifndef __vtkPolyDataPointPlacer_h
34 #define __vtkPolyDataPointPlacer_h
35 
36 #include "vtkPointPlacer.h"
37 
38 class vtkRenderer;
39 class vtkPropCollection;
40 class vtkProp;
41 class vtkPropPicker;
42 
44 {
45 public:
47  static vtkPolyDataPointPlacer *New();
48 
50 
52  void PrintSelf(ostream& os, vtkIndent indent);
54 
55  // Descuription:
56  // Add an actor (that represents a terrain in a rendererd scene) to the
57  // list. Only props in this list are considered by the PointPlacer
58  virtual void AddProp( vtkProp * );
59  virtual void RemoveViewProp(vtkProp *prop);
60  virtual void RemoveAllProps();
61  int HasProp( vtkProp * );
62  int GetNumberOfProps();
63 
65 
70  virtual int ComputeWorldPosition( vtkRenderer *ren,
71  double displayPos[2],
72  double worldPos[3],
73  double worldOrient[9] );
75 
77 
80  virtual int ComputeWorldPosition( vtkRenderer *ren,
81  double displayPos[2],
82  double refWorldPos[3],
83  double worldPos[3],
84  double worldOrient[9] );
86 
89  virtual int ValidateWorldPosition( double worldPos[3] );
90 
92  virtual int ValidateDisplayPosition( vtkRenderer *, double displayPos[2] );
93 
95 
97  virtual int ValidateWorldPosition( double worldPos[3],
98  double worldOrient[9] );
100 
102 
103  vtkGetObjectMacro( PropPicker, vtkPropPicker );
105 
106 protected:
109 
110  // The props that represents the terrain data (one or more) in a rendered
111  // scene
114 
115 private:
116  vtkPolyDataPointPlacer(const vtkPolyDataPointPlacer&); //Not implemented
117  void operator=(const vtkPolyDataPointPlacer&); //Not implemented
118 };
119 
120 #endif
121 
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
virtual int ComputeWorldPosition(vtkRenderer *ren, double displayPos[2], double worldPos[3], double worldOrient[9])
pick an actor/prop using graphics hardware
Definition: vtkPropPicker.h:43
abstract specification for renderers
Definition: vtkRenderer.h:69
void PrintSelf(ostream &os, vtkIndent indent)
a list of Props
vtkPropCollection * SurfaceProps
a simple class to control print indentation
Definition: vtkIndent.h:37
virtual int ValidateDisplayPosition(vtkRenderer *, double displayPos[2])
Abstract interface to translate 2D display positions to world coordinates.
Base class to place points given constraints on polygonal data.
#define VTK_WIDGETS_EXPORT
virtual int ValidateWorldPosition(double worldPos[3])
static vtkPointPlacer * New()