32#ifndef vtkSlicerPlaneRepresentation3D_h
33#define vtkSlicerPlaneRepresentation3D_h
35#include "vtkSlicerMarkupsModuleVTKWidgetsExport.h"
39class vtkArrayCalculator;
40class vtkAppendPolyData;
42class vtkGlyph3DMapper;
46class vtkPolyDataMapper;
48class vtkTransformPolyDataFilter;
59 void PrintSelf(ostream& os, vtkIndent indent)
override;
77 bool GetTransformationReferencePoint(
double referencePointWorld[3]) override;
80 int &foundComponentType,
int &foundComponentIndex,
double &closestDistance2) override;
83 int& foundComponentType,
int& foundComponentIndex,
double& closestDistance2);
89 vtkNew<vtkPlaneSource> PlaneFillFilter;
90 vtkNew<vtkArrowSource> ArrowFilter;
91 vtkNew<vtkGlyph3D> ArrowGlypher;
92 vtkNew<vtkPolyData> PlaneOutlineInputPolyData;
93 vtkNew<vtkTubeFilter> PlaneOutlineFilter;
94 vtkNew<vtkArrayCalculator> ArrowColorFilter;
95 vtkNew<vtkArrayCalculator> PlaneOutlineColorFilter;
96 vtkNew<vtkArrayCalculator> PlaneFillColorFilter;
97 vtkNew<vtkAppendPolyData> Append;
99 vtkNew<vtkActor> PlaneActor;
100 vtkNew<vtkActor> PlaneOccludedActor;
102 vtkNew<vtkPolyDataMapper> PlaneMapper;
103 vtkNew<vtkPolyDataMapper> PlaneOccludedMapper;
105 vtkNew<vtkLookupTable> PlaneColorLUT;
107 std::
string LabelFormat;
114 void SetupInteractionPipeline() override;
117 void UpdateInteractionPipeline() override;
Abstract Superclass for all specific types of MRML nodes.
Default representation for the plane widget.
void UpdateHandleVisibility() override
double GetHandleOpacity(int type, int index) override
Get the opacity of the specified handle.
~MarkupsInteractionPipelinePlane() override=default
MarkupsInteractionPipelinePlane(vtkSlicerMarkupsWidgetRepresentation *representation)
void GetInteractionHandleAxisWorld(int type, int index, double axis[3]) override
Get the direction vector of the interaction handle from the interaction origin in world coordinates.
virtual void UpdateScaleHandles()
void CreateScaleHandles() override
void GetHandleColor(int type, int index, double color[4]) override
HandleInfoList GetHandleInfoList() override
Get the list of info for all interaction handles.
Default representation for the plane widget.
void PrintSelf(ostream &os, vtkIndent indent) override
void UpdateFromMRMLInternal(vtkMRMLNode *caller, unsigned long event, void *callData=nullptr) override
static vtkSlicerPlaneRepresentation3D * New()
Instantiate this class.
int RenderOverlay(vtkViewport *viewport) override
void ReleaseGraphicsResources(vtkWindow *) override
double * GetBounds() VTK_SIZEHINT(6) override
Return the bounds of the representation.
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
vtkTypeBool HasTranslucentPolygonalGeometry() override
int RenderOpaqueGeometry(vtkViewport *viewport) override
void GetActors(vtkPropCollection *) override
Methods to make this class behave as a vtkProp.