39#ifndef vtkBorderRepresentation_h
40#define vtkBorderRepresentation_h
43#include "vtkInteractionWidgetsModule.h"
83 vtkViewportCoordinateMacro(Position);
84 vtkViewportCoordinateMacro(Position2);
120 vtkSetClampMacro(ShowVerticalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
121 vtkGetMacro(ShowVerticalBorder,
int);
129 vtkSetClampMacro(ShowHorizontalBorder,
int, BORDER_OFF, BORDER_ACTIVE);
130 vtkGetMacro(ShowHorizontalBorder,
int);
179 vtkSetVector2Macro(MinimumNormalizedViewportSize,
double);
180 vtkGetVector2Macro(MinimumNormalizedViewportSize,
double);
191 vtkSetVector2Macro(MinimumSize,
int);
192 vtkGetVector2Macro(MinimumSize,
int);
193 vtkSetVector2Macro(MaximumSize,
int);
194 vtkGetVector2Macro(MaximumSize,
int);
205 vtkSetClampMacro(Tolerance,
int, 1, 10);
206 vtkGetMacro(Tolerance,
int);
214 vtkGetVectorMacro(SelectionPoint,
double, 2);
244 vtkSetClampMacro(InteractionState,
int, 0, AdjustingE3);
288 vtkSetVector3Macro(BorderColor,
double);
289 vtkGetVector3Macro(BorderColor,
double);
298 vtkGetMacro(BorderThickness,
float);
310 vtkSetClampMacro(CornerRadiusStrength,
double, 0.0, 1.0);
311 vtkGetMacro(CornerRadiusStrength,
double);
320 vtkSetClampMacro(CornerResolution,
int, 0, 1000);
321 vtkGetMacro(CornerResolution,
int);
329 vtkSetVector3Macro(PolygonColor,
double);
330 vtkGetVector3Macro(PolygonColor,
double);
338 vtkSetClampMacro(PolygonOpacity,
double, 0.0, 1.0);
339 vtkGetMacro(PolygonOpacity,
double);
361 int ShowVerticalBorder = BORDER_ON;
362 int ShowHorizontalBorder = BORDER_ON;
369 double SelectionPoint[2] = { 0.0, 0.0 };
386 double StartPosition[2];
402 double MinimumNormalizedViewportSize[2] = { 0.0, 0.0 };
403 int MinimumSize[2] = { 1, 1 };
407 double BorderColor[3] = { 1.0, 1.0, 1.0 };
408 float BorderThickness = 1.0;
409 double CornerRadiusStrength = 0.0;
410 int CornerResolution = 20;
413 double PolygonColor[3] = { 1.0, 1.0, 1.0 };
414 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 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 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.
_InteractionState
Define the various states that the representation can be in.
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 SetBWActorDisplayOverlay(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.
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 GetShowBorderMaxValue()
Specify when and if the border should appear.
void PrintSelf(ostream &os, vtkIndent indent) override
Define standard methods.
vtkNew< vtkPoints > BWPoints
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 ComputeOneRoundCorner(vtkCellArray *polys, vtkPoints *points, const double radius, vtkIdType xPt, vtkIdType yPt, const double startAngle)
Create a quarter circle centered in point[idCenterX].x, point[idCenterY].y), of radius 'radius' with ...
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