Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkSlicerLineRepresentation2D.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Copyright (c) ProxSim ltd., Kwun Tong, Hong Kong. All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8 Unless required by applicable law or agreed to in writing, software
9 distributed under the License is distributed on an "AS IS" BASIS,
10 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 See the License for the specific language governing permissions and
12 limitations under the License.
13
14 This file was originally developed by Davide Punzo, punzodavide@hotmail.it,
15 and development was supported by ProxSim ltd.
16
17=========================================================================*/
18
29
30#ifndef vtkSlicerLineRepresentation2D_h
31#define vtkSlicerLineRepresentation2D_h
32
33#include "vtkSlicerMarkupsModuleVTKWidgetsExport.h"
35
36class vtkTubeFilter;
37class vtkSampleImplicitFunctionFilter;
38
40
41class VTK_SLICER_MARKUPS_MODULE_VTKWIDGETS_EXPORT vtkSlicerLineRepresentation2D : public vtkSlicerMarkupsWidgetRepresentation2D
42{
43public:
46
49 void PrintSelf(ostream& os, vtkIndent indent) override;
50
54 void UpdateFromMRMLInternal(vtkMRMLNode* caller, unsigned long event, void *callData=nullptr) override;
55
56 void CanInteract(vtkMRMLInteractionEventData* interactionEventData,
57 int &foundComponentType, int &foundComponentIndex, double &closestDistance2) override;
58
60 void GetActors(vtkPropCollection *) override;
61 void ReleaseGraphicsResources(vtkWindow *) override;
62 int RenderOverlay(vtkViewport *viewport) override;
63 int RenderOpaqueGeometry(vtkViewport *viewport) override;
64 int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override;
65 vtkTypeBool HasTranslucentPolygonalGeometry() override;
66
68 double* GetBounds() VTK_SIZEHINT(6) override;
69
70protected:
73
74 void SetMarkupsNode(vtkMRMLMarkupsNode *markupsNode) override;
75
76 vtkSmartPointer<vtkPolyData> Line;
77 vtkSmartPointer<vtkPolyDataMapper2D> LineMapper;
78 vtkSmartPointer<vtkActor2D> LineActor;
79 vtkSmartPointer<vtkDiscretizableColorTransferFunction> LineColorMap;
80
81 vtkSmartPointer<vtkTubeFilter> TubeFilter;
82
83 vtkSmartPointer<vtkTransformPolyDataFilter> WorldToSliceTransformer;
84 vtkSmartPointer<vtkSampleImplicitFunctionFilter> SliceDistance;
85
86private:
88 void operator=(const vtkSlicerLineRepresentation2D&) = delete;
89};
90
91#endif
Abstract Superclass for all specific types of MRML nodes.
void CanInteract(vtkMRMLInteractionEventData *interactionEventData, int &foundComponentType, int &foundComponentIndex, double &closestDistance2) override
int RenderOpaqueGeometry(vtkViewport *viewport) override
void GetActors(vtkPropCollection *) override
Methods to make this class behave as a vtkProp.
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
void ReleaseGraphicsResources(vtkWindow *) override
vtkSmartPointer< vtkPolyDataMapper2D > LineMapper
void SetMarkupsNode(vtkMRMLMarkupsNode *markupsNode) override
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSmartPointer< vtkPolyData > Line
double * GetBounds() VTK_SIZEHINT(6) override
Return the bounds of the representation.
vtkSmartPointer< vtkTubeFilter > TubeFilter
int RenderOverlay(vtkViewport *viewport) override
void UpdateFromMRMLInternal(vtkMRMLNode *caller, unsigned long event, void *callData=nullptr) override
vtkTypeBool HasTranslucentPolygonalGeometry() override
vtkSmartPointer< vtkActor2D > LineActor
vtkSmartPointer< vtkSampleImplicitFunctionFilter > SliceDistance
vtkSmartPointer< vtkDiscretizableColorTransferFunction > LineColorMap
static vtkSlicerLineRepresentation2D * New()
Instantiate this class.
vtkSmartPointer< vtkTransformPolyDataFilter > WorldToSliceTransformer