89#ifndef vtkBorderRepresentation_h
90#define vtkBorderRepresentation_h
93#include "vtkInteractionWidgetsModule.h"
99VTK_ABI_NAMESPACE_BEGIN
136 vtkViewportCoordinateMacro(Position);
137 vtkViewportCoordinateMacro(Position2);
174 vtkSetClampMacro(ShowVerticalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
175 vtkGetMacro(ShowVerticalBorder,
int);
184 vtkSetClampMacro(ShowHorizontalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
185 vtkGetMacro(ShowHorizontalBorder,
int);
214 vtkSetClampMacro(ShowPolygonBackground,
int, BORDER_OFF, BORDER_ACTIVE);
215 vtkGetMacro(ShowPolygonBackground,
int);
255 vtkSetVector2Macro(MinimumNormalizedViewportSize,
double);
256 vtkGetVector2Macro(MinimumNormalizedViewportSize,
double);
267 vtkSetVector2Macro(MinimumSize,
int);
268 vtkGetVector2Macro(MinimumSize,
int);
269 vtkSetVector2Macro(MaximumSize,
int);
270 vtkGetVector2Macro(MaximumSize,
int);
281 vtkSetClampMacro(Tolerance,
int, 1, 10);
282 vtkGetMacro(Tolerance,
int);
290 vtkGetVectorMacro(SelectionPoint,
double, 2);
328 vtkGetMacro(WindowLocation,
int);
356 vtkSetClampMacro(InteractionState,
int, 0, AdjustingE3);
401 vtkSetVector3Macro(BorderColor,
double);
402 vtkGetVector3Macro(BorderColor,
double);
411 vtkGetMacro(BorderThickness,
float);
423 vtkSetClampMacro(CornerRadiusStrength,
double, 0.0, 1.0);
424 vtkGetMacro(CornerRadiusStrength,
double);
433 vtkSetClampMacro(CornerResolution,
int, 0, 1000);
434 vtkGetMacro(CornerResolution,
int);
442 vtkSetVector3Macro(PolygonColor,
double);
443 vtkGetVector3Macro(PolygonColor,
double);
451 vtkSetClampMacro(PolygonOpacity,
double, 0.0, 1.0);
452 vtkGetMacro(PolygonOpacity,
double);
474 int ShowVerticalBorder = BORDER_ON;
475 int ShowHorizontalBorder = BORDER_ON;
476 int ShowPolygonBackground = BORDER_ON;
483 double SelectionPoint[2] = { 0.0, 0.0 };
490 int WindowLocation = AnyLocation;
503 double StartPosition[2];
519 double MinimumNormalizedViewportSize[2] = { 0.0, 0.0 };
520 int MinimumSize[2] = { 1, 1 };
524 double BorderColor[3] = { 1.0, 1.0, 1.0 };
525 float BorderThickness = 1.0;
526 double CornerRadiusStrength = 0.0;
527 int CornerResolution = 20;
530 double PolygonColor[3] = { 1.0, 1.0, 1.0 };
531 double PolygonOpacity = 0.0;
a actor that draws 2D data
represent a vtkBorderWidget
virtual void GetSize(double size[2])
Subclasses should implement these methods.
void ComputeOneRoundCorner(vtkCellArray *polys, vtkPoints *points, double radius, vtkIdType xPt, vtkIdType yPt, double startAngle)
Create a quarter circle centered in point[idCenterX].x, point[idCenterY].y), of radius 'radius' with ...
void SetPolygonRGBA(double r, double g, double b, double a)
Convenience method to set the background color and the opacity at once.
void GetPolygonRGBA(double rgba[4])
Convenience method to get the background color and the opacity at once.
vtkNew< vtkProperty2D > BorderProperty
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
virtual int GetShowBorderMinValue()
Specify when and if the border should appear.
vtkNew< vtkPolyDataMapper2D > BWMapperEdges
void SetShowPolygonToOn()
Specify when and if the border's polygon background should appear.
void GetPolygonRGBA(double &r, double &g, double &b, double &a)
Convenience method to set the background color and the opacity at once.
vtkNew< vtkActor2D > BWActorPolygon
void SetShowBorderToActive()
Specify when and if the border should appear.
void WidgetInteraction(double eventPos[2]) override
Subclasses should implement these methods.
void GetActors2D(vtkPropCollection *) override
These methods are necessary to make this representation behave as a vtkProp.
void SetShowPolygonToOff()
Specify when and if the border's polygon background should appear.
virtual void SetWindowLocation(int enumLocation)
Set the representation position, by enumeration ( AnyLocation = 0, LowerLeftCorner,...
void SetBWActorDisplayOverlayPolygon(bool)
~vtkBorderRepresentation() override
static vtkBorderRepresentation * New()
Instantiate this class.
vtkNew< vtkCoordinate > PositionCoordinate
void ComputeRoundCorners()
Create all 4 round corners with the specified radius and resolution.
vtkBorderRepresentation()
vtkNew< vtkCoordinate > Position2Coordinate
virtual void NegotiateLayout()
vtkTypeBool HasTranslucentPolygonalGeometry() override
These methods are necessary to make this representation behave as a vtkProp.
int ComputeInteractionState(int X, int Y, int modify=0) override
Subclasses should implement these methods.
void SetShowBorderToOn()
Specify when and if the border should appear.
InteractionStateType
Define the various states that the representation can be in.
virtual void SetShowBorder(int border)
Specify when and if the border should appear.
void StartWidgetInteraction(double eventPos[2]) override
Subclasses should implement these methods.
vtkNew< vtkProperty2D > PolygonProperty
vtkNew< vtkTransform > BWTransform
int RenderOpaqueGeometry(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
virtual int GetShowPolygon()
Specify when and if the border's polygon background should appear.
virtual int GetShowBorderMaxValue()
Specify when and if the border should appear.
void PrintSelf(ostream &os, vtkIndent indent) override
Define standard methods.
vtkNew< vtkPoints > BWPoints
virtual void UpdateWindowLocation()
Update window location if a window location is set.
void SetShowPolygonToActive()
Specify when and if the border's polygon background should appear.
vtkNew< vtkPolyDataMapper2D > BWMapperPolygon
int RenderOverlay(vtkViewport *) override
These methods are necessary to make this representation behave as a vtkProp.
void BuildRepresentation() override
Subclasses should implement these methods.
void SetBWActorDisplayOverlayEdges(bool)
virtual void SetShowPolygon(int border)
Specify when and if the border's polygon background should appear.
virtual int GetShowBorder()
Specify when and if the border should appear.
vtkNew< vtkPolyData > PolyDataEdges
void SetPolygonRGBA(double rgba[4])
Convenience method to set the background color and the opacity at once.
vtkNew< vtkActor2D > BWActorEdges
vtkNew< vtkTransformPolyDataFilter > BWTransformFilter
vtkNew< vtkPolyData > BWPolyData
void SetShowBorderToOff()
Specify when and if the border should appear.
vtkNew< vtkPolyData > PolyDataPolygon
void ReleaseGraphicsResources(vtkWindow *) override
These methods are necessary to make this representation behave as a vtkProp.
vtkMTimeType GetMTime() override
Return the MTime of this object.
virtual void UpdateShowBorder()
object to represent cell connectivity
a simple class to control print indentation
Allocate and hold a VTK object.
represent and manipulate 3D points
draw vtkPolyData onto the image plane
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a 2D image
abstract specification for Viewports
window superclass for vtkRenderWindow
vtkTypeUInt32 vtkMTimeType