VTK
vtkTensorProbeRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTensorProbeRepresentation.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 =========================================================================*/
30 #ifndef __vtkTensorProbeRepresentation_h
31 #define __vtkTensorProbeRepresentation_h
32 
34 
35 class vtkActor;
36 class vtkPolyData;
37 class vtkPolyDataMapper;
38 class vtkGenericCell;
39 
42 {
43 public:
45 
47  void PrintSelf(ostream& os, vtkIndent indent);
49 
51 
52  virtual void BuildRepresentation();
53  virtual int RenderOpaqueGeometry(vtkViewport *);
55 
57 
58  vtkSetVector3Macro( ProbePosition, double );
59  vtkGetVector3Macro( ProbePosition, double );
60  vtkSetMacro( ProbeCellId, vtkIdType );
61  vtkGetMacro( ProbeCellId, vtkIdType );
63 
65  virtual void SetTrajectory( vtkPolyData * );
66 
68  void Initialize();
69 
72  virtual int SelectProbe( int pos[2] ) = 0;
73 
77  virtual int Move( double motionVector[2] );
78 
80 
81  virtual void GetActors(vtkPropCollection *);
82  virtual void ReleaseGraphicsResources(vtkWindow *);
84 
85 protected:
88 
89  void FindClosestPointOnPolyline(
90  double displayPos[2], double closestWorldPos[3], vtkIdType &cellId,
91  int maxSpeed = 10 );
92 
96  double ProbePosition[3];
98 
99 private:
101  const vtkTensorProbeRepresentation&); //Not implemented
102  void operator=(const vtkTensorProbeRepresentation&); //Not implemented
103 
104 };
105 
106 #endif
107