40 #ifndef vtkDisplaySizedImplicitPlaneRepresentation_h
41 #define vtkDisplaySizedImplicitPlaneRepresentation_h
44 #include "vtkInteractionWidgetsModule.h"
90 void SetOrigin(
double x,
double y,
double z);
91 void SetOrigin(
double x[3]);
93 void GetOrigin(
double xyz[3]);
100 void SetNormal(
double x,
double y,
double z);
101 void SetNormal(
double n[3]);
102 void SetNormalToCamera();
104 void GetNormal(
double xyz[3]);
116 vtkGetMacro(NormalToXAxis, vtkTypeBool);
117 vtkBooleanMacro(NormalToXAxis, vtkTypeBool);
118 void SetNormalToYAxis(vtkTypeBool);
119 vtkGetMacro(NormalToYAxis, vtkTypeBool);
120 vtkBooleanMacro(NormalToYAxis, vtkTypeBool);
121 void SetNormalToZAxis(vtkTypeBool);
122 vtkGetMacro(NormalToZAxis, vtkTypeBool);
123 vtkBooleanMacro(NormalToZAxis, vtkTypeBool);
132 virtual
void SetLockNormalToCamera(vtkTypeBool);
133 vtkGetMacro(LockNormalToCamera, vtkTypeBool);
134 vtkBooleanMacro(LockNormalToCamera, vtkTypeBool);
141 virtual
void SetRadiusMultiplier(
double radiusMultiplier);
142 virtual
double GetRadiusMultiplierMinValue() {
return 0.000001; }
144 vtkGetMacro(RadiusMultiplier,
double);
174 void SetDrawIntersectionEdges(
vtkTypeBool intersectionEdges);
176 vtkBooleanMacro(DrawIntersectionEdges,
vtkTypeBool);
223 vtkSetVector6Macro(WidgetBounds,
double);
224 vtkGetVector6Macro(WidgetBounds,
double);
237 vtkBooleanMacro(ConstrainToWidgetBounds,
vtkTypeBool);
248 vtkSetMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
249 vtkGetMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
250 vtkBooleanMacro(ConstrainMaximumSizeToWidgetBounds,
vtkTypeBool);
293 void UpdatePlacement();
301 vtkGetObjectMacro(SelectedNormalProperty,
vtkProperty);
310 vtkGetObjectMacro(SelectedSphereProperty,
vtkProperty);
319 vtkGetObjectMacro(SelectedPlaneProperty,
vtkProperty);
327 vtkGetObjectMacro(SelectedOutlineProperty,
vtkProperty);
336 vtkGetObjectMacro(SelectedEdgesProperty,
vtkProperty);
343 vtkGetObjectMacro(IntersectionEdgesProperty,
vtkProperty);
351 void SetSelectedWidgetColor(
double,
double,
double);
352 void SetSelectedWidgetColor(
double c[3]);
353 void SetUnselectedWidgetColor(
double,
double,
double);
354 void SetUnselectedWidgetColor(
double c[3]);
363 vtkSetClampMacro(BumpDistance,
double, 0.000001, 1);
364 vtkGetMacro(BumpDistance,
double);
375 void BumpPlane(
int dir,
double factor);
383 void PushPlane(
double distance);
390 vtkGetMacro(PickCameraFocalInfo,
bool);
391 vtkSetMacro(PickCameraFocalInfo,
bool);
392 vtkBooleanMacro(PickCameraFocalInfo,
bool);
402 bool PickOrigin(
int X,
int Y,
bool snapToMeshPoint =
false);
411 bool PickNormal(
int X,
int Y,
bool snapToMeshPoint =
false);
424 unsigned long event,
void* calldata)
override;
426 unsigned long event,
void* calldata)
override;
428 unsigned long event,
void* calldata,
int modify = 0)
override;
430 unsigned long event,
void* calldata)
override;
439 void ReleaseGraphicsResources(
vtkWindow*) override;
441 int RenderTranslucentPolygonalGeometry(
vtkViewport*) override;
442 vtkTypeBool HasTranslucentPolygonalGeometry() override;
457 #if !defined(VTK_LEGACY_REMOVE)
472 vtkSetClampMacro(InteractionState,
int, Outside, Scaling);
480 virtual void SetRepresentationState(
int);
481 vtkGetMacro(RepresentationState,
int);
493 vtkGetMacro(SnapToAxes,
bool);
494 vtkSetMacro(SnapToAxes,
bool);
495 vtkBooleanMacro(SnapToAxes,
bool);
505 vtkGetMacro(AlwaysSnapToNearestAxis,
bool);
508 this->AlwaysSnapToNearestAxis = snap;
509 this->SetNormal(this->GetNormal());
520 double LastEventPosition[3];
521 double LastEventOrientation[4];
522 double StartEventOrientation[4];
529 double SnappedEventOrientation[4];
553 double WidgetBounds[6];
557 void HighlightOutline(
int highlight);
566 void HighlightPlane(
int highlight);
573 void HighlightEdges(
int highlight);
580 void SetEdgesColor(
double,
double,
double);
581 void SetEdgesColor(
double c[3]);
597 void SetIntersectionEdgesColor(
double,
double,
double);
598 void SetIntersectionEdgesColor(
double c[3]);
605 void HighlightNormal(
int highlight);
621 void HighlightSphere(
int highlight);
627 void ComputeAdaptivePickerTolerance();
636 void Rotate(
double X,
double Y,
double* p1,
double* p2,
double* vpn);
637 void Rotate3D(
double* p1,
double* p2);
638 void TranslateOutline(
double* p1,
double* p2);
639 void TranslateOrigin(
double* p1,
double* p2);
640 void UpdatePose(
double* p1,
double* d1,
double* p2,
double* d2);
641 void Push(
double* p1,
double* p2);
642 void ResizeRadius(
double* p1,
double* p2,
double* vpn);
643 void ResizeRadius3D(
double* p1,
double* p2);
644 void Scale(
double* p1,
double* p2,
double X,
double Y);
660 virtual void CreateDefaultProperties();
virtual void SetAlwaysSnapToNearestAxis(bool snap)
Forces the plane's normal to be aligned with x, y or z axis.
Cut vtkDataSet with user-specified implicit function.
vtkNew< vtkPolyDataMapper > IntersectionEdgesMapper
vtkNew< vtkCellPicker > CellPicker
represents an object (geometry & properties) in a rendered scene
vtkNew< vtkProperty > SelectedOutlineProperty
vtkNew< vtkActor > ConeActor2
vtkNew< vtkActor > EdgesActor
bool AlwaysSnapToNearestAxis
abstract specification for Viewports
represent surface properties of a geometric object
vtkNew< vtkActor > OutlineActor
virtual double GetRadiusMultiplierMaxValue()
Set/Get the Radius Multiplier value.
vtkNew< vtkSphereSource > Sphere
vtkNew< vtkDiskSource > DiskPlaneSource
#define VTK_DEPRECATED_IN_9_2_0(reason)
vtkNew< vtkFeatureEdges > IntersectionEdges
vtkTypeBool DrawIntersectionEdges
map scalar values into colors via a lookup table
vtkNew< vtkProperty > SelectedEdgesProperty
vtkNew< vtkPolyDataMapper > LineMapper
void SetZTranslationAxisOn()
Toggles constraint translation axis on/off.
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetTranslationAxisOff()
Toggles constraint translation axis on/off.
vtkNew< vtkPolyDataMapper > ConeMapper2
vtkNew< vtkTubeFilter > EdgesTuber
vtkNew< vtkActor > ConeActor
vtkNew< vtkHardwarePicker > HardwarePicker
vtkNew< vtkLineSource > LineSource
vtkPlane * GetUnderlyingPlane()
void SetYTranslationAxisOn()
Toggles constraint translation axis on/off.
window superclass for vtkRenderWindow
platform-independent render window interaction including picking and frame rate control.
create wireframe outline for an arbitrary data set or composite dataset
vtkNew< vtkProperty > IntersectionEdgesProperty
create a polygonal sphere centered at the origin
vtkNew< vtkProperty > SelectedPlaneProperty
vtkTypeBool ConstrainToWidgetBounds
Superclass for algorithms that produce only polydata as output.
filter that generates tubes around lines
vtkTypeBool ConstrainMaximumSizeToWidgetBounds
a simple class to control print indentation
vtkNew< vtkProperty > SphereProperty
vtkTypeBool NormalToXAxis
extract interior, boundary, non-manifold, and/or sharp edges from polygonal data
vtkTypeBool LockNormalToCamera
topologically and geometrically regular array of data
vtkNew< vtkActor > LineActor
vtkTypeBool OutlineTranslation
vtkNew< vtkConeSource > ConeSource2
vtkNew< vtkProperty > SelectedSphereProperty
vtkNew< vtkProperty > NormalProperty
vtkNew< vtkPolyDataMapper > EdgesMapper
vtkNew< vtkProperty > EdgesProperty
perform various plane computations
vtkNew< vtkConeSource > ConeSource
vtkNew< vtkPolyDataMapper > PlaneMapper
pick a point or snap to point of an actor/prop using graphics hardware
a class defining the representation for a vtkDisplaySizedImplicitPlaneWidget
vtkNew< vtkOutlineFilter > Outline
#define VTK_SIZEHINT(...)
vtkNew< vtkActor > PlaneActor
vtkNew< vtkTubeFilter > IntersectionEdgesTuber
vtkNew< vtkImageData > Box
vtkNew< vtkActor > SphereActor
create a line defined by two end points
map vtkPolyData to graphics primitives
vtkNew< vtkProperty > PlaneProperty
vtkNew< vtkProperty > OutlineProperty
create a disk with hole in center
vtkNew< vtkPolyDataMapper > ConeMapper
bool IsTranslationConstrained()
Returns true if ContrainedAxis.
vtkTypeBool NormalToZAxis
vtkTypeBool OutsideBounds
void SetXTranslationAxisOn()
Toggles constraint translation axis on/off.
ray-cast cell picker for all kinds of Prop3Ds
vtkNew< vtkFeatureEdges > Edges
vtkNew< vtkBox > BoundingBox
vtkNew< vtkProperty > SelectedNormalProperty
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkTransform > Transform
vtkNew< vtkCutter > Cutter
vtkTypeBool NormalToYAxis
implicit function for a bounding box
vtkNew< vtkActor > IntersectionEdgesActor
vtkNew< vtkPolyDataMapper > OutlineMapper
vtkNew< vtkPolyDataMapper > SphereMapper