Slicer  5.1
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 ) 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.