Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
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 
24 class vtkTransform;
25 class vtkTransformPolyDataFilter;
26 class vtkMatrix4x4;
27 class vtkImageData;
28 
36 {
37  public:
40  void PrintSelf ( ostream& os, vtkIndent indent ) VTK_OVERRIDE;
41 
42  //--------------------------------------------------------------------------
44  //--------------------------------------------------------------------------
45 
46  virtual vtkMRMLNode* CreateNodeInstance () VTK_OVERRIDE;
47 
50  virtual void ReadXMLAttributes ( const char** atts ) VTK_OVERRIDE;
51 
54  virtual void WriteXML ( ostream& of, int indent ) VTK_OVERRIDE;
55 
56 
59  virtual void Copy ( vtkMRMLNode *node ) VTK_OVERRIDE;
60 
63  virtual const char* GetNodeTagName () VTK_OVERRIDE {return "GlyphableVolumeSliceDisplayNode";}
64 
68  virtual void UpdateReferences() VTK_OVERRIDE;
69 
70  virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE
71  { Superclass::UpdateReferenceID(oldID, newID); }
72 
75  virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE;
76 
77 
80  virtual void ProcessMRMLEvents ( vtkObject * /*caller*/,
81  unsigned long /*event*/,
82  void * /*callData*/ ) VTK_OVERRIDE;
83 
84 
89  virtual vtkAlgorithmOutput* GetOutputMeshConnection() VTK_OVERRIDE;
90 
95  virtual vtkPolyData* GetOutputMesh() VTK_OVERRIDE;
96 
100  virtual vtkPolyData* GetSliceOutputPolyData();
101 
104  virtual void UpdateAssignedAttribute() VTK_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:
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
virtual vtkPointSet * GetOutputMesh()
void SetColorModeToScalar()
Color according to the tensors using various scalar invariants.
static vtkMRMLModelDisplayNode * New()
void SetColorModeToSolid()
Color by solid color (for example the whole fiber bundle red. blue, etc.)
MRML node to represent a display property of 3D surface model.
virtual vtkAlgorithmOutput * GetOutputMeshConnection()
virtual void UpdateReferences() VTK_OVERRIDE
virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE
Update the stored reference to another node in the scene.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE
Update the stored reference to another node in the scene.
virtual void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) VTK_OVERRIDE
MRML node to represent display properties for tractography.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE
Create instance of the default node. Like New only virtual.
virtual void UpdateAssignedAttribute()
void operator=(const vtkMRMLModelDisplayNode &)
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE
Finds the storage node and read the data.