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
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{
37 public:
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
56
59 void Copy ( vtkMRMLNode *node ) override;
60
63 const char* GetNodeTagName () override {return "GlyphableVolumeSliceDisplayNode";}
64
68 void UpdateReferences() override;
69
70 void UpdateReferenceID(const char *oldID, const char *newID) override
71 { Superclass::UpdateReferenceID(oldID, newID); }
72
75 void UpdateScene(vtkMRMLScene *scene) override;
76
77
80 void ProcessMRMLEvents ( vtkObject * /*caller*/,
81 unsigned long /*event*/,
82 void * /*callData*/ ) override;
83
84
89 vtkAlgorithmOutput* GetOutputMeshConnection() override;
90
95 vtkPolyData* GetOutputMesh() override;
96
100 virtual vtkPolyData* GetSliceOutputPolyData();
101
104 void UpdateAssignedAttribute() override;
105
110 virtual void SetSliceImagePort(vtkAlgorithmOutput *imagePort);
111 vtkGetObjectMacro(SliceImagePort, vtkAlgorithmOutput);
115 virtual vtkAlgorithmOutput* GetSliceOutputPort();
116
119 virtual void SetSlicePositionMatrix(vtkMatrix4x4 *matrix);
120
123 virtual void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix);
124
125 //--------------------------------------------------------------------------
127 //--------------------------------------------------------------------------
128
129
130 //--------------------------------------------------------------------------
134 //--------------------------------------------------------------------------
135
136 enum
137 {
142 };
143
144 //--------------------------------------------------------------------------
146 //--------------------------------------------------------------------------
147
150 vtkGetMacro ( ColorMode, int );
151 vtkSetMacro ( ColorMode, int );
152
156 this->SetColorMode ( this->colorModeSolid );
157 };
158
162 this->SetColorMode ( this->colorModeScalar );
163 };
164
171
182
183
184
185 //--------------------------------------------------------------------------
187 //--------------------------------------------------------------------------
188
189
190 //--------------------------------------------------------------------------
192 //--------------------------------------------------------------------------
193 protected:
198
200 virtual void SetInputToPolyDataPipeline(vtkAlgorithmOutput* glyphPolyData);
201
202 vtkAlgorithmOutput *SliceImagePort;
203 vtkTransform *SliceToXYTransform;
204 vtkTransformPolyDataFilter *SliceToXYTransformer;
205 vtkMatrix4x4 *SliceToXYMatrix;
206
207
210
211
212};
213
214#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 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
void operator=(const vtkMRMLModelDisplayNode &)
friend class vtkMRMLScene