30 #ifndef vtkBorderRepresentation_h
31 #define vtkBorderRepresentation_h
35 #include "vtkInteractionWidgetsModule.h"
36 #include "vtkLegacy.h"
41 VTK_ABI_NAMESPACE_BEGIN
77 vtkViewportCoordinateMacro(
Position);
78 vtkViewportCoordinateMacro(Position2);
100 virtual void SetShowBorder(
int border);
101 virtual int GetShowBorderMinValue();
102 virtual int GetShowBorderMaxValue();
103 virtual int GetShowBorder();
115 vtkSetClampMacro(ShowVerticalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
116 vtkGetMacro(ShowVerticalBorder,
int);
125 vtkSetClampMacro(ShowHorizontalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
126 vtkGetMacro(ShowHorizontalBorder,
int);
142 virtual void SetShowPolygon(
int border);
143 virtual int GetShowPolygon();
155 vtkSetClampMacro(ShowPolygonBackground,
int, BORDER_OFF, BORDER_ACTIVE);
156 vtkGetMacro(ShowPolygonBackground,
int);
170 vtkSetMacro(EnforceNormalizedViewportBounds,
vtkTypeBool);
171 vtkGetMacro(EnforceNormalizedViewportBounds,
vtkTypeBool);
172 vtkBooleanMacro(EnforceNormalizedViewportBounds,
vtkTypeBool);
198 vtkSetVector2Macro(MinimumNormalizedViewportSize,
double);
199 vtkGetVector2Macro(MinimumNormalizedViewportSize,
double);
210 vtkSetVector2Macro(MinimumSize,
int);
211 vtkGetVector2Macro(MinimumSize,
int);
212 vtkSetVector2Macro(MaximumSize,
int);
213 vtkGetVector2Macro(MaximumSize,
int);
224 vtkSetClampMacro(Tolerance,
int, 1, 10);
225 vtkGetMacro(Tolerance,
int);
233 vtkGetVectorMacro(SelectionPoint,
double, 2);
270 virtual void SetWindowLocation(
int enumLocation);
271 vtkGetMacro(WindowLocation,
int);
280 virtual void UpdateWindowLocation();
298 #if !defined(VTK_LEGACY_REMOVE)
303 vtkSetClampMacro(InteractionState,
int, 0, AdjustingE3);
341 "SetBWActorDisplayOverlay is deprecated. Use "
342 "SetBWActorDisplayOverlayEdges or SetBWActorDisplayOverlayPolygon instead.")
343 void SetBWActorDisplayOverlay(
bool);
345 void SetBWActorDisplayOverlayEdges(
bool);
346 void SetBWActorDisplayOverlayPolygon(
bool);
353 vtkSetVector3Macro(BorderColor,
double);
354 vtkGetVector3Macro(BorderColor,
double);
363 vtkGetMacro(BorderThickness,
float);
375 vtkSetClampMacro(CornerRadiusStrength,
double, 0.0, 1.0);
376 vtkGetMacro(CornerRadiusStrength,
double);
385 vtkSetClampMacro(CornerResolution,
int, 0, 1000);
386 vtkGetMacro(CornerResolution,
int);
394 vtkSetVector3Macro(PolygonColor,
double);
395 vtkGetVector3Macro(PolygonColor,
double);
403 vtkSetClampMacro(PolygonOpacity,
double, 0.0, 1.0);
404 vtkGetMacro(PolygonOpacity,
double);
411 void SetPolygonRGBA(
double rgba[4]);
412 void SetPolygonRGBA(
double r,
double g,
double b,
double a);
417 void GetPolygonRGBA(
double rgba[4]);
418 void GetPolygonRGBA(
double& r,
double& g,
double& b,
double& a);
423 ~vtkBorderRepresentation() override;
426 int ShowVerticalBorder = BORDER_ON;
427 int ShowHorizontalBorder = BORDER_ON;
428 int ShowPolygonBackground = BORDER_ON;
435 double SelectionPoint[2] = { 0.0, 0.0 };
442 int WindowLocation = AnyLocation;
447 virtual void NegotiateLayout();
452 virtual void UpdateShowBorder();
455 double StartPosition[2];
471 double MinimumNormalizedViewportSize[2] = { 0.0, 0.0 };
472 int MinimumSize[2] = { 1, 1 };
476 double BorderColor[3] = { 1.0, 1.0, 1.0 };
477 float BorderThickness = 1.0;
478 double CornerRadiusStrength = 0.0;
479 int CornerResolution = 20;
482 double PolygonColor[3] = { 1.0, 1.0, 1.0 };
483 double PolygonOpacity = 0.0;
488 void ComputeRoundCorners();
505 VTK_ABI_NAMESPACE_END
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