VTK
vtkSphereHandleRepresentation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkSphereHandleRepresentation.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 vtkSphereHandleRepresentation_h
31#define vtkSphereHandleRepresentation_h
32
33#include "vtkInteractionWidgetsModule.h" // For export macro
35#include "vtkSphereSource.h" // Needed for delegation to sphere
36
37class vtkSphereSource;
38class vtkProperty;
39class vtkActor;
41class vtkCellPicker;
42
43class VTKINTERACTIONWIDGETS_EXPORT vtkSphereHandleRepresentation
45{
46public:
51
53
57 void PrintSelf(ostream& os, vtkIndent indent);
59
61
68 virtual void SetWorldPosition(double p[3]);
69 virtual void SetDisplayPosition(double p[3]);
71
73
81 vtkSetMacro(TranslationMode,int);
82 vtkGetMacro(TranslationMode,int);
83 vtkBooleanMacro(TranslationMode,int);
85
86 void SetSphereRadius(double);
88
90
95 vtkGetObjectMacro(Property,vtkProperty);
96 vtkGetObjectMacro(SelectedProperty,vtkProperty);
98
100
106 vtkSetClampMacro(HotSpotSize,double,0.0,1.0);
107 vtkGetMacro(HotSpotSize,double);
109
114 virtual void SetHandleSize(double size);
115
117
120 virtual double *GetBounds();
121 virtual void BuildRepresentation();
122 virtual void StartWidgetInteraction(double eventPos[2]);
123 virtual void WidgetInteraction(double eventPos[2]);
124 virtual int ComputeInteractionState(int X, int Y, int modify=0);
125 virtual void PlaceWidget(double bounds[6]);
127
129
132 virtual void ShallowCopy(vtkProp *prop);
133 virtual void DeepCopy(vtkProp *prop);
136 virtual int RenderOpaqueGeometry(vtkViewport *viewport);
140
141 void Highlight(int highlight);
142protected:
145
146 // the cursor3D
150 // void Highlight(int highlight);
151
152 // Do the picking
154 double LastPickPosition[3];
155 double LastEventPosition[2];
156
157 // Register internal Pickers within PickingManager
158 virtual void RegisterPickers();
159
160 // Methods to manipulate the cursor
162 void Translate(double *p1, double *p2);
163 void Scale(double *p1, double *p2, double eventPos[2]);
164 void MoveFocus(double *p1, double *p2);
166
167 // Properties used to control the appearance of selected objects and
168 // the manipulator in general.
172
173 // The size of the hot spot.
175 int DetermineConstraintAxis(int constraint, double *x);
178
179 // Current handle sized (may reflect scaling)
181
182 // Control how translation works
184
185private:
187 void operator=(const vtkSphereHandleRepresentation&) VTK_DELETE_FUNCTION;
188};
189
190#endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:52
ray-cast cell picker for all kinds of Prop3Ds
Definition: vtkCellPicker.h:70
abstract class for representing widget handles
a simple class to control print indentation
Definition: vtkIndent.h:40
map vtkPolyData to graphics primitives
a list of Props
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:48
represent surface properties of a geometric object
Definition: vtkProperty.h:65
A spherical rendition of point in 3D space.
virtual void SetHandleSize(double size)
Overload the superclasses SetHandleSize() method to update internal variables.
void Highlight(int highlight)
virtual int ComputeInteractionState(int X, int Y, int modify=0)
virtual void ShallowCopy(vtkProp *prop)
Methods to make this class behave as a vtkProp.
virtual void GetActors(vtkPropCollection *)
For some exporters and other other operations we must be able to collect all the actors or volumes.
virtual void BuildRepresentation()
virtual void SetWorldPosition(double p[3])
Set the position of the point in world and display coordinates.
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
virtual void DeepCopy(vtkProp *prop)
virtual int HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport)
virtual void RegisterPickers()
Register internal Pickers in the Picking Manager.
virtual void WidgetInteraction(double eventPos[2])
virtual double * GetBounds()
Methods to make this class properly act like a vtkWidgetRepresentation.
virtual void StartWidgetInteraction(double eventPos[2])
void SetProperty(vtkProperty *)
Set/Get the handle properties when unselected and selected.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
void SetSelectedProperty(vtkProperty *)
int DetermineConstraintAxis(int constraint, double *x)
static vtkSphereHandleRepresentation * New()
Instantiate this class.
void Scale(double *p1, double *p2, double eventPos[2])
virtual void SetDisplayPosition(double p[3])
Handles usually have their coordinates set in display coordinates (generally by an associated widget)...
virtual void PlaceWidget(double bounds[6])
void Translate(double *p1, double *p2)
void MoveFocus(double *p1, double *p2)
create a polygonal sphere centered at the origin
abstract specification for Viewports
Definition: vtkViewport.h:48
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
@ size
Definition: vtkX3D.h:253
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.