dox/Hybrid/vtk3DWidget.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00062
#ifndef __vtk3DWidget_h
00063
#define __vtk3DWidget_h
00064
00065
#include "vtkInteractorObserver.h"
00066
00067
class vtkDataSet;
00068
class vtkProp3D;
00069
00070 class VTK_HYBRID_EXPORT vtk3DWidget :
public vtkInteractorObserver
00071 {
00072
public:
00073 vtkTypeRevisionMacro(vtk3DWidget,
vtkInteractorObserver);
00074
void PrintSelf(ostream& os,
vtkIndent indent);
00075
00077
00084
virtual void PlaceWidget(
float bounds[6]) = 0;
00085
void PlaceWidget();
00086
void PlaceWidget(
float xmin,
float xmax,
float ymin,
float ymax,
00087
float zmin,
float zmax);
00089
00091
00094
virtual void SetProp3D(
vtkProp3D*);
00095 vtkGetObjectMacro(Prop3D,
vtkProp3D);
00097
00099
00102
virtual void SetInput(
vtkDataSet*);
00103 vtkGetObjectMacro(Input,
vtkDataSet);
00105
00107
00113 vtkSetClampMacro(PlaceFactor,
float,0.01,VTK_LARGE_FLOAT);
00114 vtkGetMacro(PlaceFactor,
float);
00116
00118
00122 vtkSetClampMacro(HandleSize,
float,0.001,0.5);
00123 vtkGetMacro(HandleSize,
float);
00125
00126
protected:
00127 vtk3DWidget();
00128 ~vtk3DWidget();
00129
00130
00131 vtkProp3D *Prop3D;
00132 vtkDataSet *Input;
00133
00134
00135 float PlaceFactor;
00136 int Placed;
00137
void AdjustBounds(
float bounds[6],
float newBounds[6],
float center[3]);
00138
00139
00140 float InitialBounds[6];
00141 float InitialLength;
00142 float HandleSize;
00143
float SizeHandles(
float factor);
00144 virtual void SizeHandles() {}
00145
00146
00147 int ValidPick;
00148 float LastPickPosition[3];
00149
00150
private:
00151 vtk3DWidget(
const vtk3DWidget&);
00152
void operator=(
const vtk3DWidget&);
00153
00154 };
00155
00156
#endif