VTK  9.1.0
vtkSeedRepresentation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSeedRepresentation.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=========================================================================*/
37#ifndef vtkSeedRepresentation_h
38#define vtkSeedRepresentation_h
39
40#include "vtkInteractionWidgetsModule.h" // For export macro
42
43class vtkHandleList;
45
46class VTKINTERACTIONWIDGETS_EXPORT vtkSeedRepresentation : public vtkWidgetRepresentation
47{
48public:
53
55
59 void PrintSelf(ostream& os, vtkIndent indent) override;
61
63
69 virtual void GetSeedWorldPosition(unsigned int seedNum, double pos[3]);
70 virtual void SetSeedWorldPosition(unsigned int seedNum, double pos[3]);
71 virtual void SetSeedDisplayPosition(unsigned int seedNum, double pos[3]);
72 virtual void GetSeedDisplayPosition(unsigned int seedNum, double pos[3]);
74
79
89
96
98
101 vtkHandleRepresentation* GetHandleRepresentation() { return this->HandleRepresentation; };
103
105
110 vtkSetClampMacro(Tolerance, int, 1, 100);
111 vtkGetMacro(Tolerance, int);
113
114 // Used to communicate about the state of the representation
115 enum
116 {
117 Outside = 0,
118 NearSeed
119 };
120
122
126 virtual int GetActiveHandle();
127 virtual void SetActiveHandle(int handleId);
128 // Returns the id of the seed created, -1 on failure. e is the display position.
129 virtual int CreateHandle(double e[2]);
130 // Delete last handle created
131 virtual void RemoveLastHandle();
132 // Delete the currently active handle
133 virtual void RemoveActiveHandle();
135
139 virtual void RemoveHandle(int n);
140
142
145 void BuildRepresentation() override;
146 int ComputeInteractionState(int X, int Y, int modify = 0) override;
148
149protected:
152
153 // The handle and the rep used to close the handles
155 vtkHandleList* Handles;
156
157 // Selection tolerance for the handles
159
160 // The active seed (handle) based on the last ComputeInteractionState()
162
163private:
165 void operator=(const vtkSeedRepresentation&) = delete;
166};
167
168#endif
abstract class for representing widget handles
a simple class to control print indentation
Definition: vtkIndent.h:43
represent the vtkSeedWidget
virtual int CreateHandle(double e[2])
These are methods specific to vtkSeedRepresentation and which are invoked from vtkSeedWidget.
int GetNumberOfSeeds()
Return the number of seeds (or handles) that have been created.
~vtkSeedRepresentation() override
virtual void SetActiveHandle(int handleId)
These are methods specific to vtkSeedRepresentation and which are invoked from vtkSeedWidget.
virtual void GetSeedWorldPosition(unsigned int seedNum, double pos[3])
Methods to Set/Get the coordinates of seed points defining this representation.
virtual int GetActiveHandle()
These are methods specific to vtkSeedRepresentation and which are invoked from vtkSeedWidget.
vtkHandleRepresentation * HandleRepresentation
virtual void SetSeedWorldPosition(unsigned int seedNum, double pos[3])
Methods to Set/Get the coordinates of seed points defining this representation.
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
virtual void RemoveLastHandle()
These are methods specific to vtkSeedRepresentation and which are invoked from vtkSeedWidget.
virtual void RemoveHandle(int n)
Remove the nth handle.
vtkHandleRepresentation * GetHandleRepresentation()
Returns the model HandleRepresentation.
void SetHandleRepresentation(vtkHandleRepresentation *handle)
This method is used to specify the type of handle representation to use for the internal vtkHandleWid...
vtkHandleRepresentation * GetHandleRepresentation(unsigned int num)
Get the handle representations used for a particular seed.
virtual void RemoveActiveHandle()
These are methods specific to vtkSeedRepresentation and which are invoked from vtkSeedWidget.
int ComputeInteractionState(int X, int Y, int modify=0) override
These are methods that satisfy vtkWidgetRepresentation's API.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard VTK methods.
virtual void SetSeedDisplayPosition(unsigned int seedNum, double pos[3])
Methods to Set/Get the coordinates of seed points defining this representation.
virtual void GetSeedDisplayPosition(unsigned int seedNum, double pos[3])
Methods to Set/Get the coordinates of seed points defining this representation.
static vtkSeedRepresentation * New()
Instantiate class.
abstract class defines interface between the widget and widget representation classes