38 #ifndef vtkImplicitPlaneRepresentation_h
39 #define vtkImplicitPlaneRepresentation_h
41 #include "vtkInteractionWidgetsModule.h"
84 void SetOrigin(
double x,
double y,
double z);
85 void SetOrigin(
double x[3]);
87 void GetOrigin(
double xyz[3]);
94 void SetNormal(
double x,
double y,
double z);
95 void SetNormal(
double x[3]);
96 void SetNormalToCamera();
98 void GetNormal(
double xyz[3]);
189 vtkSetVector6Macro(WidgetBounds,
double);
190 vtkGetVector6Macro(WidgetBounds,
double);
203 vtkBooleanMacro(ConstrainToWidgetBounds,
vtkTypeBool);
247 void UpdatePlacement(
void);
254 vtkGetObjectMacro(SelectedNormalProperty,
vtkProperty);
263 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
271 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
286 void SetEdgeColor(
double,
double,
double);
287 void SetEdgeColor(
double x[3]);
296 vtkSetClampMacro(BumpDistance,
double,0.000001,1);
297 vtkGetMacro(BumpDistance,
double);
308 void BumpPlane(
int dir,
double factor);
316 void PushPlane(
double distance);
322 int ComputeInteractionState(
int X,
int Y,
int modify=0) override;
323 void PlaceWidget(
double bounds[6]) override;
324 void BuildRepresentation() override;
325 void StartWidgetInteraction(
double eventPos[2]) override;
326 void WidgetInteraction(
double newEventPos[2]) override;
327 void EndWidgetInteraction(
double newEventPos[2]) override;
328 void StartComplexInteraction(
331 unsigned long event,
void *calldata) override;
332 void ComplexInteraction(
335 unsigned long event,
void *calldata) override;
336 int ComputeComplexInteractionState(
339 unsigned long event,
void *calldata,
int modify = 0) override;
340 void EndComplexInteraction(
343 unsigned long event,
void *calldata) override;
352 void ReleaseGraphicsResources(
vtkWindow*) override;
354 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
355 int HasTranslucentPolygonalGeometry() override;
380 vtkSetClampMacro(InteractionState,
int,Outside,Scaling);
388 virtual void SetRepresentationState(
int);
389 vtkGetMacro(RepresentationState,
int);
395 return this->Plane; }
402 virtual void SetCropPlaneToBoundingBox(
bool);
403 vtkGetMacro(CropPlaneToBoundingBox,
bool);
404 vtkBooleanMacro(CropPlaneToBoundingBox,
bool);
412 vtkGetMacro(SnapToAxes,
bool);
413 vtkSetMacro(SnapToAxes,
bool);
423 double LastEventPosition[3];
424 double LastEventOrientation[4];
425 double StartEventOrientation[4];
432 double SnappedEventOrientation[4];
450 void HighlightOutline(
int highlight);
454 double WidgetBounds[6];
464 void HighlightPlane(
int highlight);
477 void HighlightNormal(
int highlight);
509 void Rotate(
double X,
double Y,
double *p1,
double *p2,
double *vpn);
510 void Rotate3D(
double *p1,
double *p2);
511 void TranslatePlane(
double *p1,
double *p2);
512 void TranslateOutline(
double *p1,
double *p2);
513 void TranslateOrigin(
double *p1,
double *p2);
514 void UpdatePose(
double *p1,
double *d1,
double *p2,
double *d2);
515 void Push(
double *p1,
double *p2);
516 void Scale(
double *p1,
double *p2,
double X,
double Y);
528 void CreateDefaultProperties();
530 void GeneratePlane();