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);
69 
71 
76  void SetActiveCursorShape(vtkPolyData *activeShape);
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 *);
122  virtual int RenderOverlay(vtkViewport *viewport);
123  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
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 
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.
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
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:52
represent the vtkContourWidget
copy oriented and scaled glyph geometry to every input point
Definition: vtkGlyph3D.h:112
a simple class to control print indentation
Definition: vtkIndent.h:40
Default representation for the contour widget.
virtual void ReleaseGraphicsResources(vtkWindow *)
Methods required by vtkProp superclass.
virtual int ComputeInteractionState(int X, int Y, int modified=0)
virtual vtkPolyData * GetContourRepresentationAsPolyData()
Get the points in this contour as a vtkPolyData.
virtual double * GetBounds()
Return the bounds of the representation.
void ShiftContour(double eventPos[2])
virtual void StartWidgetInteraction(double eventPos[2])
void ScaleContour(double eventPos[2])
void SetActiveCursorShape(vtkPolyData *activeShape)
Specify the shape of the cursor (handle) when it is active.
virtual void SetRenderer(vtkRenderer *ren)
Subclasses of vtkOrientedGlyphContourRepresentation must implement these methods.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual int RenderOverlay(vtkViewport *viewport)
virtual void SetShowSelectedNodes(int)
A flag to indicate whether to show the Selected nodes Default is to set it to false.
void ComputeCentroid(double *ioCentroid)
void Scale(double eventPos[2])
void Translate(double eventPos[2])
virtual int HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
static vtkOrientedGlyphContourRepresentation * New()
Instantiate this class.
void SetCursorShape(vtkPolyData *cursorShape)
Specify the cursor shape.
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
void SetLineColor(double r, double g, double b)
Convenience method to set the line color.
virtual void BuildRepresentation()
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void GetActors(vtkPropCollection *)
Methods to make this class behave as a vtkProp.
virtual void WidgetInteraction(double eventPos[2])
represent and manipulate 3D points
Definition: vtkPoints.h:40
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
a list of Props
represent surface properties of a geometric object
Definition: vtkProperty.h:65
abstract specification for renderers
Definition: vtkRenderer.h:64
abstract specification for Viewports
Definition: vtkViewport.h:48
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.