63 #ifndef vtkOrientationMarkerWidget_h
64 #define vtkOrientationMarkerWidget_h
66 #include "vtkInteractionWidgetsModule.h"
70 VTK_ABI_NAMESPACE_BEGIN
74 class vtkOrientationMarkerWidgetObserver;
96 virtual void SetOrientationMarker(
vtkProp* prop);
97 vtkGetObjectMacro(OrientationMarker,
vtkProp);
109 void ExecuteCameraUpdateEvent(
vtkObject* o,
unsigned long event,
void* calldata);
127 void SetOutlineColor(
double r,
double g,
double b);
144 vtkSetVector4Macro(Viewport,
double);
145 vtkGetVector4Macro(Viewport,
double);
154 vtkSetClampMacro(Tolerance,
int, 1, 10);
155 vtkGetMacro(Tolerance,
int);
163 vtkSetClampMacro(Zoom,
double, 0.1, 10.0);
164 vtkGetMacro(Zoom,
double);
172 void Modified() override;
179 void EndInteraction() override;
187 void SetShouldConstrainSize(
vtkTypeBool shouldConstrainSize);
198 bool SetSizeConstraintDimensionSizes(
int minDimensionSize,
int maxDimensionSize);
205 vtkGetMacro(MinDimensionSize,
int);
212 vtkGetMacro(MaxDimensionSize,
int);
217 ~vtkOrientationMarkerWidget() override;
224 unsigned long StartEventObserverId;
226 static
void ProcessEvents(
227 vtkObject*
object,
unsigned long event,
void* clientdata,
void* calldata);
230 virtual
void OnLeftButtonDown();
231 virtual
void OnLeftButtonUp();
232 virtual
void OnMouseMove();
235 vtkOrientationMarkerWidgetObserver* Observer;
237 vtkTypeBool Interactive;
246 int StartPosition[2];
264 int MinDimensionSize = 20;
266 int MaxDimensionSize = 500;
268 bool OrientationMarkerBound =
false;
269 bool RendererBound =
false;
270 bool EventsBound =
false;
274 virtual int ComputeStateBasedOnPosition(
int X,
int Y,
int* pos1,
int* pos2);
277 virtual void SetCursor(
int state);
280 void MoveWidget(
int X,
int Y);
281 void ResizeTopLeft(
int X,
int Y);
282 void ResizeTopRight(
int X,
int Y);
283 void ResizeBottomLeft(
int X,
int Y);
284 void ResizeBottomRight(
int X,
int Y);
286 void SquareRenderer();
287 void UpdateOutline();
291 void UpdateViewport();
295 void UpdateInternalViewport();
299 void ResizeToFitSizeConstraints();
301 void BindOrientationMarker();
302 void UnBindOrientationMarker();
304 void UnBindRenderer();
313 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...