63 #ifndef vtkOrientationMarkerWidget_h
64 #define vtkOrientationMarkerWidget_h
66 #include "vtkInteractionWidgetsModule.h"
69 VTK_ABI_NAMESPACE_BEGIN
73 class vtkOrientationMarkerWidgetObserver;
87 virtual void SetOrientationMarker(
vtkProp* prop);
88 vtkGetObjectMacro(OrientationMarker,
vtkProp);
100 void ExecuteCameraUpdateEvent(
vtkObject* o,
unsigned long event,
void* calldata);
118 void SetOutlineColor(
double r,
double g,
double b);
135 vtkSetVector4Macro(Viewport,
double);
136 vtkGetVector4Macro(Viewport,
double);
145 vtkSetClampMacro(Tolerance,
int, 1, 10);
146 vtkGetMacro(Tolerance,
int);
154 vtkSetClampMacro(Zoom,
double, 0.1, 10.0);
155 vtkGetMacro(Zoom,
double);
163 void Modified() override;
170 void EndInteraction() override;
178 void SetShouldConstrainSize(
vtkTypeBool shouldConstrainSize);
189 bool SetSizeConstraintDimensionSizes(
int minDimensionSize,
int maxDimensionSize);
196 vtkGetMacro(MinDimensionSize,
int);
203 vtkGetMacro(MaxDimensionSize,
int);
208 ~vtkOrientationMarkerWidget() override;
215 unsigned long StartEventObserverId;
217 static
void ProcessEvents(
218 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
221 virtual
void OnLeftButtonDown();
222 virtual
void OnLeftButtonUp();
223 virtual
void OnMouseMove();
226 vtkOrientationMarkerWidgetObserver* Observer;
228 vtkTypeBool Interactive;
237 int StartPosition[2];
255 int MinDimensionSize = 20;
257 int MaxDimensionSize = 500;
261 virtual int ComputeStateBasedOnPosition(
int X,
int Y,
int* pos1,
int* pos2);
264 virtual void SetCursor(
int state);
267 void MoveWidget(
int X,
int Y);
268 void ResizeTopLeft(
int X,
int Y);
269 void ResizeTopRight(
int X,
int Y);
270 void ResizeBottomLeft(
int X,
int Y);
271 void ResizeBottomRight(
int X,
int Y);
273 void SquareRenderer();
274 void UpdateOutline();
278 void UpdateViewport();
282 void UpdateInternalViewport();
286 void ResizeToFitSizeConstraints();
293 void SetupWindowInteraction();
295 void TearDownWindowInteraction();
298 VTK_ABI_NAMESPACE_END
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...