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 =========================================================================*/
30 #ifndef vtkOrientedGlyphContourRepresentation_h
31 #define vtkOrientedGlyphContourRepresentation_h
32 
33 #include "vtkInteractionWidgetsModule.h" // For export macro
35 
36 class vtkProperty;
37 class vtkActor;
38 class vtkPolyDataMapper;
39 class vtkPolyData;
40 class vtkGlyph3D;
41 class vtkPoints;
42 
44 {
45 public:
48 
50 
52  void PrintSelf(ostream& os, vtkIndent indent);
54 
56 
59  void SetCursorShape(vtkPolyData *cursorShape);
62 
64 
67  void SetActiveCursorShape(vtkPolyData *activeShape);
70 
72 
76 
78 
80  vtkGetObjectMacro(ActiveProperty,vtkProperty);
82 
84 
87 
89 
92  virtual void SetRenderer(vtkRenderer *ren);
93  virtual void BuildRepresentation();
94  virtual void StartWidgetInteraction(double eventPos[2]);
95  virtual void WidgetInteraction(double eventPos[2]);
96  virtual int ComputeInteractionState(int X, int Y, int modified=0);
98 
100 
101  virtual void GetActors(vtkPropCollection *);
103  virtual int RenderOverlay(vtkViewport *viewport);
104  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
108 
111 
113 
117  vtkSetMacro( AlwaysOnTop, int );
118  vtkGetMacro( AlwaysOnTop, int );
119  vtkBooleanMacro( AlwaysOnTop, int );
121 
124  void SetLineColor(double r, double g, double b);
125 
128  virtual void SetShowSelectedNodes(int);
129 
131  virtual double *GetBounds();
132 
133 protected:
136 
137  // Render the cursor
150 
158 
162 
163  // Support picking
164  double LastPickPosition[3];
165  double LastEventPosition[2];
166 
167  // Methods to manipulate the cursor
168  void Translate(double eventPos[2]);
169  void Scale(double eventPos[2]);
170  void ShiftContour(double eventPos[2]);
171  void ScaleContour(double eventPos[2]);
172 
173  void ComputeCentroid(double* ioCentroid);
174 
175  // Properties used to control the appearance of selected objects and
176  // the manipulator in general.
181 
182 
183  // Distance between where the mouse event happens and where the
184  // widget is focused - maintain this distance during interaction.
185  double InteractionOffset[2];
186 
188 
189  virtual void BuildLines();
190 
191 private:
193  void operator=(const vtkOrientedGlyphContourRepresentation&); //Not implemented
194 };
195 
196 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:42
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkOrientedGlyphContourRepresentation::ActiveProperty
vtkProperty * ActiveProperty
Definition: vtkOrientedGlyphContourRepresentation.h:178
vtkOrientedGlyphContourRepresentation::New
static vtkOrientedGlyphContourRepresentation * New()
vtkOrientedGlyphContourRepresentation::ActiveFocalPoint
vtkPoints * ActiveFocalPoint
Definition: vtkOrientedGlyphContourRepresentation.h:149
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkOrientedGlyphContourRepresentation::GetContourRepresentationAsPolyData
virtual vtkPolyData * GetContourRepresentationAsPolyData()
vtkOrientedGlyphContourRepresentation::FocalData
vtkPolyData * FocalData
Definition: vtkOrientedGlyphContourRepresentation.h:146
vtkOrientedGlyphContourRepresentation::SetLineColor
void SetLineColor(double r, double g, double b)
vtkgl::b
GLboolean GLboolean GLboolean b
Definition: vtkgl.h:12312
vtkOrientedGlyphContourRepresentation::SelectedNodesData
vtkPolyData * SelectedNodesData
Definition: vtkOrientedGlyphContourRepresentation.h:151
vtkOrientedGlyphContourRepresentation::AlwaysOnTop
int AlwaysOnTop
Definition: vtkOrientedGlyphContourRepresentation.h:187
vtkOrientedGlyphContourRepresentation::SetShowSelectedNodes
virtual void SetShowSelectedNodes(int)
vtkOrientedGlyphContourRepresentation::LinesProperty
vtkProperty * LinesProperty
Definition: vtkOrientedGlyphContourRepresentation.h:179
vtkOrientedGlyphContourRepresentation::SetRenderer
virtual void SetRenderer(vtkRenderer *ren)
vtkOrientedGlyphContourRepresentation::GetCursorShape
vtkPolyData * GetCursorShape()
vtkOrientedGlyphContourRepresentation::Glypher
vtkGlyph3D * Glypher
Definition: vtkOrientedGlyphContourRepresentation.h:140
vtkOrientedGlyphContourRepresentation::CreateDefaultProperties
void CreateDefaultProperties()
vtkContourRepresentation
represent the vtkContourWidget
Definition: vtkContourRepresentation.h:120
vtkOrientedGlyphContourRepresentation::ActiveFocalData
vtkPolyData * ActiveFocalData
Definition: vtkOrientedGlyphContourRepresentation.h:148
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkOrientedGlyphContourRepresentation::ComputeInteractionState
virtual int ComputeInteractionState(int X, int Y, int modified=0)
vtkOrientedGlyphContourRepresentation::BuildLines
virtual void BuildLines()
vtkInteractionWidgetsModule.h
vtkOrientedGlyphContourRepresentation::HasTranslucentPolygonalGeometry
virtual int HasTranslucentPolygonalGeometry()
vtkOrientedGlyphContourRepresentation::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkOrientedGlyphContourRepresentation::SelectedNodesMapper
vtkPolyDataMapper * SelectedNodesMapper
Definition: vtkOrientedGlyphContourRepresentation.h:154
vtkOrientedGlyphContourRepresentation::CreateSelectedNodesRepresentation
void CreateSelectedNodesRepresentation()
vtkOrientedGlyphContourRepresentation::GetBounds
virtual double * GetBounds()
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkOrientedGlyphContourRepresentation::RenderOverlay
virtual int RenderOverlay(vtkViewport *viewport)
vtkOrientedGlyphContourRepresentation::SelectedNodesCursorShape
vtkPolyData * SelectedNodesCursorShape
Definition: vtkOrientedGlyphContourRepresentation.h:156
vtkOrientedGlyphContourRepresentation::WidgetInteraction
virtual void WidgetInteraction(double eventPos[2])
vtkOrientedGlyphContourRepresentation::SetActiveCursorShape
void SetActiveCursorShape(vtkPolyData *activeShape)
vtkOrientedGlyphContourRepresentation::Mapper
vtkPolyDataMapper * Mapper
Definition: vtkOrientedGlyphContourRepresentation.h:139
vtkOrientedGlyphContourRepresentation::LinesMapper
vtkPolyDataMapper * LinesMapper
Definition: vtkOrientedGlyphContourRepresentation.h:160
vtkOrientedGlyphContourRepresentation::ActiveActor
vtkActor * ActiveActor
Definition: vtkOrientedGlyphContourRepresentation.h:141
vtkOrientedGlyphContourRepresentation::ComputeCentroid
void ComputeCentroid(double *ioCentroid)
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
vtkOrientedGlyphContourRepresentation::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkContourRepresentation.h
vtkOrientedGlyphContourRepresentation::Translate
void Translate(double eventPos[2])
vtkOrientedGlyphContourRepresentation::ActiveCursorShape
vtkPolyData * ActiveCursorShape
Definition: vtkOrientedGlyphContourRepresentation.h:145
vtkOrientedGlyphContourRepresentation::LinesActor
vtkActor * LinesActor
Definition: vtkOrientedGlyphContourRepresentation.h:161
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkOrientedGlyphContourRepresentation::StartWidgetInteraction
virtual void StartWidgetInteraction(double eventPos[2])
vtkOrientedGlyphContourRepresentation
Default representation for the contour widget.
Definition: vtkOrientedGlyphContourRepresentation.h:44
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkOrientedGlyphContourRepresentation::Property
vtkProperty * Property
Definition: vtkOrientedGlyphContourRepresentation.h:177
vtkGlyph3D
copy oriented and scaled glyph geometry to every input point
Definition: vtkGlyph3D.h:111
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkOrientedGlyphContourRepresentation::RenderOpaqueGeometry
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
vtkOrientedGlyphContourRepresentation::Lines
vtkPolyData * Lines
Definition: vtkOrientedGlyphContourRepresentation.h:159
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkOrientedGlyphContourRepresentation::SelectedNodesPoints
vtkPoints * SelectedNodesPoints
Definition: vtkOrientedGlyphContourRepresentation.h:152
vtkOrientedGlyphContourRepresentation::ShiftContour
void ShiftContour(double eventPos[2])
vtkgl::r
GLdouble GLdouble GLdouble r
Definition: vtkgl.h:11610
vtkOrientedGlyphContourRepresentation::ActiveMapper
vtkPolyDataMapper * ActiveMapper
Definition: vtkOrientedGlyphContourRepresentation.h:142
VTKINTERACTIONWIDGETS_EXPORT
#define VTKINTERACTIONWIDGETS_EXPORT
Definition: vtkInteractionWidgetsModule.h:15
vtkgl::g
GLboolean GLboolean g
Definition: vtkgl.h:12312
vtkOrientedGlyphContourRepresentation::GetActiveCursorShape
vtkPolyData * GetActiveCursorShape()
vtkOrientedGlyphContourRepresentation::ActiveGlypher
vtkGlyph3D * ActiveGlypher
Definition: vtkOrientedGlyphContourRepresentation.h:143
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkOrientedGlyphContourRepresentation::~vtkOrientedGlyphContourRepresentation
~vtkOrientedGlyphContourRepresentation()
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkOrientedGlyphContourRepresentation::SetCursorShape
void SetCursorShape(vtkPolyData *cursorShape)
vtkOrientedGlyphContourRepresentation::SelectedNodesActor
vtkActor * SelectedNodesActor
Definition: vtkOrientedGlyphContourRepresentation.h:153
vtkOrientedGlyphContourRepresentation::ScaleContour
void ScaleContour(double eventPos[2])
vtkOrientedGlyphContourRepresentation::FocalPoint
vtkPoints * FocalPoint
Definition: vtkOrientedGlyphContourRepresentation.h:147
vtkOrientedGlyphContourRepresentation::RenderTranslucentPolygonalGeometry
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
vtkOrientedGlyphContourRepresentation::vtkOrientedGlyphContourRepresentation
vtkOrientedGlyphContourRepresentation()
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:64
vtkOrientedGlyphContourRepresentation::SelectedNodesGlypher
vtkGlyph3D * SelectedNodesGlypher
Definition: vtkOrientedGlyphContourRepresentation.h:155
vtkPropCollection
a list of Props
Definition: vtkPropCollection.h:38
vtkOrientedGlyphContourRepresentation::BuildRepresentation
virtual void BuildRepresentation()
vtkOrientedGlyphContourRepresentation::Actor
vtkActor * Actor
Definition: vtkOrientedGlyphContourRepresentation.h:138
vtkOrientedGlyphContourRepresentation::GetActors
virtual void GetActors(vtkPropCollection *)
vtkOrientedGlyphContourRepresentation::Scale
void Scale(double eventPos[2])
vtkOrientedGlyphContourRepresentation::CursorShape
vtkPolyData * CursorShape
Definition: vtkOrientedGlyphContourRepresentation.h:144