26 #ifndef RENDERERWIDGET_H
27 #define RENDERERWIDGET_H
33 #include <QVTKWidget.h>
34 #include <vtkSmartPointer.h>
38 class vtkInteractorStyle;
43 class vtkScalarBarActor;
44 class vtkEventQtSlotConnect;
45 class vtkCallbackCommand;
48 class vtkAnnotatedCubeActor;
49 class vtkScalarBarWidget;
54 class GeometricObject;
90 enum CameraOrientation {
163 ControlMode getControlMode()
const;
166 void setControlMode(ControlMode mode);
171 void setPicker(vtkSmartPointer<vtkPicker> woodyWood);
177 void pickActor(
int x,
int y);
180 void keyPressEvent(QKeyEvent* e);
184 static const ScreenshotFormatInfo * getScreenshotFormatInfo(
unsigned int);
188 static const ScreenshotFormatInfo * getScreenshotFormatInfo(ScreenshotFormat);
193 void screenshot(QString filename);
202 void setBackfaceCulling(
bool);
205 bool getBackfaceCulling()
const;
214 void setLightFollowCamera(
bool);
217 bool getLightFollowCamera()
const;
220 void setPointSize(
double size);
223 double getPointSize()
const;
226 void rotateCamera(
double angle,
int axe);
235 void resetCamera(
double bounds[6]);
238 void getCameraSettings(
double position[3],
double focalPoint[3],
double viewUp[3]);
241 void setActiveCamera( vtkCamera * cam );
244 vtkCamera * getActiveCamera();
247 void getMouse3DCoordinates(
double & x,
double & y,
double & z);
250 void setBackgroundColor(
double,
double,
double);
253 void getBackgroundColor(
double&,
double&,
double&);
256 bool getGradientBackground();
259 void setGradientBackground(
bool);
262 void toogle3DRedBlue();
265 void toggleCopyright(
bool);
268 void toggleAxes(
bool);
274 void setColorScale(
bool);
277 bool getColorScale()
const;
283 void setColorScaleMinMax(
double m,
double M);
288 void setColorScaleTitle(QString t);
291 void computeVisiblePropBounds(
double bounds[6]);
306 void addProp(vtkSmartPointer<vtkProp> p,
bool refresh=
false);
309 bool containsProp(vtkSmartPointer<vtkProp>);
315 void removeProp(vtkSmartPointer<vtkProp> p,
bool refresh=
false);
318 void actorTransform(vtkSmartPointer<vtkActor>,
double *,
int ,
double **,
double *,
double *);
339 void actorPicked(vtkSmartPointer<vtkPicker>);
342 void rightButtonPressed();
349 virtual void mouseReleaseEvent(QMouseEvent* event);
352 virtual void mouseMoveEvent(QMouseEvent* event);
372 void resetCameraSettings();
399 static void divertionCallback(vtkObject * caller,
unsigned long eid,
void *clientdata,
void *calldata) {};
402 vtkSmartPointer<vtkCallbackCommand> pickingButtonDiverter;
412 static void buildScreenshotMap();
439 vtkSmartPointer<vtkAxesActor>
axes;
449 #endif //RENDERERWIDGET_H