Slicer 5.4
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{
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 {
138 colorModeSolid = 0,
139 colorModeScalar = 1,
140 colorModeFunctionOfScalar = 2,
141 colorModeUseCellScalars = 3
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
169 this->SetColorMode ( this->colorModeFunctionOfScalar );
170 };
171
180 this->SetColorMode ( this->colorModeUseCellScalars );
181 };
182
183
184
185 //--------------------------------------------------------------------------
187 //--------------------------------------------------------------------------
188
189
190 //--------------------------------------------------------------------------
192 //--------------------------------------------------------------------------
193 protected:
197 void operator= ( const vtkMRMLGlyphableVolumeSliceDisplayNode& );
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
MRML node to represent display properties for tractography.
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
MRML node to represent a display property of 3D surface model.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.