VTK
vtkOrientedGlyphContourRepresentation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOrientedGlyphContourRepresentation.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 =========================================================================*/
31 #ifndef vtkOrientedGlyphContourRepresentation_h
32 #define vtkOrientedGlyphContourRepresentation_h
33 
34 #include "vtkInteractionWidgetsModule.h" // For export macro
36 
37 class vtkProperty;
38 class vtkActor;
39 class vtkPolyDataMapper;
40 class vtkPolyData;
41 class vtkGlyph3D;
42 class vtkPoints;
43 
44 class VTKINTERACTIONWIDGETS_EXPORT vtkOrientedGlyphContourRepresentation : public vtkContourRepresentation
45 {
46 public:
51 
53 
57  void PrintSelf(ostream& os, vtkIndent indent);
59 
61 
66  void SetCursorShape(vtkPolyData *cursorShape);
67  vtkPolyData *GetCursorShape();
69 
71 
76  void SetActiveCursorShape(vtkPolyData *activeShape);
77  vtkPolyData *GetActiveCursorShape();
79 
81 
85  vtkGetObjectMacro(Property,vtkProperty);
87 
89 
93  vtkGetObjectMacro(ActiveProperty,vtkProperty);
95 
97 
100  vtkGetObjectMacro(LinesProperty,vtkProperty);
102 
104 
109  virtual void SetRenderer(vtkRenderer *ren);
110  virtual void BuildRepresentation();
111  virtual void StartWidgetInteraction(double eventPos[2]);
112  virtual void WidgetInteraction(double eventPos[2]);
113  virtual int ComputeInteractionState(int X, int Y, int modified=0);
115 
117 
120  virtual void GetActors(vtkPropCollection *);
121  virtual void ReleaseGraphicsResources(vtkWindow *);
122  virtual int RenderOverlay(vtkViewport *viewport);
123  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
124  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
125  virtual int HasTranslucentPolygonalGeometry();
127 
132 
134 
140  vtkSetMacro( AlwaysOnTop, int );
141  vtkGetMacro( AlwaysOnTop, int );
142  vtkBooleanMacro( AlwaysOnTop, int );
144 
149  void SetLineColor(double r, double g, double b);
150 
155  virtual void SetShowSelectedNodes(int);
156 
160  virtual double *GetBounds();
161 
162 protected:
165 
166  // Render the cursor
179 
186  void CreateSelectedNodesRepresentation();
187 
191 
192  // Support picking
193  double LastPickPosition[3];
194  double LastEventPosition[2];
195 
196  // Methods to manipulate the cursor
197  void Translate(double eventPos[2]);
198  void Scale(double eventPos[2]);
199  void ShiftContour(double eventPos[2]);
200  void ScaleContour(double eventPos[2]);
201 
202  void ComputeCentroid(double* ioCentroid);
203 
204  // Properties used to control the appearance of selected objects and
205  // the manipulator in general.
209  void CreateDefaultProperties();
210 
211 
212  // Distance between where the mouse event happens and where the
213  // widget is focused - maintain this distance during interaction.
214  double InteractionOffset[2];
215 
217 
218  virtual void BuildLines();
219 
220 private:
222  void operator=(const vtkOrientedGlyphContourRepresentation&) VTK_DELETE_FUNCTION;
223 };
224 
225 #endif
void PrintSelf(ostream &os, vtkIndent indent)
Standard VTK methods.
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
virtual void WidgetInteraction(double e[2])=0
These are methods that satisfy vtkWidgetRepresentation's API.
abstract specification for Viewports
Definition: vtkViewport.h:47
represent surface properties of a geometric object
Definition: vtkProperty.h:64
Default representation for the contour widget.
virtual vtkPolyData * GetContourRepresentationAsPolyData()=0
Get the points in this contour as a vtkPolyData.
virtual void SetRenderer(vtkRenderer *ren)
Subclasses of vtkWidgetRepresentation must implement these methods.
abstract specification for renderers
Definition: vtkRenderer.h:63
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
represent the vtkContourWidget
virtual int RenderOpaqueGeometry(vtkViewport *viewport)=0
Methods required by vtkProp superclass.
virtual void StartWidgetInteraction(double e[2])=0
These are methods that satisfy vtkWidgetRepresentation's API.
a list of Props
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
virtual double * GetBounds()
Methods to make this class behave as a vtkProp.
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)=0
Methods required by vtkProp superclass.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual int RenderOverlay(vtkViewport *viewport)=0
Methods required by vtkProp superclass.
virtual void BuildLines()=0
copy oriented and scaled glyph geometry to every input point
Definition: vtkGlyph3D.h:111
virtual void SetShowSelectedNodes(int)
A flag to indicate whether to show the Selected nodes Default is to set it to false.
virtual void GetActors(vtkPropCollection *)
For some exporters and other other operations we must be able to collect all the actors or volumes...
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
map vtkPolyData to graphics primitives
virtual int HasTranslucentPolygonalGeometry()=0
Methods required by vtkProp superclass.
virtual int ComputeInteractionState(int X, int Y, int modified=0)=0
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void BuildRepresentation()=0
These are methods that satisfy vtkWidgetRepresentation's API.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
virtual void ReleaseGraphicsResources(vtkWindow *w)=0
Methods required by vtkProp superclass.
represent and manipulate 3D points
Definition: vtkPoints.h:39