Developer documentation | Axl-2.5.1

axlLightsWidget.h
Go to the documentation of this file.
1 /* axlLightsWidget.h ---
2  *
3  * Author: Meriadeg Perrinel
4  * Copyright (C) 2008 - Meriadeg Perrinel, Inria.
5  * Created: Fri Feb 18 17:25:39 2011 (+0100)
6  * Version: $Id$
7  * Last-Updated: Wed Mar 16 21:46:46 2011 (+0100)
8  * By: Meriadeg Perrinel
9  * Update #: 32
10  */
11 
12 /* Commentary:
13  *
14  */
15 
16 /* Change log:
17  *
18  */
19 
20 #ifndef AXLLIGHSSWIDGET_H
21 #define AXLLIGHSSWIDGET_H
22 
23 #include <vtk3DWidget.h>
24 
25 #include "axlVtkViewPluginExport.h"
26 
27 class axlAbstractView;
28 
29 class axlLightsWidgetPrivate;
30 
31 class vtkActor;
32 class vtkActorCollection;
33 class vtkCellPicker;
34 class vtkPlanes;
35 class vtkPoints;
36 class vtkPolyData;
37 class vtkPolyDataMapper;
38 class vtkProp;
39 class vtkProperty;
40 class vtkSphereSource;
41 class vtkTransform;
42 
43 class AXLVTKVIEWPLUGIN_EXPORT axlLightsWidget : public vtk3DWidget
44 {
45 
46 public:
47  static axlLightsWidget *New();
48 
49  vtkTypeMacro(axlLightsWidget,vtk3DWidget);
50 
51  void PrintSelf(ostream& os, vtkIndent indent);
52 
53  void PlaceWidget(double bounds[6]);
54  void PlaceWidget(void) {
55  this->Superclass::PlaceWidget();
56  }
57  void PlaceWidget(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) {
58  this->Superclass::PlaceWidget(xmin,xmax,ymin,ymax,zmin,zmax);
59  }
60 
61  void SetEnabled(int);
62 
63  void initializePoints(void);
64  void resetProperty(void);
65 
66  void update();
67 
68  vtkActor *netActor(void);
69  vtkActorCollection *ptsActors(void);
70 
71 
72 public:
73  void setView(axlAbstractView *view);
74 
75 
76 protected:
78  ~axlLightsWidget(void);
79 
80  int State;
81 
82  enum WidgetState {
87  Outside
88  };
89 
90 
91  int HighlightHandle(vtkProp *prop);
92 
93  static void ProcessEvents(vtkObject* object, unsigned long event, void* clientdata, void* calldata);
94 
95  virtual void OnMouseMove(void);
96  virtual void OnLeftButtonDown(void);
97  virtual void OnLeftButtonUp(void);
98 
99  void CreateDefaultProperties(void);
100 
101 
102 private:
103  axlLightsWidget(const axlLightsWidget&); // Not implemented
104  void operator=(const axlLightsWidget&); // Not implemented
105 
106 private:
107  axlLightsWidgetPrivate *d;
108 };
109 
110 #endif //AXLLIGHSSWIDGET_H
#define AXLVTKVIEWPLUGIN_EXPORT
void PlaceWidget(void)
void PlaceWidget(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)