Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkMRMLGlyphableVolumeSliceDisplayNode.h
Go to the documentation of this file.
1/*=auto=========================================================================
2
3 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4
5 See COPYRIGHT.txt
6 or http://www.slicer.org/copyright/copyright.txt for details.
7
8 Program: 3D Slicer
9 Module: $RCSfile: vtkMRMLGlyphableVolumeSliceDisplayNode.h,v $
10 Date: $Date: 2006/03/19 17:12:28 $
11 Version: $Revision: 1.6 $
12
13 =========================================================================auto=*/
14
15#ifndef __vtkMRMLGlyphableVolumeSliceDisplayNode_h
16#define __vtkMRMLGlyphableVolumeSliceDisplayNode_h
17
18#include <string>
19
20#include "vtkMRML.h"
22#include "vtkPolyData.h"
23
24class vtkTransform;
25class vtkTransformPolyDataFilter;
26class vtkMatrix4x4;
27class vtkImageData;
28
36{
37public:
40 void PrintSelf(ostream& os, vtkIndent indent) override;
41
42 //--------------------------------------------------------------------------
44 //--------------------------------------------------------------------------
45
47
50 void ReadXMLAttributes(const char** atts) override;
51
54 void WriteXML(ostream& of, int indent) override;
55
58 void Copy(vtkMRMLNode* node) override;
59
62 const char* GetNodeTagName() override { return "GlyphableVolumeSliceDisplayNode"; }
63
67 void UpdateReferences() override;
68
69 void UpdateReferenceID(const char* oldID, const char* newID) override { Superclass::UpdateReferenceID(oldID, newID); }
70
73 void UpdateScene(vtkMRMLScene* scene) override;
74
77 void ProcessMRMLEvents(vtkObject* /*caller*/, unsigned long /*event*/, void* /*callData*/) override;
78
83 vtkAlgorithmOutput* GetOutputMeshConnection() override;
84
89 vtkPolyData* GetOutputMesh() override;
90
94 virtual vtkPolyData* GetSliceOutputPolyData();
95
98 void UpdateAssignedAttribute() override;
99
104 virtual void SetSliceImagePort(vtkAlgorithmOutput* imagePort);
105 vtkGetObjectMacro(SliceImagePort, vtkAlgorithmOutput);
109 virtual vtkAlgorithmOutput* GetSliceOutputPort();
110
113 virtual void SetSlicePositionMatrix(vtkMatrix4x4* matrix);
114
117 virtual void SetSliceGlyphRotationMatrix(vtkMatrix4x4* matrix);
118
119 //--------------------------------------------------------------------------
121 //--------------------------------------------------------------------------
122
123 //--------------------------------------------------------------------------
127 //--------------------------------------------------------------------------
128
129 enum
130 {
135 };
136
137 //--------------------------------------------------------------------------
139 //--------------------------------------------------------------------------
140
143 vtkGetMacro(ColorMode, int);
144 vtkSetMacro(ColorMode, int);
145
149
153
158
167
168 //--------------------------------------------------------------------------
170 //--------------------------------------------------------------------------
171
172 //--------------------------------------------------------------------------
174 //--------------------------------------------------------------------------
175protected:
180
182 virtual void SetInputToPolyDataPipeline(vtkAlgorithmOutput* glyphPolyData);
183
184 vtkAlgorithmOutput* SliceImagePort;
185 vtkTransform* SliceToXYTransform;
186 vtkTransformPolyDataFilter* SliceToXYTransformer;
187 vtkMatrix4x4* SliceToXYMatrix;
188
191};
192
193#endif
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
virtual void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix)
Set slice to IJK transformation.
vtkPolyData * GetOutputMesh() override
virtual vtkPolyData * GetSliceOutputPolyData()
void operator=(const vtkMRMLGlyphableVolumeSliceDisplayNode &)
void SetColorModeToSolid()
Color by solid color (for example the whole fiber bundle red. blue, etc.)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, UnstructuredGrid)
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
void PrintSelf(ostream &os, vtkIndent indent) override
vtkAlgorithmOutput * GetOutputMeshConnection() override
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
vtkMRMLGlyphableVolumeSliceDisplayNode()
Display Information: ColorMode for glyphs.
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
void UpdateAssignedAttribute() override
Update the pipeline based on this node attributes.
virtual vtkAlgorithmOutput * GetSliceOutputPort()
void SetColorModeToScalar()
Color according to the tensors using various scalar invariants.
virtual void SetSlicePositionMatrix(vtkMatrix4x4 *matrix)
Set slice to RAS transformation.
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
virtual void SetInputToPolyDataPipeline(vtkAlgorithmOutput *glyphPolyData)
Ignore input polydata as it takes a volume slice as input.
static vtkMRMLGlyphableVolumeSliceDisplayNode * New()
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
virtual void SetSliceImagePort(vtkAlgorithmOutput *imagePort)
vtkMRMLGlyphableVolumeSliceDisplayNode(const vtkMRMLGlyphableVolumeSliceDisplayNode &)
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML (MRML) file.
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
friend class vtkMRMLScene