Slicer  4.8
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 
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.