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
37class vtkProperty;
38class vtkActor;
40class vtkPolyData;
41class vtkGlyph3D;
42class vtkPoints;
43
44class VTKINTERACTIONWIDGETS_EXPORT vtkOrientedGlyphContourRepresentation : public vtkContourRepresentation
45{
46public:
51
53
57 void PrintSelf(ostream& os, vtkIndent indent);
59
61
66 void SetCursorShape(vtkPolyData *cursorShape);
69
71
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
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
162protected:
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
220private:
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.
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.
static vtkOrientedGlyphContourRepresentation * New()
Instantiate this class.
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...
void SetCursorShape(vtkPolyData *cursorShape)
Specify the cursor shape.
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
virtual double * GetBounds()
Return the bounds of the representation.
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.