42 #ifndef vtkBorderRepresentation_h
43 #define vtkBorderRepresentation_h
47 #include "vtkInteractionWidgetsModule.h"
87 vtkViewportCoordinateMacro(
Position);
88 vtkViewportCoordinateMacro(Position2);
110 virtual void SetShowBorder(
int border);
111 virtual int GetShowBorderMinValue();
112 virtual int GetShowBorderMaxValue();
113 virtual int GetShowBorder();
125 vtkSetClampMacro(ShowVerticalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
126 vtkGetMacro(ShowVerticalBorder,
int);
135 vtkSetClampMacro(ShowHorizontalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
136 vtkGetMacro(ShowHorizontalBorder,
int);
152 virtual void SetShowPolygon(
int border);
153 virtual int GetShowPolygon();
165 vtkSetClampMacro(ShowPolygonBackground,
int, BORDER_OFF, BORDER_ACTIVE);
166 vtkGetMacro(ShowPolygonBackground,
int);
180 vtkSetMacro(EnforceNormalizedViewportBounds,
vtkTypeBool);
181 vtkGetMacro(EnforceNormalizedViewportBounds,
vtkTypeBool);
182 vtkBooleanMacro(EnforceNormalizedViewportBounds,
vtkTypeBool);
208 vtkSetVector2Macro(MinimumNormalizedViewportSize,
double);
209 vtkGetVector2Macro(MinimumNormalizedViewportSize,
double);
220 vtkSetVector2Macro(MinimumSize,
int);
221 vtkGetVector2Macro(MinimumSize,
int);
222 vtkSetVector2Macro(MaximumSize,
int);
223 vtkGetVector2Macro(MaximumSize,
int);
234 vtkSetClampMacro(Tolerance,
int, 1, 10);
235 vtkGetMacro(Tolerance,
int);
243 vtkGetVectorMacro(SelectionPoint,
double, 2);
280 virtual void SetWindowLocation(
int enumLocation);
281 vtkGetMacro(WindowLocation,
int);
300 #if !defined(VTK_LEGACY_REMOVE)
305 vtkSetClampMacro(InteractionState,
int, 0, AdjustingE3);
343 "SetBWActorDisplayOverlay is deprecated. Use "
344 "SetBWActorDisplayOverlayEdges or SetBWActorDisplayOverlayPolygon instead.")
345 void SetBWActorDisplayOverlay(
bool);
347 void SetBWActorDisplayOverlayEdges(
bool);
348 void SetBWActorDisplayOverlayPolygon(
bool);
355 vtkSetVector3Macro(BorderColor,
double);
356 vtkGetVector3Macro(BorderColor,
double);
365 vtkGetMacro(BorderThickness,
float);
377 vtkSetClampMacro(CornerRadiusStrength,
double, 0.0, 1.0);
378 vtkGetMacro(CornerRadiusStrength,
double);
387 vtkSetClampMacro(CornerResolution,
int, 0, 1000);
388 vtkGetMacro(CornerResolution,
int);
396 vtkSetVector3Macro(PolygonColor,
double);
397 vtkGetVector3Macro(PolygonColor,
double);
405 vtkSetClampMacro(PolygonOpacity,
double, 0.0, 1.0);
406 vtkGetMacro(PolygonOpacity,
double);
413 void SetPolygonRGBA(
double rgba[4]);
414 void SetPolygonRGBA(
double r,
double g,
double b,
double a);
419 void GetPolygonRGBA(
double rgba[4]);
420 void GetPolygonRGBA(
double& r,
double& g,
double& b,
double& a);
425 ~vtkBorderRepresentation() override;
428 int ShowVerticalBorder = BORDER_ON;
429 int ShowHorizontalBorder = BORDER_ON;
430 int ShowPolygonBackground = BORDER_ON;
437 double SelectionPoint[2] = { 0.0, 0.0 };
444 int WindowLocation = AnyLocation;
445 virtual void UpdateWindowLocation();
450 virtual void NegotiateLayout();
455 virtual void UpdateShowBorder();
458 double StartPosition[2];
474 double MinimumNormalizedViewportSize[2] = { 0.0, 0.0 };
475 int MinimumSize[2] = { 1, 1 };
479 double BorderColor[3] = { 1.0, 1.0, 1.0 };
480 float BorderThickness = 1.0;
481 double CornerRadiusStrength = 0.0;
482 int CornerResolution = 20;
485 double PolygonColor[3] = { 1.0, 1.0, 1.0 };
486 double PolygonOpacity = 0.0;
491 void ComputeRoundCorners();
vtkNew< vtkPolyData > BWPolyData
vtkNew< vtkCoordinate > Position2Coordinate
void SetShowPolygonToOn()
Specify when and if the border's polygon background should appear.
vtkNew< vtkCoordinate > PositionCoordinate
vtkTypeUInt32 vtkMTimeType
abstract specification for Viewports
struct Position_t Position
#define VTK_DEPRECATED_IN_9_2_0(reason)
a actor that draws 2D data
void SetShowBorderToOff()
Specify when and if the border should appear.
vtkNew< vtkPolyDataMapper2D > BWMapperEdges
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkNew< vtkPolyDataMapper2D > BWMapperPolygon
vtkNew< vtkActor2D > BWActorPolygon
window superclass for vtkRenderWindow
virtual void GetSize(double size[2])
Subclasses should implement these methods.
vtkNew< vtkTransformPolyDataFilter > BWTransformFilter
vtkNew< vtkPolyData > PolyDataEdges
void SetShowPolygonToOff()
Specify when and if the border's polygon background should appear.
void SetShowBorderToOn()
Specify when and if the border should appear.
a simple class to control print indentation
void SetShowBorderToActive()
Specify when and if the border should appear.
InteractionStateType
Define the various states that the representation can be in.
virtual vtkMTimeType GetMTime()
Return this object's modified time.
represent a vtkBorderWidget
vtkNew< vtkPoints > BWPoints
void SetShowPolygonToActive()
Specify when and if the border's polygon background should appear.
vtkNew< vtkActor2D > BWActorEdges
object to represent cell connectivity
Allocate and hold a VTK object.
represent surface properties of a 2D image
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkNew< vtkTransform > BWTransform
draw vtkPolyData onto the image plane
represent and manipulate 3D points
vtkNew< vtkPolyData > PolyDataPolygon