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
vtkMRMLTransformHandleWidgetRepresentation.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Copyright (c) Laboratory for Percutaneous Surgery (PerkLab)
4 Queen's University, Kingston, ON, Canada. All Rights Reserved.
5
6 See COPYRIGHT.txt
7 or http://www.slicer.org/copyright/copyright.txt for details.
8
9 Unless required by applicable law or agreed to in writing, software
10 distributed under the License is distributed on an "AS IS" BASIS,
11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 See the License for the specific language governing permissions and
13 limitations under the License.
14
15 This file was originally developed by Kyle Sunderland, PerkLab, Queen's University
16 and was supported through CANARIE's Research Software Program, Cancer
17 Care Ontario, OpenAnatomy, and Brigham and Women's Hospital through NIH grant R01MH112748.
18
19==============================================================================*/
20
27
28#ifndef vtkMRMLTransformHandleWidgetRepresentation_h
29#define vtkMRMLTransformHandleWidgetRepresentation_h
30
31#include "vtkSlicerTransformsModuleMRMLDisplayableManagerExport.h"
32
33// MRMLDM includes
35
36// MRML includes
38
39// VTK includes
40#include <vtkArrayCalculator.h>
41#include <vtkOutlineSource.h>
42
43class VTK_SLICER_TRANSFORMS_MODULE_MRMLDISPLAYABLEMANAGER_EXPORT vtkMRMLTransformHandleWidgetRepresentation
45{
46public:
49
53 void PrintSelf(ostream& os, vtkIndent indent) override;
55
56 virtual int GetActiveComponentType() override;
57 virtual void SetActiveComponentType(int type) override;
58 virtual int GetActiveComponentIndex() override;
59 virtual void SetActiveComponentIndex(int type) override;
60
62 virtual void SetDisplayNode(vtkMRMLTransformDisplayNode* displayNode);
63
65
67
69 void UpdateHandleToWorldTransform(vtkTransform* handleToWorldTransform) override;
70
72 double GetInteractionScalePercent() override;
74 double GetInteractionSizeMm() override;
77
78 bool GetHandleVisibility(int type, int index) override;
79
80 bool IsDisplayable() override;
81
82protected:
85
86 vtkSmartPointer<vtkMRMLTransformDisplayNode> DisplayNode;
87
88private:
90 void operator=(const vtkMRMLTransformHandleWidgetRepresentation&) = delete;
91};
92
93#endif
MRML node to represent display properties for transforms visualization in the slice and 3D viewers.
virtual int GetActiveComponentType() override
double GetInteractionSizeMm() override
Size in mm.
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void SetActiveComponentType(int type) override
virtual void SetDisplayNode(vtkMRMLTransformDisplayNode *displayNode)
void UpdateInteractionPipeline() override
Update the interaction pipeline.
void UpdateHandleToWorldTransform(vtkTransform *handleToWorldTransform) override
double GetInteractionScalePercent() override
Size relative to screen.
vtkSmartPointer< vtkMRMLTransformDisplayNode > DisplayNode
virtual int GetActiveComponentIndex() override
static vtkMRMLTransformHandleWidgetRepresentation * New()
Instantiate this class.
virtual vtkMRMLTransformNode * GetTransformNode()
virtual vtkMRMLTransformDisplayNode * GetDisplayNode()
bool GetInteractionSizeAbsolute() override
True -> size in mm; false -> relative to screen.
bool GetHandleVisibility(int type, int index) override
Get the visibility of the specified handle.
virtual void SetActiveComponentIndex(int type) override
MRML node for representing a transformation between this node space and a parent node space.