75 #ifndef vtkOrientationMarkerWidget_h
76 #define vtkOrientationMarkerWidget_h
78 #include "vtkInteractionWidgetsModule.h"
84 class vtkOrientationMarkerWidgetObserver;
98 virtual void SetOrientationMarker(
vtkProp* prop);
99 vtkGetObjectMacro(OrientationMarker,
vtkProp);
111 void ExecuteCameraUpdateEvent(
vtkObject* o,
unsigned long event,
void* calldata);
129 void SetOutlineColor(
double r,
double g,
double b);
146 vtkSetVector4Macro(Viewport,
double);
147 vtkGetVector4Macro(Viewport,
double);
156 vtkSetClampMacro(Tolerance,
int, 1, 10);
157 vtkGetMacro(Tolerance,
int);
165 vtkSetClampMacro(Zoom,
double, 0.1, 10.0);
166 vtkGetMacro(Zoom,
double);
174 void Modified() override;
181 void EndInteraction() override;
189 void SetShouldConstrainSize(const
vtkTypeBool shouldConstrainSize);
200 bool SetSizeConstraintDimensionSizes(const
int minDimensionSize, const
int maxDimensionSize);
207 vtkGetMacro(MinDimensionSize,
int);
214 vtkGetMacro(MaxDimensionSize,
int);
219 ~vtkOrientationMarkerWidget() override;
226 unsigned long StartEventObserverId;
228 static
void ProcessEvents(
229 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
232 virtual
void OnLeftButtonDown();
233 virtual
void OnLeftButtonUp();
234 virtual
void OnMouseMove();
237 vtkOrientationMarkerWidgetObserver* Observer;
239 vtkTypeBool Interactive;
248 int StartPosition[2];
266 int MinDimensionSize = 20;
268 int MaxDimensionSize = 500;
272 virtual int ComputeStateBasedOnPosition(
int X,
int Y,
int* pos1,
int* pos2);
275 virtual void SetCursor(
int state);
278 void MoveWidget(
int X,
int Y);
279 void ResizeTopLeft(
int X,
int Y);
280 void ResizeTopRight(
int X,
int Y);
281 void ResizeBottomLeft(
int X,
int Y);
282 void ResizeBottomRight(
int X,
int Y);
284 void SquareRenderer();
285 void UpdateOutline();
289 void UpdateViewport();
293 void UpdateInternalViewport();
297 void ResizeToFitSizeConstraints();
304 void SetupWindowInteraction();
306 void TearDownWindowInteraction();
abstract superclass for all actors, volumes and annotations
abstract base class for most VTK objects
a actor that draws 2D data
virtual void SetEnabled(int)
Methods for turning the interactor observer on and off, and determining its state.
abstract specification for renderers
concrete dataset represents vertices, lines, polygons, and triangle strips
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
an abstract superclass for classes observing events invoked by vtkRenderWindowInteractor ...
a simple class to control print indentation
#define VTK_SIZEHINT(...)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...