VTK  9.0.3
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 =========================================================================*/
28 #ifndef vtkSeedRepresentation_h
29 #define vtkSeedRepresentation_h
30 
31 #include "vtkInteractionWidgetsModule.h" // For export macro
33 
34 class vtkHandleList;
36 
37 class VTKINTERACTIONWIDGETS_EXPORT vtkSeedRepresentation : public vtkWidgetRepresentation
38 {
39 public:
44 
46 
50  void PrintSelf(ostream& os, vtkIndent indent) override;
52 
54 
60  virtual void GetSeedWorldPosition(unsigned int seedNum, double pos[3]);
61  virtual void SetSeedWorldPosition(unsigned int seedNum, double pos[3]);
62  virtual void SetSeedDisplayPosition(unsigned int seedNum, double pos[3]);
63  virtual void GetSeedDisplayPosition(unsigned int seedNum, double pos[3]);
65 
70 
80 
87 
89 
92  vtkHandleRepresentation* GetHandleRepresentation() { return this->HandleRepresentation; };
94 
96 
101  vtkSetClampMacro(Tolerance, int, 1, 100);
102  vtkGetMacro(Tolerance, int);
104 
105  // Used to communicate about the state of the representation
106  enum
107  {
108  Outside = 0,
109  NearSeed
110  };
111 
113 
117  virtual int GetActiveHandle();
118  virtual void SetActiveHandle(int handleId);
119  // Returns the id of the seed created, -1 on failure. e is the display position.
120  virtual int CreateHandle(double e[2]);
121  // Delete last handle created
122  virtual void RemoveLastHandle();
123  // Delete the currently active handle
124  virtual void RemoveActiveHandle();
126 
130  virtual void RemoveHandle(int n);
131 
133 
136  void BuildRepresentation() override;
137  int ComputeInteractionState(int X, int Y, int modify = 0) override;
139 
140 protected:
143 
144  // The handle and the rep used to close the handles
146  vtkHandleList* Handles;
147 
148  // Selection tolerance for the handles
150 
151  // The active seed (handle) based on the last ComputeInteractionState()
153 
154 private:
156  void operator=(const vtkSeedRepresentation&) = delete;
157 };
158 
159 #endif
abstract class for representing widget handles
a simple class to control print indentation
Definition: vtkIndent.h:34
represent the vtkSeedWidget
virtual int CreateHandle(double e[2])
int GetNumberOfSeeds()
Return the number of seeds (or handles) that have been created.
~vtkSeedRepresentation() override
virtual void SetActiveHandle(int handleId)
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])
void BuildRepresentation() override
These are methods that satisfy vtkWidgetRepresentation's API.
static vtkSeedRepresentation * New()
Instantiate class.
vtkHandleRepresentation * GetHandleRepresentation(unsigned int num)
Get the handle representations used for a particular seed.
virtual void RemoveLastHandle()
virtual void RemoveHandle(int n)
Remove the nth handle.
void SetHandleRepresentation(vtkHandleRepresentation *handle)
This method is used to specify the type of handle representation to use for the internal vtkHandleWid...
virtual void RemoveActiveHandle()
int ComputeInteractionState(int X, int Y, int modify=0) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetSeedDisplayPosition(unsigned int seedNum, double pos[3])
virtual void GetSeedDisplayPosition(unsigned int seedNum, double pos[3])
vtkHandleRepresentation * GetHandleRepresentation()
Returns the model HandleRepresentation.
abstract class defines interface between the widget and widget representation classes