Slicer  5.0
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 ) override;
41 
42  //--------------------------------------------------------------------------
44  //--------------------------------------------------------------------------
45 
46  vtkMRMLNode* CreateNodeInstance () override;
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:
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
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
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()
const char * GetNodeTagName() override
Get node XML tag name (like Volume, UnstructuredGrid)
void UpdateReferences() override
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
virtual void Copy(vtkMRMLNode *node)
Copy node contents from another node of the same type. Does not copy node ID and Scene. Performs deep copy - an independent copy is created from all data, including bulk data.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
MRML node to represent display properties for tractography.
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
void operator=(const vtkMRMLModelDisplayNode &)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void UpdateAssignedAttribute() override
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) override
void WriteXML(ostream &of, int indent) override
Write this node&#39;s information to a MRML file in XML format.