34 #ifndef __vtkAnnotationROIRepresentation2D_h 35 #define __vtkAnnotationROIRepresentation2D_h 41 class vtkSphereSource;
46 class vtkPolyDataAlgorithm;
47 class vtkPointHandleRepresentation2D;
55 class vtkPolyDataMapper2D;
58 class vtkTransformPolyDataFilter;
61 class VTK_SLICER_ANNOTATIONS_MODULE_VTKWIDGETS_EXPORT
73 void PrintSelf(ostream& os, vtkIndent indent)
override;
77 vtkGetObjectMacro(IntersectionPlane,vtkPlane);
80 vtkGetObjectMacro(IntersectionPlaneTransform,vtkTransform);
82 void GetActors2D(vtkPropCollection *actors)
override;
84 void GetIntersectionActors(vtkPropCollection *actors);
96 int RenderOverlay(vtkViewport *viewport)
override;
102 vtkGetMacro(SliceIntersectionVisibility,
int);
103 vtkSetMacro(SliceIntersectionVisibility,
int);
105 vtkGetMacro(HandlesVisibility,
int);
106 vtkSetMacro(HandlesVisibility,
int);
114 vtkSetClampMacro(HandleSize,
double, 0.0001, 0.5);
115 vtkGetMacro(HandleSize,
double);
117 void PrintIntersections(ostream& os);
125 virtual void ComputeIntersectionLine(vtkPolyData* inputIntersectionFace, vtkPlane* inputPlane, vtkPolyData* outputIntersectionFacesIntersection);
135 vtkPolyData *IntersectionLines[6];
136 vtkPolyData *IntersectionFaces[6];
137 vtkTransformPolyDataFilter *IntersectionPlaneTransformFilters[6];
138 vtkActor2D *IntersectionActors[6];
139 vtkPolyDataMapper2D *IntersectionMappers[6];
150 double LastEventPosition2D[4];
152 void CreateFaceIntersections();
154 double ComputeHandleRadiusInWorldCoordinates(
double radInPixels);
virtual void CreateDefaultProperties()
int HasTranslucentPolygonalGeometry() override
int SliceIntersectionVisibility
vtkActor2D ** Handle2D
glyphs representing hot spots (e.g., handles)
virtual void SetInteractionState(int state)
virtual void HighlightFace(int cellId)
static const int NUMBER_HANDLES
void ReleaseGraphicsResources(vtkWindow *) override
Methods supporting, and required by, the rendering process.
void StartWidgetInteraction(double e[2]) override
void WidgetInteraction(double e[2]) override
virtual int HighlightHandle(vtkProp *prop)
static vtkAnnotationROIRepresentation * New()
Instantiate the class.
vtkTransformPolyDataFilter ** HandleToPlaneTransformFilters
vtkPropPicker * HandlePicker2D
int RenderTranslucentPolygonalGeometry(vtkViewport *) override
vtkActor2D * CurrentHandle2D
vtkProperty2D * SelectedFaceProperty2D
void PrintSelf(ostream &os, vtkIndent indent) override
int ComputeInteractionState(int X, int Y, int modify=0) override
vtkProperty2D * DefaultFaceProperty2D
vtkProperty2D * SelectedHandleProperty2D
vtkPropPicker * LastPicker2D
virtual void PositionHandles()
vtkPolyDataMapper2D ** HandleMapper2D
vtkPlane * IntersectionPlane
Plane/Face intersection pipelines.
vtkTransform * IntersectionPlaneTransform
int RenderOpaqueGeometry(vtkViewport *) override
virtual void SizeHandles()