Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLGlyphableVolumeDisplayNode.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: vtkMRMLGlyphableVolumeDisplayNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.3 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLGlyphableVolumeDisplayNode_h
16 #define __vtkMRMLGlyphableVolumeDisplayNode_h
17 
18 // MRML includes
20 class vtkMRMLColorNode;
22 class vtkMRMLVolumeNode;
23 
24 // STD includes
25 #include <vector>
26 
31 {
32  public:
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
37  vtkMRMLNode* CreateNodeInstance() override;
38 
41  void ReadXMLAttributes( const char** atts) override;
42 
45  void WriteXML(ostream& of, int indent) override;
46 
49  void Copy(vtkMRMLNode *node) override;
50 
53  const char* GetNodeTagName() override {return "GlyphableVolumeDisplay";}
54 
57  void UpdateReferenceID(const char *oldID, const char *newID) override;
58 
59  //--------------------------------------------------------------------------
61  //--------------------------------------------------------------------------
62 
64  enum
65  {
66  visModeScalar = 0,
67  visModeGlyph = 1,
68  visModeBoth = 2
69  };
70 
71  vtkGetMacro(VisualizationMode, int);
72  vtkSetMacro(VisualizationMode, int);
73 
74  //virtual vtkPolyData* ExecuteGlyphPipeLineAndGetPolyData( vtkImageData* );
75 
77  this->SetVisualizationMode(this->visModeScalar);
78  };
80  this->SetVisualizationMode(this->visModeGlyph);
81  };
83  this->SetVisualizationMode(this->visModeBoth);
84  };
85 
87  void SetSceneReferences() override;
88 
92  void UpdateReferences() override;
93 
96  void UpdateScene(vtkMRMLScene *scene) override;
97 
100  void SetAndObserveGlyphColorNodeID(const char *GlyphColorNodeID);
101  void SetAndObserveGlyphColorNodeID(std::string GlyphColorNodeID);
102  vtkGetStringMacro(GlyphColorNodeID);
103 
106  vtkMRMLColorNode* GetGlyphColorNode();
107 
110  void ProcessMRMLEvents ( vtkObject * /*caller*/,
111  unsigned long /*event*/,
112  void * /*callData*/ ) override;
115  void SetDefaultColorMap(/*int isLabelMap*/) override;
116 
119  virtual std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode*>
121  {
122  vtkErrorMacro("Shouldn't be calling this");
123  return std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode*>();
124  }
125 
126 
129  virtual void AddSliceGlyphDisplayNodes( vtkMRMLVolumeNode* vtkNotUsed(node) )
130  {
131  vtkErrorMacro("Shouldn't be calling this");
132  }
133 
137  void GetDisplayScalarRange(double range[2]) override
138  {
139  this->Superclass::GetDisplayScalarRange(range);
140  }
141 
142 protected:
147 
149 
150  void SetGlyphColorNodeID(const char* id);
151 
153 
155 
156 };
157 
158 #endif
159 
virtual std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode * > GetSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node))
get associated slice glyph display node or nullptr if not set
void operator=(const vtkMRMLScalarVolumeDisplayNode &)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
void SetDefaultColorMap() override
set gray colormap or override in subclass
void GetDisplayScalarRange(double range[2]) override
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data
static vtkMRMLScalarVolumeDisplayNode * New()
void Copy(vtkMRMLNode *node) override
Copy the node&#39;s attributes to this object
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
MRML node to represent display properties for tractography.
void WriteXML(ostream &of, int indent) override
Write this node&#39;s information to a MRML file in XML format.
Abstract MRML node to represent color information.
void UpdateReferences() override
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
MRML node for representing a volume (image stack).
virtual void AddSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node))
add slice glyph display nodes if not already present and return it
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
void PrintSelf(ostream &os, vtkIndent indent) override
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void SetSceneReferences() override
Mark the color and views nodes as references.
MRML node for representing a volume display attributes.
MRML node for representing a volume display attributes.